HydroCouple
1.0.0
Description of the HydroCouple ComponentBased Model Coupling Interface Definitions

A ISurface is a 2dimensional IGeometry object. More...
#include <hydrocouplespatial.h>
Public Member Functions  
virtual  ~ISurface () 
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 () 
virtual QString  id () const =0 
id 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 goemetric 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 QString  getWKT () const =0 
Exports this geometric object to a specific Wellknown Text Representation of Geometry. More...  
virtual unsigned char *  getWKB (int &size) const =0 
Exports this geometric object to a specific Wellknown 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 2dimensional 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 3dimensional 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 3dimensional 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 coplanar 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.

inlinevirtual 

pure virtual 

pure virtual 
boundaryMultiCurve

pure virtual 

pure virtual 
A Point guaranteed to be on this Surface.