Itasca C++ Interface
Loading...
Searching...
No Matches
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], string &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:
  • C:/Source/itasca-suite/pfc/pfcmodule/interface/itripoly.h