Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ihalffacet.h
1 #pragma once
2 
9 namespace itasca {
10  class IThing;
11 }
12 
13 //namespace pfc {
14 // class IFWall;
15 //}
16 
17 namespace itascaxd {
18  using namespace itasca;
19  //using namespace pfc;
20 
21  class IPiece;
22  class IPieceMechanical;
23  class IPieceMechanicalData;
24  class IHalfVertex;
25  class IHalfEdge;
26  //class ITriPoly;
27 
37  class IHalfFacet {
38  public:
40  inline static const TType type_ = 0x4c90674d;
41 
43  virtual IThing * getIThing()=0;
45  virtual const IThing * getIThing() const=0;
47  virtual IPiece * getIPiece()=0;
49  virtual const IPiece * getIPiece() const=0;
51  virtual IPieceMechanical * getIPieceMechanical()=0;
53  virtual const IPieceMechanical *getIPieceMechanical() const=0;
55  virtual IPieceMechanicalData * getIPieceMechanicalData()=0;
57  virtual const IPieceMechanicalData *getIPieceMechanicalData() const=0;
58 
60  virtual IHalfFacet * getNextIHalfFacet()=0;
62  virtual const IHalfFacet * getNextIHalfFacet() const=0;
63 
65  virtual IHalfVertex * getIHalfVertex(int i)=0;
67  virtual const IHalfVertex * getIHalfVertex(int i) const=0;
68 
70  virtual IHalfEdge * getIHalfEdge(int i)=0;
72  virtual const IHalfEdge * getIHalfEdge(int i) const=0;
73 
75  virtual DVect getCentroid() const=0;
76 
78  virtual DExtent3 getExtent() const=0;
80  virtual DExtent getCellExtent() const=0;
82  virtual DExtent getToleranceExtent() const=0;
83 
85  virtual DVect3 getNormal() const=0;
86 
88  //virtual const IFWall * getParentFWall() const=0;
89  //virtual IFWall * getParentFWall()=0;
90 
92  //virtual const ITriPoly * getParentTriPoly() const=0;
93 
95  virtual DVect calcClosestPoint(const DVect &) const=0;
96 
98  virtual DVect getPosition() const = 0;
100  virtual DVect getVelocity() const = 0;
102  virtual DVect getConveyorVelocity() const = 0;
104  virtual void setConveyorVelocity(const DVect &) = 0;
106  virtual QString getActiveSideLabel() const = 0;
108  virtual int getActiveSide() const = 0;
110  virtual void setActiveSide(int t) = 0;
111 
112  };
113 }// namespace itascaxd
114 // EoF
115 
Interface for an edge used in the faceted wall logic. This is the interface for an edge used in the f...
Definition: ihalfedge.h:23
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
Interface for a vertex used in the faceted wall logic. This is the interface for a vertex used in the...
Definition: ihalfvertex.h:27
Definition: ipiecemechanicaldata.h:13
Definition: ipiece.h:15
Definition: ipiecemechanical.h:11
unsigned int TType
class type indicator
Definition: basedef.h:41
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition: dim.h:149
Interface for a facet used in the faceted wall logic. This is the interface for a triangular facet as...
Definition: ihalffacet.h:37
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145