Itasca C++ Interface
Loading...
Searching...
No Matches
ihalffacet.h
1#pragma once
9#include "baseqt/src/baseqt.h"
10
11namespace itasca {
12 class IThing;
13}
14
15//namespace pfc {
16// class IFWall;
17//}
18
19namespace itascaxd {
20 using namespace itasca;
21 //using namespace pfc;
22
23 class IPiece;
24 class IPieceMechanical;
25 class IPieceMechanicalData;
26 class IHalfVertex;
27 class IHalfEdge;
28 //class ITriPoly;
29
39 class IHalfFacet {
40 public:
42 inline static const TType type_ = 0x4c90674d;
43
45 virtual IThing * getIThing()=0;
47 virtual const IThing * getIThing() const=0;
49 virtual IPiece * getIPiece()=0;
51 virtual const IPiece * getIPiece() const=0;
55 virtual const IPieceMechanical *getIPieceMechanical() const=0;
60
64 virtual const IHalfFacet * getNextIHalfFacet() const=0;
65
67 virtual IHalfVertex * getIHalfVertex(int i)=0;
69 virtual const IHalfVertex * getIHalfVertex(int i) const=0;
70
72 virtual IHalfEdge * getIHalfEdge(int i)=0;
74 virtual const IHalfEdge * getIHalfEdge(int i) const=0;
75
77 virtual DVect getCentroid() const=0;
78
80 virtual DExtent3 getExtent() const=0;
82 virtual DExtent getCellExtent() const=0;
84 virtual DExtent getToleranceExtent() const=0;
85
87 virtual DVect3 getNormal() const=0;
88
90 //virtual const IFWall * getParentFWall() const=0;
91 //virtual IFWall * getParentFWall()=0;
92
94 //virtual const ITriPoly * getParentTriPoly() const=0;
95
97 virtual DVect calcClosestPoint(const DVect &) const=0;
98
100 virtual DVect getPosition() const = 0;
102 virtual DVect getVelocity() const = 0;
104 virtual DVect getConveyorVelocity() const = 0;
106 virtual void setConveyorVelocity(const DVect &) = 0;
108 virtual QString getActiveSideLabel() const = 0;
110 virtual int getActiveSide() const = 0;
112 virtual void setActiveSide(int t) = 0;
113
114 };
115}// namespace itascaxd
116// EoF
117
Base class for items that will be stored in containers.
Definition ithing.h:31
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:39
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:42
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:28
Definition ipiece.h:16
Definition ipiecemechanicaldata.h:13
Definition ipiecemechanical.h:11
uint32 TType
class type indicator
Definition basedef.h:47
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:6