Source Code : Update World Extent Geometry

Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com. Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com. Click Here or search from google with Libraries Name you get jar file related it

Update World Extent Geometry

Update World Extent Geometry
import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

import no.geosoft.cc.geometry.Geometry;
import no.geosoft.cc.graphics.*;



/**
 * G demo program. Demonstrates:
 *
 * <ul>
 * <li>Custom move interaction
 * <li>Switching interactions
 * <li>Update world extent geometry
 * <li>Scroll handling
 * </ul>
 * 
 * @author <a href="mailto:jacob.dreyer@geosoft.no">Jacob Dreyer</a>
 */   
public class Demo11 extends JFrame
  implements ActionListener, GInteraction
{
  private JButton   zoomButton_;
  private JButton   moveButton_;
  private GWindow   window_;
  private GSegment  interactionSegment_;
  private int       x0_, y0_;

  
  public Demo11()
  {
    super ("G Graphics Library - Demo 11");    
    setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    
    getContentPane().setLayout (new BorderLayout());
    
    // Create the GUI
    JScrollBar hScrollBar = new JScrollBar (JScrollBar.HORIZONTAL);
    getContentPane().add (hScrollBar, BorderLayout.SOUTH);

    JScrollBar vScrollBar = new JScrollBar (JScrollBar.VERTICAL);
    getContentPane().add (vScrollBar, BorderLayout.EAST);

    JPanel buttonPanel = new JPanel();
    zoomButton_ = new JButton ("Zoom");
    zoomButton_.addActionListener (this);
    buttonPanel.add (zoomButton_);
    
    moveButton_ = new JButton ("Move");
    moveButton_.addActionListener (this);
    buttonPanel.add (moveButton_);    
    getContentPane().add (buttonPanel, BorderLayout.NORTH);
    
    // Create the graphic canvas
    window_ = new GWindow();
    getContentPane().add (window_.getCanvas(), BorderLayout.CENTER);
    
    // Create scane with default viewport and world extent settings
    GScene scene = new GScene (window_);

    // Use a normalized world extent
    double w0[] = {0.0, 0.0, 0.0};
    double w1[] = {1.0, 0.0, 0.0};
    double w2[] = {0.0, 1.0, 0.0};
    scene.setWorldExtent (w0, w1, w2);
    
    // Create a graphic object
    GObject object = new TestObject();
    scene.add (object);

    pack();
    setSize (new Dimension (500, 500));
    setVisible (true);

    window_.startInteraction (new ZoomInteraction (scene));

    scene.shouldWorldExtentFitViewport (false);
    scene.shouldZoomOnResize (false);    
    scene.installScrollHandler (hScrollBar, vScrollBar);
  }


  public void actionPerformed (ActionEvent event)
  {
    if (event.getSource() == zoomButton_)
      window_.startInteraction (new ZoomInteraction (window_.getScene()));
    else
      window_.startInteraction (this);
  }


  
  // Move interaction
  public void event (GScene scene, int event, int x, int y)
  {
    switch (event) {
      case GWindow.BUTTON1_DOWN :
        interactionSegment_ = scene.findSegment (x, y);
        x0_ = x;
        y0_ = y;
        break;
        
      case GWindow.BUTTON1_DRAG :
        int dx = x - x0_;
        int dy = y - y0_;
        if (interactionSegment_ != null) {
          TestObject testObject = (TestObject) interactionSegment_.getOwner();
          testObject.translate (interactionSegment_, dx, dy);
          scene.refresh();
        }
        x0_ = x;
        y0_ = y;
        break;

      case GWindow.BUTTON1_UP :
        interactionSegment_ = null;
        break;
    }
  }
  
  
  
  /**
   * Defines the geometry and presentation for a sample graphic object.
   */   
  private class TestObject extends GObject
  {
    private GSegment[] stars_;
    private double[][] geometry_;
    
    
    TestObject()
    {
      int nStars = 20;

      stars_    = new GSegment[nStars];
      geometry_ = new double[nStars][];
      
      for (int i = 0; i < nStars; i++) {
        stars_[i] = new GSegment();
        stars_[i].setUserData (new Integer(i));
        addSegment (stars_[i]);
        
        double[] xy = Geometry.createStar (Math.random(), Math.random(),
                                           0.05, 0.1, 20);
        geometry_[i] = xy;

        GStyle style = new GStyle();
        style.setForegroundColor (new Color ((float) Math.random(),
                                             (float) Math.random(),
                                             (float) Math.random()));
        
        style.setBackgroundColor (new Color ((float) Math.random(),
                                             (float) Math.random(),
                                             (float) Math.random()));
        style.setLineWidth (2);
        stars_[i].setStyle (style);
      }
    }


    // Convert the world extent geometry of the specified
    // segment according to specified device translation
    public void translate (GSegment segment, int dx, int dy)
    {
      GTransformer transformer = getTransformer();
      double[] dw0 = transformer.deviceToWorld (0,  0);
      double[] dw1 = transformer.deviceToWorld (dx, dy);      

      int index = ((Integer) segment.getUserData()).intValue();
      double[] geometry = geometry_[index];
      for (int i = 0; i < geometry.length; i += 2) {
        geometry[i + 0] += dw1[0] - dw0[0];
        geometry[i + 1] += dw1[1] - dw0[1];        
      }

      segment.setGeometryXy (geometry);              
    }

  
    public void draw()
    {
      for (int i = 0; i < stars_.length; i++)
        stars_[i].setGeometryXy (geometry_[i]);        
    }
  }
  


  public static void main (String[] args)
  {
    new Demo11();
  }
}

           
       

Thank with us