10 #include "base/src/callback.h" 20 class IContainerContact;
42 virtual TType getClumpType()
const=0;
44 virtual TType getPebbleType()
const=0;
46 virtual TType getClumpTemplateType()
const=0;
48 virtual TType getGhostPebbleType()
const=0;
50 virtual uint getClumpGeometryNotice()
const=0;
52 virtual uint getClumpPropertyNotice()
const=0;
54 virtual uint getClumpVelocityNotice()
const=0;
56 virtual uint getClumpCycleNotice()
const=0;
58 virtual uint getClumpExtraNotice()
const=0;
60 virtual uint getClumpGroupNotice()
const=0;
62 virtual uint getClumpCleanNotice()
const=0;
64 virtual uint getClumpRotationNotice()
const=0;
66 virtual uint getPebbleExtraNotice()
const=0;
68 virtual uint getPebbleGroupNotice()
const=0;
71 virtual const IContainer * getIContainerClump()
const=0;
75 virtual const IContainer * getIContainerClumpTemplate()
const=0;
77 virtual IContainer * getIContainerClumpTemplate()=0;
78 virtual const IContainer * getIContainerClumpTemplateClumps()
const=0;
79 virtual IContainer * getIContainerClumpTemplateClumps()=0;
80 virtual const IContainer * getIContainerClumpTemplatePebbles()
const=0;
81 virtual IContainer * getIContainerClumpTemplatePebbles()=0;
82 virtual const IContainer * getIContainerPebble()
const=0;
84 virtual const IContainer * getIContainerBasePebble()
const=0;
85 virtual IContainer * getIContainerBasePebble()=0;
86 virtual const IContainer * getIContainerGhostPebble()
const=0;
87 virtual IContainer * getIContainerGhostPebble()=0;
92 virtual const ICellSpace * getICellSpacePebble()
const=0;
94 virtual const IClump * findClumpWithID(quint64
id)
const=0;
95 virtual IClump * findClumpWithID(quint64
id) =0;
98 virtual const IClump * findClumpContaining(
const DVect &v,QSet<quint64> *skip=
nullptr)
const=0;
99 virtual IClump * findClumpContaining(
const DVect &v,QSet<quint64> *skip=
nullptr)=0;
100 virtual const IPebble * findPebbleWithID(quint64
id)
const=0;
101 virtual IPebble * findPebbleWithID(quint64
id) =0;
104 virtual const IPebble * findPebbleContaining(
const DVect &v,QSet<quint64> *skip=
nullptr)
const=0;
105 virtual IPebble * findPebbleContaining(
const DVect &v,QSet<quint64> *skip=
nullptr)=0;
106 virtual const IClumpTemplate * findClumpTemplateWithID(quint64
id)
const=0;
108 virtual const IClumpTemplate * findClumpTemplateWithName(
const QString &)
const=0;
109 virtual IClumpTemplate * findClumpTemplateWithName(
const QString &) =0;
110 virtual const IPebble * findClumpTemplatePebbleWithID(quint64
id)
const=0;
111 virtual IPebble * findClumpTemplatePebbleWithID(quint64
id) =0;
112 virtual const IGhostPebble * findGhostPebbleWithID(quint64
id)
const=0;
113 virtual IGhostPebble * findGhostPebbleWithID(quint64
id) =0;
114 virtual void validate()=0;
115 virtual const IEnergyMap * getIClumpEnergies()
const=0;
116 virtual const IEnergyMap * getIContactPebblePebbleEnergies()
const=0;
127 virtual void populateAttributeSets(QStringList *scalarAtts,
FArray<uint> *scalarNotices,QStringList *stringAtts,
FArray<uint> *stringNotices,QStringList *vectorAtts,
FArray<uint> *vectorNotices)
const=0;
129 virtual void populatePieceAttributeSets(QStringList *valueAtts,QStringList *labelAtts,QStringList *vectorAtts)
const=0;
131 virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)
const=0;
134 virtual prop_signal * getPropertySignal()
const = 0;
144 template <
class S,
void (S::*MFP)(IClump *,qu
int32,qu
int32,
void *)>
147 threadedCallbackObjectClump(callback,v,useThreads);
154 template <
class S,
void (S::*MFP)(IPebble *,qu
int32,qu
int32,
void *)>
157 threadedCallbackObjectPebble(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
Definition: ighostpebble.h:16
Interface for the small-granularity callback utility.
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
Interface for a clump template. This is the interface for a clump template. A clump template is compo...
Definition: iclumptemplate.h:25
void threadedCallbackMethodPebble(S *s, void *v=nullptr, bool useThreads=true) const
Implementation of the multithreaded loop using the threadedCallbackObjectPebble.
Definition: imoduleclump.h:155
unsigned int TType
class type indicator
Definition: basedef.h:41
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition: dim.h:149
Definition: callback.h:122
void threadedCallbackMethodClump(S *s, void *v=nullptr, bool useThreads=true) const
Implementation of the multithreaded loop using the threadedCallbackObjectClump.
Definition: imoduleclump.h:145
Interface for a clump. This is the interface for a clump. A clump is a collection of pebbles that def...
Definition: iclump.h:37
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
Signal2< const QString &, const QVariant & > prop_signal
Signal emitted when a property is created or modified.
Definition: imoduleclump.h:39
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
Interface for the Clump module. This is the interface for the Clump module.
Definition: imoduleclump.h:36
Interface to EnergyMap class.
Definition: ienergymap.h:15