Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
pfc::ITriPoly Class Referenceabstract

Interface for a TriPoly. More...

#include <itripoly.h>

Public Member Functions

virtual IThinggetIThing ()=0
 Return an IThing interface for this object.
 
virtual const IThinggetIThing () const =0
 Return a const IThing interface for this object.
 
virtual ITriPolygetNextITriPoly ()=0
 Return the next ITriPoly object in the global list, or 0 if it is the last set.
 
virtual const ITriPolygetNextITriPoly () const =0
 Return the next ITriPoly object in the global list, or 0 if it is the last set.
 
virtual IHalfFacetgetFirstIHalfFacet ()=0
 Return the first IHalfFacet associated with this TriPoly.
 
virtual const IHalfFacetgetFirstIHalfFacet () const =0
 Return the const first IHalfFacet associated with this TriPoly.
 
virtual DExtent3 getExtent () const =0
 Return the DExtent3 extent of the TriPoly.
 
virtual int getNumberFacets () const =0
 Return the number of IHalfFacets.
 
virtual void getFacetList (FArray< IHalfFacet * > *ret)=0
 Return a list of IHalfFacets.
 
virtual void getFacetList (FArray< const IHalfFacet * > *ret) const =0
 Return a list of const IHalfFacets.
 
virtual void removeIHalfFacet (IHalfFacet *fac)=0
 Remove the IHalfFacet from the TriPoly.
 
virtual IHalfFacetaddFacetFromVertices (DVect verts[dim], QString &error, uint64 id=0, bool ignoreEnd=false, bool allowStar=false)=0
 Add a facet from vertices.
 
virtual void getVertexList (FArray< IHalfVertex * > *ret)=0
 Return a list of IHalfVertex objects.
 
virtual void getVertexList (FArray< const IHalfVertex * > *ret) const =0
 Return a list of const IHalfVertex object.
 
virtual DVect getPosition () const =0
 Return the TriPoly position. This is implementation dependent.
 
virtual double getVolume () const =0
 Return the TriPoly volume.
 
virtual void setPosition (const DVect &p)=0
 Set the TriPoly position to p.
 
virtual void rotate (const DVect &rotp, const DVect &axis, const double &w, bool noThrow=false)=0
 Rotate the wall about the axis axis through the rotation point rotp by the angle w (in radians).
 

Static Public Attributes

static const TType type_ = 0x4e70b69e
 TType for type casting.
 

Detailed Description

Interface for a TriPoly.

This is the interface for a polygon in 2D or a triangularly faceted polyhedron in 3D. Each facet is composed of three edges and three vertices. A half-edge data structure is used to efficiently store and retrieve adjacency information (e.g., facets adjacent to another facet, facets that share a vertex, etc.). This implementation requires that a TriPoly is a manifold, orientable triangular mesh throughout. The position of a TriPoly is the average location of all vertices if open or the center of mass assuming a constant density of closed.


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