public interface OrientablePrimitive extends Primitive
This interface is equivalent to the GM_OrientablePrimitive specified in ISO 19107. Orientable primitives are those that can be mirrored into new geometric objects in terms of their internal local coordinate systems (manifold charts).
For curves, the orientation reflects the direction in which the curve is traversed, that is, the sense of its parameterization. When used as boundary curves, the surface being bounded is to the "left" of the oriented curve.
For surfaces, the orientation reflects from which direction the local coordinate system can be viewed as right handed, the "top" or the surface being the direction of a completing z-axis that would form a right-handed system.
When used as a boundary surface, the bounded solid is "below" the surface. The orientation of points and solids has no immediate geometric interpretation in 3-dimensional space.
OrientablePrimitive objects are essentially references to geometric primitives that carry an "orientation" reversal flag (either "+" or "-") that determines whether this primitive agrees or disagrees with the orientation of the referenced object.
Geometry.DIMENSIONS, Geometry.OPERATIONS, Geometry.SUBTYPES, Geometry.TYPES, Geometry.ValidationStatus
BEST, E, EXTENDED_GEOMSUBTYPE_OFFSET, EXTENDED_GEOMTYPE_OFFSET, N, NE, NW, S, SE, SELECTHANDLER, STRETCHINGHANDLER, SW, W
Modifier and Type | Method and Description |
---|---|
void |
addMoveToVertex(Point point)
Deprecated.
create a multigeometry or use methods to
add an inner surface
|
void |
addVertex(double x,
double y)
Utility method for add a vertex
|
void |
addVertex(double x,
double y,
double z)
Utility method for add a vertex
|
void |
addVertex(Point point)
Adds a vertex (or direct position) to the curve
|
void |
closePrimitive()
Deprecated.
create a multigeometry, and it is not necessary to close a
geometry.
|
void |
ensureCapacity(int capacity) |
double |
getCoordinateAt(int index,
int dimension)
Gets the one of the values of a coordinate (direct position) in a
concrete dimension.
|
int |
getNumVertices()
Gets the number of vertices (direct positions) of the curve
|
Point |
getVertex(int index)
Gets a vertex (direct position)
|
void |
insertVertex(int index,
Point p)
Inserts a vertex (direct position) to the curve.
|
void |
removeVertex(int index)
Remove a vertex (direct position) to the curve
|
void |
setCoordinateAt(int index,
int dimension,
double value)
Sets the value of a coordinate (direct position) in a concrete dimension
|
void |
setGeneralPath(GeneralPathX generalPathX)
Deprecated.
use addVertex
|
void |
setVertex(int index,
Point p)
Sets a vertex in a concrete position and replaces the
previous one that was in this position.
|
area, buffer, centroid, cloneGeometry, closestPoints, contains, convertToEWKB, convertToEWKB, convertToEWKBForcingType, convertToWKB, convertToWKB, convertToWKBForcingType, convertToWKT, convexHull, coveredBy, covers, crosses, difference, disjoint, distance, ensureOrientation, fastIntersects, flip, getBounds2D, getDimension, getEnvelope, getGeneralPath, getGeometryType, getHandlers, getInteriorPoint, getInternalShape, getPathIterator, getPathIterator, getShape, getShape, getType, getValidationStatus, intersection, intersects, intersects, invokeOperation, invokeOperation, isCCW, isSimple, isValid, isWithinDistance, makeValid, move, offset, out, overlaps, perimeter, reProject, rotate, scale, snapTo, toLines, toPoints, toPolygons, touches, transform, union, within
contains, contains, contains, contains, getBounds, intersects
compareTo
double getCoordinateAt(int index, int dimension)
index
- The index of the direct position to set.dimension
- The dimension of the direct position.void setCoordinateAt(int index, int dimension, double value)
index
- The index of the direct position to setdimension
- The dimension of the direct positionvalue
- The value to setvoid addVertex(Point point)
point
- The new point to addvoid addVertex(double x, double y)
x
- y
- addVertex(Point)
void addVertex(double x, double y, double z)
x
- y
- z
- addVertex(Point)
void removeVertex(int index)
index
- The index of the vertex to removePoint getVertex(int index)
index
- The index of the vertex to getint getNumVertices()
void insertVertex(int index, Point p)
index
- The index of the vertex where the new point has to be added.p
- The vertex to add.void setVertex(int index, Point p)
index
- The index of the vertex where the new point has to be replaced.p
- The vertex to set.void setGeneralPath(GeneralPathX generalPathX)
generalPathX
- The generalPath that contains all the coordinatesvoid addMoveToVertex(Point point)
point
- The new point to addvoid closePrimitive()
void ensureCapacity(int capacity)