17 class IPieceMechanical;
48 inline static const TType type_ = 0x4c90658e;
50 virtual IThing * getIThing()=0;
52 virtual const IThing * getIThing()
const=0;
54 virtual IBody * getIBody() = 0;
56 virtual const IBody * getIBody()
const = 0;
58 virtual QString
getName()
const=0;
60 virtual IFWall * getNextIFWall()=0;
62 virtual const IFWall * getNextIFWall()
const=0;
66 virtual const IHalfFacet *getFirstIHalfFacet()
const=0;
68 virtual DExtent3 getExtent()
const=0;
70 virtual double getCutoffAng()
const=0;
72 virtual void setCutoffAng(
const double &d) =0;
74 virtual IContainer *getFWallAsFacetContainer() =0;
76 virtual const IContainer *getFWallAsFacetContainer()
const=0;
78 virtual IContainer *getFWallAsVertexContainer() =0;
80 virtual const IContainer *getFWallAsVertexContainer()
const=0;
84 virtual int getNumberFacets()
const=0;
90 virtual const IHalfFacet * findFacetWithID(quint64
id)
const=0;
92 virtual IHalfFacet * findFacetWithID(quint64
id) =0;
98 virtual void removeIHalfFacet(
IHalfFacet *fac) =0;
100 virtual IHalfFacet * addFacetFromVertices(
DVect verts[dim],QString &error,quint64
id=0,
bool ignoreEnd=
false,
bool allowStar=
false)=0;
102 virtual void doValidate() = 0;
109 virtual const IHalfVertex * findVertexWithID(quint64
id)
const=0;
111 virtual IHalfVertex * findVertexWithID(quint64
id) =0;
118 virtual DVect getPosition()
const = 0;
120 virtual DVect getCentRot()
const = 0;
122 virtual DVect getVelocity()
const = 0;
124 virtual DAVect getAngVelocity()
const = 0;
126 virtual DVect getDisplacement()
const = 0;
128 virtual double getAngDisplacement()
const = 0;
131 virtual DVect getForce()
const = 0;
133 virtual DVect getContactForce()
const = 0;
135 virtual DAVect getMoment()
const = 0;
136 virtual DAVect getContactMoment()
const = 0;
138 virtual Quat getOrient()
const=0;
140 virtual bool getIsClosed()
const=0;
142 virtual bool getIsIn(
const DVect &d)
const=0;
144 virtual bool getIsConvex()
const=0;
147 virtual void setPosition(
const DVect &p) = 0;
149 virtual void setCentRot(
const DVect &p) = 0;
151 virtual void setVelocity(
const DVect &p) = 0;
153 virtual void setAngVelocity(
const DAVect &p) = 0;
155 virtual void setDisplacement(
const DVect &v) = 0;
157 virtual void setAngDisplacement(
const double &v) = 0;
160 virtual void setContactForce(
const DVect &v)=0;
163 virtual void setContactMoment(
const DAVect &v)=0;
165 virtual void setOrient(
const Quat &q)=0;
167 virtual DVect getEulerFromOrient()
const=0;
170 virtual void setOrientFromEuler(
const DVect3 &d)=0;
172 virtual bool setProperty(
const QString &name,
const QVariant &v)=0;
177 virtual void rotate(
const DVect &rotp,
const DVect &axis,
const double &w,
bool update=
true,
bool noThrow =
false) = 0;
181 virtual bool getVertsHaveVel()
const = 0;
186 virtual int getFragmentIndex()
const=0;
188 virtual void setFragmentIndex(
int ind)=0;
195 virtual double getServoGainFactor()
const =0;
197 virtual double getServoGain()
const =0;
199 virtual double getServoVmax()
const =0;
201 virtual DVect getServoForce()
const =0;
203 virtual bool getServoActive()
const =0;
205 virtual int getServoGainUpdate()
const =0;
207 virtual void setServoGainFactor(
const double &d) =0;
209 virtual void setServoGain(
const double &d) =0;
211 virtual void setServoVmax(
const double &d) =0;
213 virtual void setServoForce(
const DVect &f) =0;
215 virtual void setServoActive(
bool b) =0;
217 virtual void setServoGainUpdate(
int i) =0;
Interface for a faceted wall.
Definition: ifwall.h:45
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
PFC namespace.
Definition: iballfluid.h:15
An array class that attempts to minimize unnecessary heap access.
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
unsigned int TType
class type indicator
Definition: basedef.h:41
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
DAVect3 DAVect
Angular vector of doubles, either 2D or 3D.
Definition: dim.h:151
EXPORT_TAG const char * getName()
Definition: fishexample.cpp:43
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
Interface for containers of IThings.
Definition: icontainer.h:23
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
3D quaternion utility class.
Definition: quat.h:103