HydroCouple  1.0.0
Description of the HydroCouple Component-Based Model Coupling Interface Definitions
HydroCouple::Spatial::IEdge Class Referenceabstract

A directed edge from one vertex to another, adjacent to two faces. Based on Dani Lischinski's code from Graphics Gems IV. Original quad-edge data structure due to Guibas and Stolfi (1985). Does not inherit from geometry to reduce size. since each edge has 4 pointers. More...

#include <hydrocouplespatial.h>

Collaboration diagram for HydroCouple::Spatial::IEdge:

Public Member Functions

virtual ~IEdge ()
 
virtual unsigned int index () const =0
 unique index identifier More...
 
virtual IVertexorig ()=0
 The origin IVertex of this IEdge. More...
 
virtual IVertexdest ()=0
 The destination IVertex of this IEdge. More...
 
virtual IPolygonleft ()=0
 The left face of this edge. More...
 
virtual IPolygonright ()=0
 The right face of this edge. More...
 
virtual IPolygonface ()=0
 The target face of this edge, if dual. Otherwise null if not dual. More...
 
virtual IEdgerot ()=0
 The dual of this edge, directed from its right to its left. More...
 
virtual IEdgeinvRot ()=0
 The dual of this IEdge, directed from its left to its right. More...
 
virtual IEdgesym ()=0
 The IEdge from the destination to the origin of this IEdge. More...
 
virtual IEdgeorigNext ()=0
 The next ccw edge around (from) the origin of this IEdge. More...
 
virtual IEdgeorigPrev ()=0
 The next cw edge around (from) the origin of this edge. More...
 
virtual IEdgedestNext ()=0
 The next ccw edge around (into) the destination of this edge. More...
 
virtual IEdgedestPrev ()=0
 The next cw edge around (into) the destination of this edge. More...
 
virtual IEdgeleftNext ()=0
 The ccw edge around the left face following this edge. More...
 
virtual IEdgeleftPrev ()=0
 The ccw edge around the left face before this edge. More...
 
virtual IEdgerightNext ()=0
 The edge around the right face ccw following this edge. More...
 
virtual IEdgerightPrev ()=0
 The IEdge around the right face ccw before this IEdge. More...
 

Detailed Description

A directed edge from one vertex to another, adjacent to two faces. Based on Dani Lischinski's code from Graphics Gems IV. Original quad-edge data structure due to Guibas and Stolfi (1985). Does not inherit from geometry to reduce size. since each edge has 4 pointers.

Constructor & Destructor Documentation

virtual HydroCouple::Spatial::IEdge::~IEdge ( )
inlinevirtual

Member Function Documentation

virtual IVertex* HydroCouple::Spatial::IEdge::dest ( )
pure virtual

The destination IVertex of this IEdge.

Returns
the destination of this IEdge; NULL if currently unknown.
virtual IEdge* HydroCouple::Spatial::IEdge::destNext ( )
pure virtual

The next ccw edge around (into) the destination of this edge.

Returns
The next edge to the destination; will be nonnull
virtual IEdge* HydroCouple::Spatial::IEdge::destPrev ( )
pure virtual

The next cw edge around (into) the destination of this edge.

Returns
The previous edge to the destination; will be nonnull
virtual IPolygon* HydroCouple::Spatial::IEdge::face ( )
pure virtual

The target face of this edge, if dual. Otherwise null if not dual.

Returns
virtual unsigned int HydroCouple::Spatial::IEdge::index ( ) const
pure virtual

unique index identifier

Returns
virtual IEdge* HydroCouple::Spatial::IEdge::invRot ( )
pure virtual

The dual of this IEdge, directed from its left to its right.

Returns
The left to right dual of this edge; will be nonnull
virtual IPolygon* HydroCouple::Spatial::IEdge::left ( )
pure virtual

The left face of this edge.

Returns
the left face of this edge; Null if currently unknown
virtual IEdge* HydroCouple::Spatial::IEdge::leftNext ( )
pure virtual

The ccw edge around the left face following this edge.

Returns
The next left face edge; will be nonnull
virtual IEdge* HydroCouple::Spatial::IEdge::leftPrev ( )
pure virtual

The ccw edge around the left face before this edge.

Returns
The previous left face edge; will be nonnull
virtual IVertex* HydroCouple::Spatial::IEdge::orig ( )
pure virtual

The origin IVertex of this IEdge.

Returns
the origin of this IEdge; NULL if currently unknown.
virtual IEdge* HydroCouple::Spatial::IEdge::origNext ( )
pure virtual

The next ccw edge around (from) the origin of this IEdge.

Returns
The next edge from the origin; will be nonnull
virtual IEdge* HydroCouple::Spatial::IEdge::origPrev ( )
pure virtual

The next cw edge around (from) the origin of this edge.

Returns
The previous edge from the origin; will be nonnull
virtual IPolygon* HydroCouple::Spatial::IEdge::right ( )
pure virtual

The right face of this edge.

Returns
The right face of this edge; null if currently unknown
virtual IEdge* HydroCouple::Spatial::IEdge::rightNext ( )
pure virtual

The edge around the right face ccw following this edge.

Returns
The next right face edge; will be nonnull
virtual IEdge* HydroCouple::Spatial::IEdge::rightPrev ( )
pure virtual

The IEdge around the right face ccw before this IEdge.

Returns
The previous right face edge; will be nonnull
virtual IEdge* HydroCouple::Spatial::IEdge::rot ( )
pure virtual

The dual of this edge, directed from its right to its left.

Returns
The right to left dual of this edge; will be nonnull
virtual IEdge* HydroCouple::Spatial::IEdge::sym ( )
pure virtual

The IEdge from the destination to the origin of this IEdge.

Returns
The symmetric of this edge; will be nonnull

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