8#include "shared/interface/signal.h"
10#include "base/src/callback.h"
20 class IContainerContact;
39 using prop_signal = shared::Signal<const QString &,const QVariant &>;
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(uint64
id)
const=0;
95 virtual IClump * findClumpWithID(uint64
id) =0;
98 virtual const IClump * findClumpContaining(
const DVect &v,QSet<uint64> *skip=
nullptr)
const=0;
99 virtual IClump * findClumpContaining(
const DVect &v,QSet<uint64> *skip=
nullptr)=0;
100 virtual const IPebble * findPebbleWithID(uint64
id)
const=0;
101 virtual IPebble * findPebbleWithID(uint64
id) =0;
104 virtual const IPebble * findPebbleContaining(
const DVect &v,QSet<uint64> *skip=
nullptr)
const=0;
105 virtual IPebble * findPebbleContaining(
const DVect &v,QSet<uint64> *skip=
nullptr)=0;
106 virtual const IClumpTemplate * findClumpTemplateWithID(uint64
id)
const=0;
108 virtual const IClumpTemplate * findClumpTemplateWithName(
const QString &)
const=0;
109 virtual IClumpTemplate * findClumpTemplateWithName(
const QString &) =0;
110 virtual const IPebble * findClumpTemplatePebbleWithID(uint64
id)
const=0;
111 virtual IPebble * findClumpTemplatePebbleWithID(uint64
id) =0;
112 virtual const IGhostPebble * findGhostPebbleWithID(uint64
id)
const=0;
113 virtual IGhostPebble * findGhostPebbleWithID(uint64
id) =0;
114 virtual void validate()=0;
115 virtual const IEnergyMap * getIClumpEnergies()
const=0;
116 virtual const IEnergyMap * getIContactPebblePebbleEnergies()
const=0;
131 virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)
const=0;
144 template <
class S,
void (S::*MFP)(IClump *,u
int32,u
int32,
void *)>
154 template <
class S,
void (S::*MFP)(IPebble *,u
int32,u
int32,
void *)>
Definition callback.h:130
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Interface for containers of IThings.
Definition icontainer.h:21
Interface to EnergyMap class.
Definition ienergymap.h:15
Interface to a "refining" cell space.
Definition icellspace.h:24
debug checked shorthand for std::numeric_limits<T>::
Definition limit.h:25
Interface for a clump. This is the interface for a clump. A clump is a collection of pebbles that def...
Definition iclump.h:37
Interface for a clump template. This is the interface for a clump template. A clump template is compo...
Definition iclumptemplate.h:25
Definition ighostpebble.h:16
Interface for the Clump module. This is the interface for the Clump module.
Definition imoduleclump.h:36
void threadedCallbackMethodPebble(S *s, void *v=nullptr, bool useThreads=true) const
Implementation of the multithreaded loop using the threadedCallbackObjectPebble
Definition imoduleclump.h:155
virtual void getClumpInBoxList(const DExtent &d, FArray< IClump * > *ret, bool intersect=true)=0
Return the clumps in a box.
virtual void populatePropertySets(QStringList *scalarProps, QStringList *stringProps, QStringList *vectorProps) const =0
Populates sets of property names based on their type.
virtual const IContainer * getIContainerClump() const =0
const access to the Clump container
virtual IContainer * getIContainerClump()=0
access to the Clump container
virtual TType getClumpTemplateType() const =0
ClumpTemplate TType for type casting.
virtual uint32 getClumpPropertyNotice() const =0
Clump property notice unsigned integer.
virtual uint32 getClumpVelocityNotice() const =0
Clump velocity notice unsigned integer.
virtual TType getClumpType() const =0
Clump TType for type casting.
virtual uint32 getPebbleGroupNotice() const =0
Pebble group notice unsigned integer.
virtual void populatePieceAttributeSets(QStringList *valueAtts, QStringList *labelAtts, QStringList *vectorAtts) const =0
Populates sets of piece property names based on their type.
virtual prop_signal * getPropertySignal() const =0
Return the signal associated with the addition of a new property.
virtual void threadedCallbackObjectPebble(Callback4< void, IPebble *, uint32, uint32, void * > &callback, void *v=nullptr, bool useThreads=true) const =0
Object for creation of multithreaded loop over pebbles.
virtual uint32 getClumpCycleNotice() const =0
Clump cycle notice unsigned integer.
void threadedCallbackMethodClump(S *s, void *v=nullptr, bool useThreads=true) const
Implementation of the multithreaded loop using the threadedCallbackObjectClump
Definition imoduleclump.h:145
virtual uint32 getClumpRotationNotice() const =0
Clump rotation notice unsigned integer.
virtual IClumpTemplate * createFromClump(const IClump &c, const QString &name)=0
virtual uint32 getClumpExtraNotice() const =0
Clump extra notice unsigned integer.
virtual uint32 getClumpGroupNotice() const =0
Clump group notice unsigned integer.
virtual uint32 getPebbleExtraNotice() const =0
Pebble extra velocity notice unsigned integer.
virtual void threadedCallbackObjectClump(Callback4< void, IClump *, uint32, uint32, void * > &callback, void *v=nullptr, bool useThreads=true) const =0
Object for creation of multithreaded loop over clumps.
virtual void getPebbleInBoxList(const DExtent &d, FArray< IPebble * > *ret, bool intersect=true)=0
Return the pebbles in a box.
virtual uint32 getClumpCleanNotice() const =0
Clump clean notice unsigned integer.
virtual uint32 getClumpGeometryNotice() const =0
Clump geometry notice unsigned integer.
virtual const IContainer * getIContainerClumpTemplate() const =0
const access to the ClumpTemplate container
virtual TType getGhostPebbleType() const =0
GhostPebble TType for type casting.
virtual IContainer * getIContainerClumpTemplate()=0
access to the ClumpTemplate container
shared::Signal< const QString &, const QVariant & > prop_signal
Signal emitted when a property is created or modified.
Definition imoduleclump.h:39
virtual TType getPebbleType() const =0
Pebble TType for type casting.
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition basedef.h:46
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:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4
PFC namespace.
Definition iballfluid.h:15