org.gvsig.fmap.geom.primitive
Interface OrientablePrimitive

All Superinterfaces:
Comparable, Geometry, Primitive, Serializable, Shape
All Known Subinterfaces:
Arc, Circle, CompositeSurface, Curve, Ellipse, EllipticArc, OrientableCurve, OrientableSurface, Spline, Surface
All Known Implementing Classes:
Arc2D, Arc2DZ, Circle2D, Circle2DZ, Curve2D, Curve2DZ, DefaultCurve, Ellipse2D, Ellipse2DZ, EllipticArc2D, EllipticArc2DZ, OrientableCurve2D, OrientablePrimitive2D, OrientableSurface2D, Spline2D, Spline2DZ, Surface2D, Surface2DZ

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.

Author:
Jorge Piera
See Also:
ISO 19107

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.gvsig.fmap.geom.Geometry
Geometry.DIMENSIONS, Geometry.OPERATIONS, Geometry.SUBTYPES, Geometry.TYPES
 
Field Summary
 
Fields inherited from interface org.gvsig.fmap.geom.Geometry
BEST, E, EXTENDED_GEOMSUBTYPE_OFFSET, EXTENDED_GEOMTYPE_OFFSET, N, NE, NW, S, SE, SELECTHANDLER, STRETCHINGHANDLER, SW, W
 
Method Summary
 void addMoveToVertex(Point point)
          Deprecated. create a multigeometry or use methods to add an inner surface
 void addVertex(Point point)
          Adds a vertex (or direct position) to the curve
 void addVertexes(List points)
          Adds a list of vertexes (or direct positions) to the curve
 void closePrimitive()
          Deprecated. create a multigeometry, and it is not necessary to close a geometry.
 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)
          Sets all the coordinates of the curve
 void setVertex(int index, Point p)
          Sets a vertex in a concrete position and replaces the previous one that was in this position.
 
Methods inherited from interface org.gvsig.fmap.geom.Geometry
area, buffer, centroid, cloneGeometry, contains, convertToWKB, convertToWKT, convexHull, coveredBy, crosses, difference, disjoint, distance, fastIntersects, getBounds2D, getDimension, getEnvelope, getGeneralPath, getGeometryType, getHandlers, getInternalShape, getPathIterator, getPathIterator, getShape, getShape, getType, intersection, intersects, intersects, invokeOperation, invokeOperation, isSimple, overlaps, perimeter, reProject, touches, transform, union, within
 
Methods inherited from interface java.awt.Shape
contains, contains, contains, contains, getBounds, intersects
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

setGeneralPath

void setGeneralPath(GeneralPathX generalPathX)
Sets all the coordinates of the curve

Parameters:
generalPathX - The generalPath that contains all the coordinates

getCoordinateAt

double getCoordinateAt(int index,
                       int dimension)
Gets the one of the values of a coordinate (direct position) in a concrete dimension.

Parameters:
index - The index of the direct position to set.
dimension - The dimension of the direct position.
Returns:
The value of the coordinate

setCoordinateAt

void setCoordinateAt(int index,
                     int dimension,
                     double value)
Sets the value of a coordinate (direct position) in a concrete dimension

Parameters:
index - The index of the direct position to set
dimension - The dimension of the direct position
value - The value to set

addVertex

void addVertex(Point point)
Adds a vertex (or direct position) to the curve

Parameters:
point - The new point to add

addVertexes

void addVertexes(List points)
Adds a list of vertexes (or direct positions) to the curve

Parameters:
points - The new points to add

addMoveToVertex

void addMoveToVertex(Point point)
Deprecated. create a multigeometry or use methods to add an inner surface

Adds a vertex (or direct position) to the curve

Parameters:
point - The new point to add

closePrimitive

void closePrimitive()
Deprecated. create a multigeometry, and it is not necessary to close a geometry.

Closes the geometry


removeVertex

void removeVertex(int index)
Remove a vertex (direct position) to the curve

Parameters:
index - The index of the vertex to remove

getVertex

Point getVertex(int index)
Gets a vertex (direct position)

Parameters:
index - The index of the vertex to get
Returns:
One point

getNumVertices

int getNumVertices()
Gets the number of vertices (direct positions) of the curve

Returns:
The number of vertices

insertVertex

void insertVertex(int index,
                  Point p)
Inserts a vertex (direct position) to the curve.

Parameters:
index - The index of the vertex where the new point has to be added.
p - The vertex to add.

setVertex

void setVertex(int index,
               Point p)
Sets a vertex in a concrete position and replaces the previous one that was in this position.

Parameters:
index - The index of the vertex where the new point has to be replaced.
p - The vertex to set.


Copyright © 2004-2012 gvSIG. All Rights Reserved.