HydroCouple  2.0.0
HydroCouple Interface Definitions
HydroCouple::Spatial::IMultiCurve Class Referenceabstract

An IMultiCurve is a 1-dimensional IGeometryCollection whose elements are ICurves. More...

#include <hydrocouplespatial.h>

Inheritance diagram for HydroCouple::Spatial::IMultiCurve:
Collaboration diagram for HydroCouple::Spatial::IMultiCurve:

Public Member Functions

virtual ~IMultiCurve ()=0
 
virtual bool isClosed () const =0
 
virtual double length () const =0
 The Length of this IMultiCurve which is equal to the sum of the lengths of the element ICurves. More...
 
- Public Member Functions inherited from HydroCouple::Spatial::IGeometryCollection
virtual ~IGeometryCollection ()=0
 IGeometryCollection destructor. More...
 
virtual int geometryCount () const =0
 The number of geometries in this IGeometryCollection. More...
 
virtual IGeometrygeometry (int index) const =0
 The IGeometry object associated with a specified index. 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 ISpatialReferenceSystemspatialReferenceSystem () const =0
 Spatial reference system of geometric object. More...
 
virtual IEnvelopeenvelope () 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 IGeometryboundary () 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 IGeometrylocateAlong (double value) const =0
 
virtual IGeometrylocateBetween (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 IGeometrybuffer (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 IGeometryconvexHull () const =0
 
virtual IGeometryintersection (const IGeometry &geom) const =0
 
virtual IGeometryunionG (const IGeometry &geom) const =0
 
virtual IGeometrydifference (const IGeometry &geom) const =0
 
virtual IGeometrysymmetricDifference (const IGeometry &geom) const =0
 

Additional Inherited Members

- Public Types inherited from HydroCouple::Spatial::IGeometry
enum  GeometryType {
  Geometry = 0 ,
  Point = 1 ,
  LineString = 2 ,
  Polygon = 3 ,
  Triangle = 17 ,
  MultiPoint = 4 ,
  MultiLineString = 5 ,
  MultiPolygon = 6 ,
  GeometryCollection = 7 ,
  CircularString = 8 ,
  CompoundCurve = 9 ,
  CurvePolygon = 10 ,
  MultiCurve = 11 ,
  MultiSurface = 12 ,
  Curve = 13 ,
  Surface = 14 ,
  PolyhedralSurface = 15 ,
  TIN = 16 ,
  GeometryZ = 1000 ,
  PointZ = 1001 ,
  LineStringZ = 1002 ,
  PolygonZ = 1003 ,
  TriangleZ = 1017 ,
  MultiPointZ = 1004 ,
  MultiLineStringZ = 1005 ,
  MultiPolygonZ = 1006 ,
  GeometryCollectionZ = 1007 ,
  CircularStringZ = 1008 ,
  CompoundCurveZ = 1009 ,
  CurvePolygonZ = 1010 ,
  MultiCurveZ = 1011 ,
  MultiSurfaceZ = 1012 ,
  CurveZ = 1013 ,
  SurfaceZ = 1014 ,
  PolyhedralSurfaceZ = 1015 ,
  TINZ = 1016 ,
  GeometryM = 2000 ,
  PointM = 2001 ,
  LineStringM = 2002 ,
  PolygonM = 2003 ,
  TriangleM = 2017 ,
  MultiPointM = 2004 ,
  MultiLineStringM = 2005 ,
  MultiPolygonM = 2006 ,
  GeometryCollectionM = 2007 ,
  CircularStringM = 2008 ,
  CompoundCurveM = 2009 ,
  CurvePolygonM = 2010 ,
  MultiCurveM = 2011 ,
  MultiSurfaceM = 2012 ,
  CurveM = 2013 ,
  SurfaceM = 2014 ,
  PolyhedralSurfaceM = 2015 ,
  TINM = 2016 ,
  GeometryZM = 3000 ,
  PointZM = 3001 ,
  LineStringZM = 3002 ,
  PolygonZM = 3003 ,
  TriangleZM = 3017 ,
  MultiPointZM = 3004 ,
  MultiLineStringZM = 3005 ,
  MultiPolygonZM = 3006 ,
  GeometryCollectionZM = 3007 ,
  CircularStringZM = 3008 ,
  CompoundCurveZM = 3009 ,
  CurvePolygonZM = 3010 ,
  MultiCurveZM = 3011 ,
  MultiSurfaceZM = 3012 ,
  CurveZM = 3013 ,
  SurfaceZM = 3014 ,
  PolyhedralSurfaceZM = 3015 ,
  TINZM = 3016
}
 The type of IGeometry. More...
 

Detailed Description

An IMultiCurve is a 1-dimensional IGeometryCollection whose elements are ICurves.

IMultiCurve is a non-instantiable class in this standard; it defines a set of methods for its subclasses and is included for reasons of extensibility.

An IMultiCurve is simple if and only if all of its elements are simple and the only intersections between any two elements occur at Points that are on the boundaries of both elements.

The boundary of a IMultiCurve is obtained by applying the "mod 2" union rule: A Point is in the boundary of a IMultiCurve if it is in the boundaries of an odd number of elements of the IMultiCurve

A MultiCurve is closed if all of its elements are closed. The boundary of a closed MultiCurve is always empty.

A MultiCurve is defined as topologically closed.

Constructor & Destructor Documentation

◆ ~IMultiCurve()

virtual HydroCouple::Spatial::IMultiCurve::~IMultiCurve ( )
pure virtual

Member Function Documentation

◆ isClosed()

virtual bool HydroCouple::Spatial::IMultiCurve::isClosed ( ) const
pure virtual
Returns
1 (TRUE) if this MultiCurve is closed[startPoint ( ) = endPoint ( ) for each ICurve in this IMultiCurve].

◆ length()

virtual double HydroCouple::Spatial::IMultiCurve::length ( ) const
pure virtual

The Length of this IMultiCurve which is equal to the sum of the lengths of the element ICurves.


The documentation for this class was generated from the following file: