JGraph X 0.15.0.3


com.mxgraph.model
Class mxGeometry

java.lang.Object
  extended by com.mxgraph.util.mxPoint
      extended by com.mxgraph.util.mxRectangle
          extended by com.mxgraph.model.mxGeometry
All Implemented Interfaces:
Serializable, Cloneable

public class mxGeometry
extends mxRectangle

Represents the geometry of a cell. For vertices, the geometry consists of the x- and y-location, as well as the width and height. For edges, the geometry either defines the source- and target-terminal, or it defines the respective terminal points.

See Also:
Serialized Form

Field Summary
protected  mxRectangle alternateBounds
          Stores alternate values for x, y, width and height in a rectangle.
protected  mxPoint offset
          Holds the offset of the label for edges.
protected  List points
          List of mxPoints which specifies the control points along the edge.
protected  boolean relative
          Specifies if the coordinates in the geometry are to be interpreted as relative coordinates.
protected  mxPoint sourcePoint
          Defines the source- and target-point of the edge.
protected  mxPoint targetPoint
          Defines the source- and target-point of the edge.
 
Fields inherited from class com.mxgraph.util.mxRectangle
height, width
 
Fields inherited from class com.mxgraph.util.mxPoint
x, y
 
Constructor Summary
mxGeometry()
          Constructs a new geometry at (0, 0) with the width and height set to 0.
mxGeometry(double x, double y, double width, double height)
          Constructs a geometry using the given parameters.
mxGeometry(mxGeometry geometry)
          Constructs a copy of the given geometry.
 
Method Summary
 Object clone()
          Returns a new instance of the same geometry.
 mxRectangle getAlternateBounds()
          Returns the alternate bounds.
 mxPoint getOffset()
          Returns the offset.
 List getPoints()
          Returns the list of control points.
 mxPoint getTerminalPoint(boolean isSource)
          Returns the point representing the source or target point of this edge.
 boolean isRelative()
          Returns true of the geometry is relative.
 void setAlternateBounds(mxRectangle rect)
          Sets the alternate bounds to the given rectangle.
 void setOffset(mxPoint offset)
          Sets the offset to the given point.
 void setPoints(List value)
          Sets the list of control points to the given list.
 void setRelative(boolean value)
          Sets the relative state of the geometry.
 mxPoint setTerminalPoint(mxPoint point, boolean isSource)
          Sets the sourcePoint or targetPoint to the given point and returns the new point.
 void swap()
          Swaps the x, y, width and height with the values stored in alternateBounds and puts the previous values into alternateBounds as a rectangle.
 mxGeometry translate(double dx, double dy)
          Returns a modified clone of this geometry which is translated by the specified amount.
 
Methods inherited from class com.mxgraph.util.mxRectangle
add, getHeight, getRectangle, getWidth, grow, setHeight, setWidth
 
Methods inherited from class com.mxgraph.util.mxPoint
getPoint, getX, getY, setX, setY
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

alternateBounds

protected mxRectangle alternateBounds
Stores alternate values for x, y, width and height in a rectangle. Default is null.


sourcePoint

protected mxPoint sourcePoint
Defines the source- and target-point of the edge. This is used if the corresponding edge does not have a source vertex. Otherwise it is ignored. Default is null.


targetPoint

protected mxPoint targetPoint
Defines the source- and target-point of the edge. This is used if the corresponding edge does not have a source vertex. Otherwise it is ignored. Default is null.


points

protected List points
List of mxPoints which specifies the control points along the edge. These points are the intermediate points on the edge, for the endpoints use targetPoint and sourcePoint or set the terminals of the edge to a non-null value. Default is null.


offset

protected mxPoint offset
Holds the offset of the label for edges. This is the absolute vector between the center of the edge and the top, left point of the label. Default is null.


relative

protected boolean relative
Specifies if the coordinates in the geometry are to be interpreted as relative coordinates. Default is false. This is used to mark a geometry with an x- and y-coordinate that is used to describe an edge label position, or a relative location with respect to a parent cell's width and height.

Constructor Detail

mxGeometry

public mxGeometry()
Constructs a new geometry at (0, 0) with the width and height set to 0.


mxGeometry

public mxGeometry(double x,
                  double y,
                  double width,
                  double height)
Constructs a geometry using the given parameters.

Parameters:
x - X-coordinate of the new geometry.
y - Y-coordinate of the new geometry.
width - Width of the new geometry.
height - Height of the new geometry.

mxGeometry

public mxGeometry(mxGeometry geometry)
Constructs a copy of the given geometry.

Parameters:
geometry - Geometry to construct a copy of.
Method Detail

getAlternateBounds

public mxRectangle getAlternateBounds()
Returns the alternate bounds.


setAlternateBounds

public void setAlternateBounds(mxRectangle rect)
Sets the alternate bounds to the given rectangle.

Parameters:
rect - Rectangle to be used for the alternate bounds.

getPoints

public List getPoints()
Returns the list of control points.


setPoints

public void setPoints(List value)
Sets the list of control points to the given list.

Parameters:
value - List that contains the new control points.

getOffset

public mxPoint getOffset()
Returns the offset.


setOffset

public void setOffset(mxPoint offset)
Sets the offset to the given point.

Parameters:
offset - Point to be used for the offset.

isRelative

public boolean isRelative()
Returns true of the geometry is relative.


setRelative

public void setRelative(boolean value)
Sets the relative state of the geometry.

Parameters:
value - Boolean value to be used as the new relative state.

swap

public void swap()
Swaps the x, y, width and height with the values stored in alternateBounds and puts the previous values into alternateBounds as a rectangle. This operation is carried-out in-place, that is, using the existing geometry instance. If this operation is called during a graph model transactional change, then the geometry should be cloned before calling this method and setting the geometry of the cell using mxGraphModel.setGeometry.


getTerminalPoint

public mxPoint getTerminalPoint(boolean isSource)
Returns the point representing the source or target point of this edge. This is only used if the edge has no source or target vertex.

Parameters:
isSource - Boolean that specifies if the source or target point should be returned.
Returns:
Returns the source or target point.

setTerminalPoint

public mxPoint setTerminalPoint(mxPoint point,
                                boolean isSource)
Sets the sourcePoint or targetPoint to the given point and returns the new point.

Parameters:
point - Point to be used as the new source or target point.
isSource - Boolean that specifies if the source or target point should be set.
Returns:
Returns the new point.

translate

public mxGeometry translate(double dx,
                            double dy)
Returns a modified clone of this geometry which is translated by the specified amount. That is, in the returned geometry the x and y of the geometry, the sourcePoint, targetPoint and all elements of points are translated by the given amount. Keep in mind that this does NOT modify this geometry object in-place, instead it returns a modified cloned instance of this geometry.

Parameters:
dx - Integer that specifies the x-coordinate of the translation.
dy - Integer that specifies the y-coordinate of the translation.
Returns:
Returns a new geometry translated by the given amount.

clone

public Object clone()
Returns a new instance of the same geometry.

Overrides:
clone in class mxRectangle

JGraph X 0.15.0.3


Copyright (c) 2008 Gaudenz Alder. All rights reserved.