|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.core.geometry.Geometry com.esri.core.geometry.MultiPath
public abstract class MultiPath
The MulitPath class is a base class for polygons and polylines.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.esri.core.geometry.Geometry |
---|
Geometry.Type |
Field Summary | |
---|---|
protected com.esri.core.geometry.MultiPathImpl |
m_impl
|
Fields inherited from class com.esri.core.geometry.Geometry |
---|
m_description, m_touchFlag |
Constructor Summary | |
---|---|
MultiPath()
|
Method Summary | |
---|---|
protected Object |
_getImpl()
Returns implementation class of the geometry. |
void |
add(MultiPath src,
boolean bReversePaths)
Appends all paths from another multipath. |
void |
addEnvelope(Envelope envSrc,
boolean bReverse)
Adds a rectangular closed path to this multipath. |
void |
addPath(MultiPath src,
int srcPathIndex,
boolean bForward)
Copies a path from another multipath. |
void |
addSegment(Segment segment,
boolean bStartNewPath)
Adds a new segment to this multipath. |
void |
applyTransformation(Transformation2D transform)
Applies 2D affine transformation in XY plane. |
double |
calculateArea2D()
Calculates the area of the geometry. |
double |
calculateLength2D()
Calculates the length of the geometry. |
void |
closeAllPaths()
Closes all open paths by adding an implicit line segment from the end point to the start point. |
void |
closePathWithLine()
Closes the last path of this multipath with a line segment. |
void |
copyTo(Geometry dst)
Copies this geometry to another geometry of the same type. |
int |
getPathCount()
Returns the number of paths in this multipath. |
int |
getPathEnd(int pathIndex)
Returns the index immediately following the last index of the path. |
int |
getPathIndexFromPointIndex(int pointIndex)
Returns the path index from the point index. |
int |
getPathSize(int pathIndex)
Returns the number of vertices in a path. |
int |
getPathStart(int pathIndex)
Returns the start index of the path. |
Point |
getPoint(int index)
Returns given vertex of the Geometry. |
void |
getPoint(int index,
Point ptOut)
Returns given vertex of the Geometry by value. |
int |
getPointCount()
Returns the total vertex count in this Geometry. |
int |
getSegmentCount()
Returns total segment count in the MultiPath. |
int |
getSegmentCount(int pathIndex)
Returns the segment count in the given multipath path. |
int |
getStateFlag()
Returns the state of the geometry. |
int |
hashCode()
Returns the hash code for the multipath. |
void |
insertPath(int pathIndex,
MultiPath src,
int srcPathIndex,
boolean bForward)
Inserts a path from another multipath. |
void |
insertPoint(int pathIndex,
int beforePointIndex,
Point pt)
Inserts a point. |
void |
insertPoints(int pathIndex,
int beforePointIndex,
MultiPath src,
int srcPathIndex,
int srcPointIndexFrom,
int srcPointCount,
boolean bForward)
Inserts vertices from the given multipath into this multipath. |
boolean |
isClosedPath(int pathIndex)
Indicates if the given path is closed (represents a ring). |
boolean |
isEmpty()
Indicates if the geometry object contains geometric information. |
void |
lineTo(double x,
double y)
Adds a line segment from the last point to the given end coordinates. |
void |
lineTo(Point endPoint)
Adds a Line Segment to the given end point. |
void |
queryEnvelope(Envelope env)
Gets the axis aligned bounding box of the geometry. |
SegmentIterator |
querySegmentIterator()
Returns a SegmentIterator that is set right before the beginning of the multipath. |
SegmentIterator |
querySegmentIteratorAtVertex(int startVertexIndex)
Returns a SegmentIterator that is set to a specific vertex of the MultiPath. |
void |
removePath(int pathIndex)
Removes the path at the given index. |
void |
removePoint(int pathIndex,
int pointIndex)
Removes a point at a given index. |
void |
reverseAllPaths()
Reverses the order of the vertices in each path. |
void |
reversePath(int pathIndex)
Reverses the order of vertices in the path. |
void |
setEmpty()
Sets the geometry to its original initialization state by releasing all data referenced by the geometry. |
void |
setPoint(int index,
Point point)
Sets the vertex at given index of the Geometry. |
void |
startPath(double x,
double y)
Starts a new path at given coordinates. |
void |
startPath(Point point)
Starts a new path at a point. |
Methods inherited from class com.esri.core.geometry.Geometry |
---|
copy, getDimension, getDimensionFromType, getType, isArea, isLinear, isMultiPath, isMultiVertex, isPoint, isSegment |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected com.esri.core.geometry.MultiPathImpl m_impl
Constructor Detail |
---|
public MultiPath()
Method Detail |
---|
public int getPointCount()
public Point getPoint(int index)
public void setPoint(int index, Point point)
index
- The index of the vertex being changed.point
- The Point instance to set given vertex attributes from. The pointSrc can not be empty.
public boolean isEmpty()
Geometry
isEmpty
in class Geometry
public double calculateArea2D()
Geometry
calculateArea2D
in class Geometry
public double calculateLength2D()
Geometry
GeometryEngine
.
calculateLength2D
in class Geometry
public void queryEnvelope(Envelope env)
Geometry
queryEnvelope
in class Geometry
env
- The envelope to return the result in.public void copyTo(Geometry dst)
Geometry
copyTo
in class Geometry
public int getSegmentCount()
public int getSegmentCount(int pathIndex)
pathIndex
- The path to determine the segment.
public void add(MultiPath src, boolean bReversePaths)
src
- The multipath to append to this multipath.bReversePaths
- TRUE if the multipath is added should be added with its paths reversed.public void addPath(MultiPath src, int srcPathIndex, boolean bForward)
src
- The multipath to copy from.srcPathIndex
- The index of the path in the the source MultiPath.bForward
- When FALSE, the points are inserted in reverse order.public void addSegment(Segment segment, boolean bStartNewPath)
segment
- The segment to be added to this mulitpath.bStartNewPath
- TRUE if a new path will be added.public void reverseAllPaths()
public void reversePath(int pathIndex)
pathIndex
- The start index of the path to reverse the order.public void removePath(int pathIndex)
pathIndex
- The start index to remove the path.public void insertPath(int pathIndex, MultiPath src, int srcPathIndex, boolean bForward)
pathIndex
- The start index of the multipath to insert.src
- The multipath to insert into this multipath. Can be the same as the multipath being modified.srcPathIndex
- The start index to insert the path into the multipath.bForward
- When FALSE, the points are inserted in reverse order.public void insertPoints(int pathIndex, int beforePointIndex, MultiPath src, int srcPathIndex, int srcPointIndexFrom, int srcPointCount, boolean bForward)
pathIndex
- The path index in this multipath to insert points to. Must correspond to an existing path.beforePointIndex
- The point index before all other vertices to insert in the given path of this multipath.
This value must be between 0 and GetPathSize(pathIndex), or -1 to insert points at the end of the given path.src
- The source multipath.srcPathIndex
- The source path index to copy points from.srcPointIndexFrom
- The start point in the source path to start copying from.srcPointCount
- The count of points to add.bForward
- When FALSE, the points are inserted in reverse order.public void insertPoint(int pathIndex, int beforePointIndex, Point pt)
pathIndex
- The path index in this class to insert the point to. Must correspond to an existing path.beforePointIndex
- The point index in the given path of this multipath.
This value must be between 0 and GetPathSize(pathIndex), or -1 to insert the point at the end of the given path.pt
- The point to be inserted.public void removePoint(int pathIndex, int pointIndex)
pathIndex
- The path from whom to remove the point.pointIndex
- The index of the point to be removed.public int getPathCount()
public int getPathSize(int pathIndex)
pathIndex
- The index of the path to return the number of vertices from.
public int getPathStart(int pathIndex)
pathIndex
- The index of the path to return the start index from.
public int getPathEnd(int pathIndex)
pathIndex
- The index of the path to return the end index from.
public int getPathIndexFromPointIndex(int pointIndex)
pointIndex
- The index of the point.
public void startPath(double x, double y)
x
- The X coordinate of the start point.y
- The Y coordinate of the start point.public void startPath(Point point)
point
- The point to start the path from.public void lineTo(double x, double y)
x
- The X coordinate to the end point.y
- The Y coordinate to the end point.public void lineTo(Point endPoint)
endPoint
- The end point to which the newly added line segment should point.public void closePathWithLine()
public void closeAllPaths()
public boolean isClosedPath(int pathIndex)
pathIndex
- The index of the path to check to be closed.
public void addEnvelope(Envelope envSrc, boolean bReverse)
envSrc
- Is the envelope to add to this mulitpath.bReverse
- Adds the path reversed (counter-clockwise).public SegmentIterator querySegmentIterator()
public SegmentIterator querySegmentIteratorAtVertex(int startVertexIndex)
startVertexIndex
- The start index of the SegementIterator.
public void setEmpty()
Geometry
setEmpty
in class Geometry
public void applyTransformation(Transformation2D transform)
Geometry
applyTransformation
in class Geometry
transform
- The affine transformation to be applied to this geometry.protected Object _getImpl()
Geometry
_getImpl
in class Geometry
public int hashCode()
hashCode
in class Object
public int getStateFlag()
Geometry
getStateFlag
in class Geometry
public void getPoint(int index, Point ptOut)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |