HydroCouple
2.0.0
HydroCouple Interface Definitions
|
A ISurface is a 2-dimensional IGeometry object. More...
#include <hydrocouplespatial.h>
Public Member Functions | |
virtual | ~ISurface ()=0 |
ISurface destructor. More... | |
virtual double | area () const =0 |
The area of this ISurface, as measured in the spatial reference system of this ISurface. More... | |
virtual IPoint * | centroid () const =0 |
The mathematical centroid for this ISurface as a Point. The result is not guaranteed to be on this ISurface. More... | |
virtual IPoint * | pointOnSurface () const =0 |
A Point guaranteed to be on this Surface. More... | |
virtual IMultiCurve * | boundaryMultiCurve () const =0 |
boundaryMultiCurve More... | |
Public Member Functions inherited from HydroCouple::Spatial::IGeometry | |
virtual | ~IGeometry ()=0 |
The type of IGeometry. More... | |
virtual string | id () const =0 |
id of the geometry. More... | |
virtual unsigned int | index () const =0 |
index of the geometry if it is part of a collection. More... | |
virtual int | dimension () const =0 |
The inherent dimension of this geometric object, which must be less than or equal to the coordinate dimension. In non - homogeneous collections, this will return the largest topological dimension of the contained objects. More... | |
virtual int | coordinateDimension () const =0 |
Get the dimension of the coordinates in this object. More... | |
virtual GeometryType | geometryType () const =0 |
Get the dimension of the coordinates in this object. More... | |
virtual ISpatialReferenceSystem * | spatialReferenceSystem () const =0 |
Spatial reference system of geometric object. More... | |
virtual IEnvelope * | envelope () const =0 |
The minimum bounding box for this Geometry, returned as a IGeometry. Recalculated at the time of the call. More... | |
virtual string | getWKT () const =0 |
Exports this geometric object to a specific Well-known Text Representation of Geometry. More... | |
virtual unsigned char * | getWKB (int &size) const =0 |
Exports this geometric object to a specific Well-known byte Representation of Geometry. More... | |
virtual bool | isEmpty () const =0 |
If true, then this geometric object represents the empty point set ∅ for the coordinate space. More... | |
virtual bool | isSimple () const =0 |
Returns true if this geometric object has no anomalous geometric points, such as self intersection or self tangency. More... | |
virtual bool | is3D () const =0 |
virtual bool | isMeasured () const =0 |
virtual IGeometry * | boundary () const =0 |
Returns the closure of the combinatorial boundary of this geometric object (Reference [1], section 3.12.2). More... | |
virtual bool | equals (const IGeometry &geom) const =0 |
virtual bool | disjoint (const IGeometry &geom) const =0 |
virtual bool | intersects (const IGeometry &geom) const =0 |
virtual bool | touches (const IGeometry &geom) const =0 |
virtual bool | crosses (const IGeometry &geom) const =0 |
virtual bool | within (const IGeometry &geom) const =0 |
virtual bool | contains (const IGeometry &geom) const =0 |
virtual bool | overlaps (const IGeometry &geom) const =0 |
virtual bool | relate (const IGeometry &geom) const =0 |
virtual IGeometry * | locateAlong (double value) const =0 |
virtual IGeometry * | locateBetween (double mStart, double mEnd) const =0 |
virtual double | distance (const IGeometry &geom) const =0 |
Returns the shortest distance between any two Points in the two geometric objects as calculated in the spatial reference system of this geometric object. More... | |
virtual IGeometry * | buffer (double bufferDistance) const =0 |
Returns a geometric object that represents all Points whose distance from this geometric object is less than or equal to distance. More... | |
virtual IGeometry * | convexHull () const =0 |
virtual IGeometry * | intersection (const IGeometry &geom) const =0 |
virtual IGeometry * | unionG (const IGeometry &geom) const =0 |
virtual IGeometry * | difference (const IGeometry &geom) const =0 |
virtual IGeometry * | symmetricDifference (const IGeometry &geom) const =0 |
A ISurface is a 2-dimensional IGeometry object.
A simple Surface may consists of a single patch that is associated with one exterior boundary and 0 or more interior boundaries. A single such Surface patch in 3-dimensional space is isometric to planar Surfaces, by a simple affine rotation matrix that rotates the patch onto the plane z = 0. If the patch is not vertical, the projection onto the same plane is an isomorphism, and can be represented as a linear transformation, i.e. an affine.
Polyhedral Surfaces are formed by stitching together such simple Surfaces patches along their common boundaries. Such polyhedral Surfaces in a 3-dimensional space may not be planar as a whole, depending on the orientation of their planar normals (Reference [1], sections 3.12.9.1, and 3.12.9.3). If all the patches are in alignment (their normals are parallel), then the whole stitched polyhedral surface is co-planar and can be represented as a single patch if it is connected.
The boundary of a simple Surface is the set of closed Curves corresponding to its exterior and interior� boundaries (Reference [1], section 3.12.9.4).
The only instantiable subclasses of ISurface defined in this standard are IPolygon and IPolyhedralSurface. A IPolygon is a simple Surface that is planar. A IPolyhedralSurface is a simple surface, consisting of some number of IPolygon patches or facets. If a IPolyhedralSurface is closed, then it bounds a solid. A IMultiSurface containing a set of closed IPolyhedralSurfaces can be used to represent a ISolid object with holes.
|
pure virtual |
ISurface destructor.
|
pure virtual |
|
pure virtual |
boundaryMultiCurve
|
pure virtual |
|
pure virtual |
A Point guaranteed to be on this Surface.