|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.geometry.iso.root.GeometryImpl
org.geotools.geometry.iso.primitive.PrimitiveImpl
public abstract class PrimitiveImpl
Primitive is the abstract root class of the geometric primitives. Its main purpose is to define the basic "boundary" operation that ties the primitives in each dimension together. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. This includes curves and surfaces, even though they are composed of curve segments and surface patches, respectively. This composition is a strong aggregation: curve segments and surface patches cannot exist outside the context of a primitive. NOTE Most geometric primitives are decomposable infinitely many times. Adding a centre point to a line may split that line into two separate lines. A new curve drawn across a surface may divide that surface into two parts, each of which is a surface. This is the reason that the normal definition of primitive as "non-decomposable" is not plausible in a geometry model - the only non-decomposable object in geometry is a point. Any geometric object that is used to describe a feature is a collection of geometric primitives. A collection of geometric primitives may or may not be a geometric complex. Geometric complexes have additional properties such as closure by boundary operations and mutually exclusive component parts. Primitive and Complex share most semantics, in the meaning of operations, attributes and associations. There is an exception in that a Primitive shall not contain its boundary (except in the trivial case of Point where the boundary is empty), while a Complex shall contain its boundary in all cases. This means that if an instantiated object implements Object operations both as Primitive and as a Complex, the semantics of each set theoretic operation is determined by the its name resolution. Specifically, for a particular object such as CompositeCurve, Primitive::contains (returns FALSE for end points) is different from Complex::contains (returns TRUE for end points). Further, if that object is cast as a Primitive value and as a Complex value, then the two values need not be equal as Objects.
Field Summary | |
---|---|
protected java.util.Set<org.opengis.geometry.complex.Complex> |
complex
A Primitive may be in several Complexes. |
protected java.util.Set<org.opengis.geometry.primitive.Primitive> |
containedPrimitive
The "Interior to" association associates Primitives which are by definition coincident with one another. |
protected java.util.Set<org.opengis.geometry.primitive.Primitive> |
containingPrimitive
See containedPrimitive |
Fields inherited from class org.geotools.geometry.iso.root.GeometryImpl |
---|
crs, percision |
Constructor Summary | |
---|---|
|
PrimitiveImpl(org.opengis.referencing.crs.CoordinateReferenceSystem coordinateReferenceSystem)
|
protected |
PrimitiveImpl(org.opengis.referencing.crs.CoordinateReferenceSystem crs,
java.util.Set<org.opengis.geometry.primitive.Primitive> containedPrimitive,
java.util.Set<org.opengis.geometry.primitive.Primitive> containingPrimitive,
java.util.Set<org.opengis.geometry.complex.Complex> complex)
|
Method Summary | |
---|---|
void |
addComplex(ComplexImpl newComplex)
Adds a new complex to the set of complexes containing this primitive |
void |
addContainedPrimitive(PrimitiveImpl newSuperelement)
Adds a the super element where this object in contained in |
void |
addContainingPrimitive(PrimitiveImpl newSubelement)
Adds a new subelement of same or lower dimension then this object. |
abstract org.opengis.geometry.primitive.PrimitiveBoundary |
getBoundary()
|
java.util.Set<org.opengis.geometry.complex.Complex> |
getComplexes()
|
org.opengis.geometry.complex.Composite |
getComposite()
|
java.util.Set<org.opengis.geometry.primitive.Primitive> |
getContainedPrimitives()
|
java.util.Set<org.opengis.geometry.primitive.Primitive> |
getContainingPrimitives()
|
java.util.Set<org.opengis.geometry.complex.Complex> |
getMaximalComplex()
As a set of primitives, a Complex may be contained as a set in another larger Complex, referred to as a "super complex" of the original. |
abstract org.opengis.geometry.primitive.OrientablePrimitive[] |
getProxy()
|
Methods inherited from class org.geotools.geometry.iso.root.GeometryImpl |
---|
castToGeometryImpl, castToGeometryImpl, clone, contains, contains, cRelate, crosses, difference, disjoint, distance, equals, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getDistance, getEnvelope, getMbRegion, getPositionFactory, getPrecision, getRepresentativePoint, intersection, intersects, isCycle, isMutable, overlaps, relate, symmetricDifference, toImmutable, touches, transform, transform, union, within |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.opengis.geometry.Geometry |
---|
clone, distance, getBuffer, getCentroid, getClosure, getConvexHull, getCoordinateDimension, getCoordinateReferenceSystem, getDimension, getEnvelope, getMbRegion, getPrecision, getRepresentativePoint, isCycle, isMutable, isSimple, toImmutable, transform, transform |
Methods inherited from interface org.opengis.geometry.TransfiniteSet |
---|
contains, contains, difference, equals, intersection, intersects, symmetricDifference, union |
Field Detail |
---|
protected java.util.Set<org.opengis.geometry.primitive.Primitive> containedPrimitive
protected java.util.Set<org.opengis.geometry.primitive.Primitive> containingPrimitive
protected java.util.Set<org.opengis.geometry.complex.Complex> complex
Constructor Detail |
---|
protected PrimitiveImpl(org.opengis.referencing.crs.CoordinateReferenceSystem crs, java.util.Set<org.opengis.geometry.primitive.Primitive> containedPrimitive, java.util.Set<org.opengis.geometry.primitive.Primitive> containingPrimitive, java.util.Set<org.opengis.geometry.complex.Complex> complex)
crs
- containedPrimitive
- containingPrimitive
- complex
- public PrimitiveImpl(org.opengis.referencing.crs.CoordinateReferenceSystem coordinateReferenceSystem)
Method Detail |
---|
public java.util.Set<org.opengis.geometry.primitive.Primitive> getContainingPrimitives()
getContainingPrimitives
in interface org.opengis.geometry.primitive.Primitive
public java.util.Set<org.opengis.geometry.primitive.Primitive> getContainedPrimitives()
getContainedPrimitives
in interface org.opengis.geometry.primitive.Primitive
public java.util.Set<org.opengis.geometry.complex.Complex> getComplexes()
getComplexes
in interface org.opengis.geometry.primitive.Primitive
public org.opengis.geometry.complex.Composite getComposite()
getComposite
in interface org.opengis.geometry.primitive.Primitive
public void addContainingPrimitive(PrimitiveImpl newSubelement)
newSubelement
- public void addContainedPrimitive(PrimitiveImpl newSuperelement)
newSuperelement
- public void addComplex(ComplexImpl newComplex)
newComplex
- public java.util.Set<org.opengis.geometry.complex.Complex> getMaximalComplex()
getMaximalComplex
in interface org.opengis.geometry.Geometry
public abstract org.opengis.geometry.primitive.PrimitiveBoundary getBoundary()
getBoundary
in interface org.opengis.geometry.Geometry
getBoundary
in interface org.opengis.geometry.primitive.Primitive
getBoundary
in class GeometryImpl
public abstract org.opengis.geometry.primitive.OrientablePrimitive[] getProxy()
getProxy
in interface org.opengis.geometry.primitive.Primitive
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |