9#include "base/src/property.h"
28 enum InOutMode { FullyOut=0, FullyIn, IntersectOut, IntersectIn, Surround};
46 virtual DExtent3 getExtent()
const=0;
48 virtual bool isBoxIn(
const DExtent &d,
const double &tol=1e-7)
const=0;
50 virtual bool intersectsBox(
const DExtent &d,
const double &tol=1e-7)
const=0;
52 virtual InOutMode checkInOutSphere(
const DVect &,
const double &)
const=0;
54 virtual Quat getOrient()
const=0;
57 virtual int getFragmentIndex()
const=0;
58 virtual void setFragmentIndex(
int ind)=0;
61 virtual void resetTimeStepContributions()=0;
64 virtual void getOldStress(std::array<
double,
dimval(3,6)> &)
const=0;
66 virtual double getVolume()
const=0;
68 virtual bool getAnyFixed()
const=0;
69 virtual bool getAllFixed()
const=0;
70 virtual DVect getPosition()
const=0;
71 virtual double getBodyConvergence()
const=0;
73 virtual std::vector<uint64> getSurfaceTriangles()
const=0;
3D quaternion utility class.
Definition quat.h:111
Definition basestring.h:71
Base class for items that will be stored in containers.
Definition ithing.h:31
virtual const IThing * getIThing() const =0
virtual IThing * getFirstIThing()=0
Get the first IThing - may be different than getFirstPiece.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition ibody.h:25
virtual base::Property getAttribute(const string &name) const =0
Return the value of the attribute.
virtual const IPiece * getFirstPiece() const =0
virtual const IThing * getFirstIThing() const =0
virtual IPiece * getFirstPiece()=0
Get the first piece.
virtual IThing * getIThing()=0
Return IThing interface associated with this piece.
virtual StringList getAllAttributes() const =0
Return a list of all the attribute names.
InOutMode
Enumerator for defining the geometric attributes of a body relative to a geometric shape.
Definition ibody.h:28
DIM - Provides code portability between 2D and 3D codes.
uint32 TType
class type indicator
Definition basedef.h:47
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition dim.h:162
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
constexpr const U & dimval(const T &, const U &val3)
Returns the first argument in a 2D compile, and the second in a 3D compile.
Definition dim.h:203
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:6