Itasca C++ Interface
Loading...
Searching...
No Matches
imoduleclumpccfd.h
1#pragma once
2// imoduleclumpccfd.h
3#include "shared/interface/signal.h"
4#include "base/src/farray.h"
5
6namespace itasca {
7 class IContainer;
8 class IEnergyMap;
9}
10
11namespace itascaxd {
12 class ICellSpace;
13 class IContainerContact;
14}
15
16namespace ccfd {
17 using namespace itasca;
18 using namespace itascaxd;
19
20 class IClumpCCFD;
21 class IPebbleCCFD;
22
24 public:
25 using prop_signal = shared::Signal<const QString &, const QVariant &>;
26
27 virtual TType getClumpCCFDType() const=0;
28 virtual TType getPebbleCCFDType() const=0;
29 virtual uint32 getClumpCCFDCycleNotice() const=0;
30 virtual uint32 getClumpCCFDExtraNotice() const=0;
31 virtual uint32 getClumpCCFDGroupNotice() const=0;
32 virtual uint32 getClumpCCFDCleanNotice() const=0;
33 virtual const IContainer * getIContainerClumpCCFD() const=0;
34 virtual IContainer * getIContainerClumpCCFD()=0;
35 virtual const IClumpCCFD * findClumpCCFDWithID(uint64 id) const=0;
36 virtual IClumpCCFD * findClumpCCFDWithID(uint64 id) =0;
37 virtual const IContainer * getIContainerPebbleCCFD() const=0;
38 virtual IContainer * getIContainerPebbleCCFD()=0;
39 virtual const IPebbleCCFD * findPebbleCCFDWithID(uint64 id) const=0;
40 virtual IPebbleCCFD * findPebbleCCFDWithID(uint64 id) =0;
41 virtual const IClumpCCFD * findClumpCCFDClosestTo(const DVect3 &v,const double &radius=limits<double>::max()) const=0;
42 virtual IClumpCCFD * findClumpCCFDClosestTo(const DVect3 &v,const double &radius=limits<double>::max())=0;
43 virtual void validate()=0;
44 //virtual const IEnergyMap * getIClumpCCFDEnergies() const=0;
45
46 // Populates sets of property names based on their type including the relevant notices
47 virtual void populateAttributeSets(QStringList *scalarAtts,FArray<uint32> *scalarNotices,QStringList *stringAtts,FArray<uint32> *stringNotices,QStringList *vectorAtts,FArray<uint32> *vectorNotices)const=0;
48 // Populates sets of property names based on their type
49 virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)const=0;
50
51 };
52} // namespace ccfd
53// EoF
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Definition iclumpccfd.h:28
Definition imoduleclumpccfd.h:23
Definition ipebbleccfd.h:25
Interface for containers of IThings.
Definition icontainer.h:21
debug checked shorthand for std::numeric_limits<T>::
Definition limit.h:25
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition basedef.h:46
ccfd namespace
Definition iballfluid.h:19
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4