26 inline static const TType type_ = 0x4c815bce;
29 virtual IThing * getIThing()=0;
31 virtual const IThing * getIThing()
const=0;
34 virtual quint64 getSize()
const=0;
36 virtual quint64 getNumFakeEdges()
const =0;
38 virtual IGeomEdge * getEdge(quint32 index)=0;
40 virtual const IGeomEdge * getEdge(quint32 index)
const=0;
45 virtual bool addEdge(
IGeomEdge *edge,
bool throwException=
true,
bool forceFlip=
false)=0;
50 virtual bool isValid()
const=0;
52 virtual IGeomPoint * getPoint(quint32 index)=0;
54 virtual const IGeomPoint *getPoint(quint32 index)
const=0;
57 virtual bool getFlip(quint32 index)
const=0;
59 virtual DVect getVector(quint32 index)
const=0;
61 virtual DVect getCentroid()
const=0;
63 virtual double getArea()
const=0;
65 virtual DAVect getDANormal()
const=0;
67 virtual DVect3 getNormal()
const=0;
71 virtual bool isPlanar(
const double &tolerance=1e-7)
const=0;
73 virtual bool isConvex(
const double &tolerance=1e-7)
const=0;
77 virtual bool isIn(
const DVect &v,
DVect *on=0,
const double &tolerance=1e-7)
const=0;
79 virtual DVect getClosestPoint(
const DVect &v)
const=0;
95 virtual const GeomBase * getGeomBase()
const=0;
98 virtual DVect convertToGlobal(
double u,
double v)
const =0;
100 virtual DVect2 convertToLocal(
const DVect &pos)
const =0;
106 virtual void triangulatedList(
FArray<DVect> * ret,
const double &tolerance = 1e-7)=0;
108 virtual quint32 index(
const IGeomEdge *edge)
const = 0;
109 virtual quint32 index(
const IGeomPoly *vert)
const = 0;
110 virtual void setEdge(quint32 ind,
IGeomEdge *edge) = 0;
virtual int getManifoldIndex() const
Returns the manifold index, computed.
Definition: igeompoly.h:84
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
DIM - Provides code portability between 2D and 3D codes.
Interface for LinkType<> objects, POD that contain both the pointer to the next object and an index f...
Definition: ilinktype.h:14
Interface for LinkType<> objects, POD that contain both the pointer to the next object and an index f...
An array class that attempts to minimize unnecessary heap access.
A class representing a single closed polygon made up of a list of edges.
Definition: igeompoly.h:23
unsigned int TType
class type indicator
Definition: basedef.h:41
Interface for a user-defined geometric point.
Definition: igeompoint.h:18
Interface for a user-defined geometric edge, defined as the line between two IGeomPoint objects.
Definition: igeomedge.h:24
virtual int getFrontSideIndex() const
Returns the front side index, computed.
Definition: igeompoly.h:86
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition: dim.h:151
same as LynkType, but with a constant pointer object
Definition: ilinktype.h:46
virtual int getConnectIndex() const
Returns the connect index, computed.
Definition: igeompoly.h:82
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
virtual int getBackSideIndex() const
Returns the back side index, computed.
Definition: igeompoly.h:88