public abstract class BaseMultiPrimitive extends AbstractPrimitive implements MultiPrimitive
Geometry.DIMENSIONS, Geometry.OPERATIONS, Geometry.SUBTYPES, Geometry.TYPES, Geometry.ValidationStatus
Modifier and Type | Field and Description |
---|---|
protected List |
geometries |
geometryType, geomManager, id, projection
BEST, E, EXTENDED_GEOMSUBTYPE_OFFSET, EXTENDED_GEOMTYPE_OFFSET, N, NE, NW, S, SE, SELECTHANDLER, STRETCHINGHANDLER, SW, W
Constructor and Description |
---|
BaseMultiPrimitive(GeometryType geometryType)
The constructor with the GeometryType like and argument is used by the
GeometryType #create() to create the geometry |
Modifier and Type | Method and Description |
---|---|
void |
addPrimitive(Primitive primitive)
Adds a new primitive to the primitive
|
FShape |
cloneFShape()
Creates and returns a shape equal and independent of this one.
|
boolean |
contains(double x,
double y) |
boolean |
contains(double x,
double y,
double w,
double h) |
boolean |
contains(Point2D p) |
boolean |
contains(Rectangle2D r) |
void |
ensureCapacity(int capacity) |
boolean |
fastIntersects(double x,
double y,
double w,
double h)
Used by the drawing strategies to quickly test whether this geometry
intersects with the visible rectangle.
|
Rectangle |
getBounds() |
Rectangle2D |
getBounds2D()
Returns this geometry's boundary rectangle.
|
int |
getDimension()
Returns the largest number n such that each direct position in a
geometric set can be associated with a subset that has the direct
position in its interior and is similar (isomorphic) to Rn, Euclidean
n-space.
|
Envelope |
getEnvelope()
Returns the minimum bounding box for this Geometry.
|
GeneralPathX |
getGeneralPath()
Get GeneralPathIterator, to do registered operations to it.
|
Geometry[] |
getGeometries()
Deprecated.
|
Handler[] |
getHandlers(int type)
It returns the handlers of the geometry, these they can be of two types
is straightening and of selection.
|
Shape |
getInternalShape()
(non-Javadoc)
|
PathIterator |
getPathIterator(AffineTransform at)
If applies an affine transformation and returns the GeneralPathXIterator
with this geometry's information.
|
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
If applies an affine transformation and returns the GeneralPathXIterator
with this geometry's information.
|
Primitive |
getPrimitiveAt(int i)
Returns one of the
Primitive 's that is in
a concrete position. |
int |
getPrimitivesNumber()
Returns the number of
Primitive 's that composes
this multi geometry. |
Handler[] |
getSelectHandlers()
Returns the handlers used to select the geometries.
|
Handler[] |
getStretchingHandlers()
Returns the handlers they utilized to stretch the geometries.
|
Geometry |
intersection()
Returns a Primitive that is the intersection of all the geometries of the Aggregate.
|
boolean |
intersects(double x,
double y,
double w,
double h) |
boolean |
intersects(Rectangle2D r)
Returns true if this geometry intersects the rectangle passed as
parameter.
|
boolean |
isSimple()
Returns
true if this Geometry has no interior point of
self-intersection or self-tangency. |
void |
reProject(ICoordTrans ct)
Reprojects this geometry by the coordinate transformer passed as
parameter.
|
void |
transform(AffineTransform at)
It applies an affine transformation to the geometry.
|
Geometry |
union()
Returns a Primitive that is the union of all the geometries of the Aggregate.
|
area, buffer, centroid, cloneGeometry, closestPoints, compareTo, contains, containsPoint, containsRectangle, convertToWKB, convertToWKB, convertToWKBForcingType, convertToWKT, convexHull, coveredBy, covers, crosses, difference, disjoint, distance, equals, getGeometryType, getId, getInteriorPoint, getShape, getShape, getShapeType, getSRS, getType, getValidationStatus, intersection, intersects, intersectsRectangle, invokeOperation, invokeOperation, isCCW, isValid, isWithinDistance, makeValid, move, overlaps, perimeter, rotate, scale, snapTo, toJTS, toString, touches, transform, union, within
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
area, buffer, centroid, cloneGeometry, closestPoints, contains, convertToEWKB, convertToEWKB, convertToEWKBForcingType, convertToWKB, convertToWKB, convertToWKBForcingType, convertToWKT, convexHull, coveredBy, covers, crosses, difference, disjoint, distance, ensureOrientation, flip, getGeometryType, getInteriorPoint, getShape, getShape, getType, getValidationStatus, intersection, intersects, invokeOperation, invokeOperation, isCCW, isValid, isWithinDistance, makeValid, move, offset, out, overlaps, perimeter, rotate, scale, snapTo, toLines, toPoints, toPolygons, touches, union, within
compareTo
protected List geometries
public BaseMultiPrimitive(GeometryType geometryType)
GeometryType
#create()
to create the geometrytype
- The geometry typepublic boolean contains(double x, double y, double w, double h)
public boolean contains(Rectangle2D r)
public int getDimension()
Geometry
getDimension
in interface Geometry
public boolean fastIntersects(double x, double y, double w, double h)
Geometry
fastIntersects
in interface Geometry
fastIntersects
in class AbstractPrimitive
x
- The minimum X coordinate.y
- The minimum Y coordinate.w
- The width of the envelope.h
- The height of the envelope.this
intersects the rectangle defined by the
parameters.public Rectangle2D getBounds2D()
Geometry
getBounds2D
in interface Shape
getBounds2D
in interface Geometry
public Handler[] getHandlers(int type)
Geometry
getHandlers
in interface Geometry
getHandlers
in class AbstractPrimitive
type
- Type of handlers.public Shape getInternalShape()
AbstractPrimitive
getInternalShape
in interface Geometry
getInternalShape
in class AbstractPrimitive
com.iver.cit.gvsig.fmap.core.Geometry#getInternalShape()
public PathIterator getPathIterator(AffineTransform at)
Geometry
getPathIterator
in interface Shape
getPathIterator
in interface Geometry
at
- The transformation to apply.public PathIterator getPathIterator(AffineTransform at, double flatness)
Geometry
getPathIterator
in interface Shape
getPathIterator
in interface Geometry
at
- The affine transformation.public Primitive getPrimitiveAt(int i)
Aggregate
Primitive
's that is in
a concrete position.getPrimitiveAt
in interface Aggregate
i
- Geometry position.public int getPrimitivesNumber()
Aggregate
Primitive
's that composes
this multi geometry.getPrimitivesNumber
in interface Aggregate
Primitive
's that composes
this multi geometry.public boolean intersects(double x, double y, double w, double h)
intersects
in interface Shape
public boolean intersects(Rectangle2D r)
Geometry
intersects
in interface Shape
intersects
in interface Geometry
r
- Rectangle.this
intersects r
.public boolean isSimple()
Geometry
true
if this Geometry has no interior point of
self-intersection or self-tangency. In mathematical formalisms, this
means that every point in the interior of the object must have a metric
neighborhood whose intersection with the object is isomorphic to an
n-sphere, where n is the dimension of this Geometry.isSimple
in interface Geometry
isSimple
in class AbstractPrimitive
public void reProject(ICoordTrans ct)
Geometry
public void transform(AffineTransform at)
Geometry
transform
in interface FShape
transform
in interface Geometry
at
- The transformation to apply.AffineTransform
public Envelope getEnvelope()
Geometry
Returns the minimum bounding box for this Geometry. This shall be the coordinate region spanning the minimum and maximum value for each ordinate taken on by DirectPositions in this Geometry. The simplest representation for an envelope consists of two DirectPositions, the first one containing all the minimums for each ordinate, and second one containing all the maximums.
getEnvelope
in interface Geometry
public Geometry[] getGeometries()
public FShape cloneFShape()
FShape
cloneFShape
in interface FShape
public Handler[] getSelectHandlers()
FShape
getSelectHandlers
in interface FShape
public Handler[] getStretchingHandlers()
FShape
getStretchingHandlers
in interface FShape
public GeneralPathX getGeneralPath()
Geometry
getGeneralPath
in interface Geometry
public void addPrimitive(Primitive primitive)
MultiPrimitive
addPrimitive
in interface MultiPrimitive
primitive
- The primitive to addpublic Geometry union() throws GeometryOperationException, GeometryOperationNotSupportedException
Aggregate
union
in interface Aggregate
GeometryOperationException
GeometryOperationNotSupportedException
public Geometry intersection() throws GeometryOperationException, GeometryOperationNotSupportedException
Aggregate
intersection
in interface Aggregate
GeometryOperationException
GeometryOperationNotSupportedException
public void ensureCapacity(int capacity)
ensureCapacity
in interface MultiPrimitive