Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
imoduleclumpccfd.h
1 #pragma once
2 // imoduleclumpccfd.h
4 #include "base/src/farray.h"
5 
6 namespace itasca {
7  class IContainer;
8  class IEnergyMap;
9 }
10 
11 namespace itascaxd {
12  class ICellSpace;
13  class IContainerContact;
14 }
15 
16 namespace ccfd {
17  using namespace itasca;
18  using namespace itascaxd;
19 
20  class IClumpCCFD;
21  class IPebbleCCFD;
22 
24  public:
26 
27  virtual TType getClumpCCFDType() const=0;
28  virtual TType getPebbleCCFDType() const=0;
29  virtual uint getClumpCCFDCycleNotice() const=0;
30  virtual uint getClumpCCFDExtraNotice() const=0;
31  virtual uint getClumpCCFDGroupNotice() const=0;
32  virtual uint getClumpCCFDCleanNotice() const=0;
33  virtual const IContainer * getIContainerClumpCCFD() const=0;
34  virtual IContainer * getIContainerClumpCCFD()=0;
35  virtual const IClumpCCFD * findClumpCCFDWithID(quint64 id) const=0;
36  virtual IClumpCCFD * findClumpCCFDWithID(quint64 id) =0;
37  virtual const IContainer * getIContainerPebbleCCFD() const=0;
38  virtual IContainer * getIContainerPebbleCCFD()=0;
39  virtual const IPebbleCCFD * findPebbleCCFDWithID(quint64 id) const=0;
40  virtual IPebbleCCFD * findPebbleCCFDWithID(quint64 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<uint> *scalarNotices,QStringList *stringAtts,FArray<uint> *stringNotices,QStringList *vectorAtts,FArray<uint> *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
namespace Itasca
Definition: basememory.cpp:9
Definition of a Signal2 object, holding a list of ISlot2 objects.
Definition: isignalbase.h:76
Definition: iclumpccfd.h:28
ccfd namespace
Definition: iballfluid.h:19
Definition: imoduleclumpccfd.h:23
Interface for the small-granularity callback utility.
Definition: ipebbleccfd.h:25
An array class that attempts to minimize unnecessary heap access.
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
unsigned int TType
class type indicator
Definition: basedef.h:41
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
Interface for containers of IThings.
Definition: icontainer.h:23