10 #include "base/src/callback.h" 19 class IContainerContact;
39 virtual TType getBallType()
const=0;
41 virtual TType getGhostBallType()
const=0;
43 virtual uint getBallGeometryNotice()
const=0;
45 virtual uint getBallPropertyNotice()
const=0;
47 virtual uint getBallVelocityNotice()
const=0;
49 virtual uint getBallCycleNotice()
const=0;
51 virtual uint getBallFixNotice()
const=0;
53 virtual uint getBallExtraNotice()
const=0;
55 virtual uint getBallGroupNotice()
const=0;
57 virtual uint getBallCleanNotice()
const=0;
59 virtual uint getBallRotationNotice()
const=0;
62 virtual const IContainer * getIContainerBall()
const=0;
66 virtual const IContainer * getIContainerGhostBall()
const=0;
68 virtual IContainer * getIContainerGhostBall()=0;
78 virtual const ICellSpace * getICellSpace()
const=0;
83 virtual const IBall * findBallWithID(quint64
id)
const=0;
86 virtual IBall * findBallWithID(quint64
id) =0;
89 virtual const IGhostBall * findGhostBallWithID(quint64
id)
const=0;
92 virtual IGhostBall * findGhostBallWithID(quint64
id) =0;
103 virtual const IBall * findBallContaining(
const DVect &v,QSet<quint64> *skip=
nullptr)
const=0;
104 virtual IBall * findBallContaining(
const DVect &v,QSet<quint64> *skip=
nullptr)=0;
106 virtual void validate()=0;
108 virtual const IEnergyMap * getIBallEnergies()
const=0;
110 virtual const IEnergyMap * getIContactBallBallEnergies()
const=0;
131 virtual IBall * createBall(
double rad,
DVect pos,quint64
id=0)=0;
134 virtual void populateAttributeSets(QStringList *scalarAtts,
FArray<uint> *scalarNotices,QStringList *stringAtts,
FArray<uint> *stringNotices,QStringList *vectorAtts,
FArray<uint> *vectorNotices)
const=0;
136 virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)
const=0;
139 virtual prop_signal * getPropertySignal()
const = 0;
145 template <
class S,
void (S::*MFP)(IBall *,qu
int32,qu
int32,
void *)>
148 threadedCallbackObject(callback,v,useThreads);
Definition: callback.h:30
namespace Itasca
Definition: basememory.cpp:9
Definition of a Signal2 object, holding a list of ISlot2 objects.
Definition: isignalbase.h:76
Interface for the small-granularity callback utility.
PFC namespace.
Definition: iballfluid.h:15
An array class that attempts to minimize unnecessary heap access.
void threadedCallbackMethod(S *s, void *v=nullptr, bool useThreads=true) const
Implementation of the multithreaded loop using the threadedCallbackObject.
Definition: imoduleball.h:146
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
unsigned int TType
class type indicator
Definition: basedef.h:41
Definition: ighostball.h:16
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition: dim.h:149
Definition: callback.h:122
Interface for a ball.
Definition: iball.h:35
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
Interface for the Ball module. This is the interface for the Ball module.
Definition: imoduleball.h:33
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
Interface to a "refining" cell space.
Definition: icellspace.h:24
Signal2< const QString &, const QVariant & > prop_signal
Signal emitted when a property is created or modified.
Definition: imoduleball.h:36
Interface to EnergyMap class.
Definition: ienergymap.h:15