Itasca C++ Interface
Loading...
Searching...
No Matches
ihalffacet.h
1#pragma once
9namespace itasca {
10 class IThing;
11}
12
13//namespace pfc {
14// class IFWall;
15//}
16
17namespace 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;
53 virtual const IPieceMechanical *getIPieceMechanical() const=0;
58
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
Base class for items that will be stored in containers.
Definition ithing.h:30
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
Interface for a facet used in the faceted wall logic. This is the interface for a triangular facet as...
Definition ihalffacet.h:37
virtual DExtent getCellExtent() const =0
Return the DExtent cell extent used for contact detection and remapping.
virtual IPiece * getIPiece()=0
Return an IPiece pointer.
virtual void setActiveSide(int t)=0
Set the integer of the side activity.
virtual DVect getCentroid() const =0
Return the DVect centroid of the facet or the average position of all vertices.
static const TType type_
TType type used for type casting.
Definition ihalffacet.h:40
virtual IPieceMechanical * getIPieceMechanical()=0
Return an IPieceMechanical pointer.
virtual IThing * getIThing()=0
Return an IThing interface for this object.
virtual QString getActiveSideLabel() const =0
Return the string of the facet activity.
virtual const IPiece * getIPiece() const =0
Return a const IPiece pointer.
virtual const IHalfFacet * getNextIHalfFacet() const =0
Return the next const IHalfFacet in the local list of facets.
virtual DVect getConveyorVelocity() const =0
Return the conveyor velocity.
virtual const IThing * getIThing() const =0
Return a const IThing interface for this object.
virtual IHalfEdge * getIHalfEdge(int i)=0
Return the IHalfEdge with index i. The origin of IHalfEdge i is IHalfVertex i.
virtual DExtent getToleranceExtent() const =0
Return the DExtent cell extent used for contact detection and remapping.
virtual DVect getPosition() const =0
Return the centroid position.
virtual DVect calcClosestPoint(const DVect &) const =0
Return a pointer the the parent faceted wall.
virtual IHalfVertex * getIHalfVertex(int i)=0
Return the IHalfVertex with index i that corresponds to the dimension.
virtual IPieceMechanicalData * getIPieceMechanicalData()=0
Return an IPieceMechanicalData pointer.
virtual const IPieceMechanicalData * getIPieceMechanicalData() const =0
Return a const IPieceMechanicalData pointer.
virtual int getActiveSide() const =0
Return the integer of the side activity.
virtual DExtent3 getExtent() const =0
Return the extent in DExtent3 format.
virtual void setConveyorVelocity(const DVect &)=0
Set the conveyor velocity.
virtual const IPieceMechanical * getIPieceMechanical() const =0
Return a const IPieceMechanical pointer.
virtual const IHalfEdge * getIHalfEdge(int i) const =0
Return the const IHalfEdge with index i. The origin of IHalfEdge i is IHalfVertex i.
virtual DVect3 getNormal() const =0
Return the DVect normal of the facets.
virtual DVect getVelocity() const =0
Return the velocity at the centroid.
virtual const IHalfVertex * getIHalfVertex(int i) const =0
Return the const IHalfVertex with index i that corresponds to the dimension.
virtual IHalfFacet * getNextIHalfFacet()=0
Return the next IHalfFacet in the local list of facets.
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 ipiece.h:15
Definition ipiecemechanicaldata.h:13
Definition ipiecemechanical.h:11
uint32 TType
class type indicator
Definition basedef.h:46
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition dim.h:160
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4