Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
imoduleclumpthermal.h
1 #pragma once
2 // imoduleclumpthermal.h
3 // For CLUMPTHERMAL Module
5 #include "base/src/farray.h"
6 
7 namespace itasca {
8  class IContainer;
9  class IEnergyMap;
10 }
11 
12 namespace itascaxd {
13  class ICellSpace;
14  class IContainerContact;
15 }
16 
17 namespace pfcthermal {
18  using namespace itasca;
19  using namespace itascaxd;
20 
21  class IClumpThermal;
22  class IPebbleThermal;
23 
25  public:
27 
28  virtual TType getClumpThermalType() const=0;
29  virtual uint getClumpThermalPropertyNotice() const=0;
30  virtual uint getClumpThermalCycleNotice() const=0;
31  virtual uint getClumpThermalFixNotice() const=0;
32  virtual uint getClumpThermalExtraNotice() const=0;
33  virtual uint getClumpThermalGroupNotice() const=0;
34  virtual uint getClumpThermalCleanNotice() const=0;
35  virtual const IContainer * getIContainerClumpThermal() const=0;
36  virtual IContainer * getIContainerClumpThermal()=0;
37  virtual const IContainer * getIContainerPebbleThermal() const=0;
38  virtual IContainer * getIContainerPebbleThermal()=0;
39  virtual const IContainerContact *getIContainerPebblePebbleContactThermal() const=0;
40  virtual IContainerContact * getIContainerPebblePebbleContactThermal()=0;
41  virtual const IClumpThermal * findClumpThermalWithID(quint64 id) const=0;
42  virtual IClumpThermal * findClumpThermalWithID(quint64 id) =0;
43  virtual const IClumpThermal * findClumpThermalClosestTo(const DVect &v,const double &radius=limits<double>::max()) const=0;
44  virtual IClumpThermal * findClumpThermalClosestTo(const DVect &v,const double &radius=limits<double>::max())=0;
45  virtual void validate()=0;
46  virtual TType getPebbleThermalType() const=0;
47  virtual const IPebbleThermal * findPebbleThermalWithID(quint64 id) const = 0;
48  virtual IPebbleThermal * findPebbleThermalWithID(quint64 id) = 0;
49  virtual const IEnergyMap * getIClumpThermalEnergies() const=0;
50  virtual const IEnergyMap * getIContactThermalPebblePebbleEnergies() const=0;
51 
52  // Populates sets of property names based on their type including the relevant notices
53  virtual void populateAttributeSets(QStringList *scalarAtts,FArray<uint> *scalarNotices,QStringList *stringAtts,FArray<uint> *stringNotices,QStringList *vectorAtts,FArray<uint> *vectorNotices)const=0;
54  // Populates sets of property names based on their type
55  virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)const=0;
56 
58  virtual prop_signal * getPropertySignal() const = 0;
59 
60  };
61 } // namespace pfcthermal
62 // EoF
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.
An array class that attempts to minimize unnecessary heap access.
Contact container class.
Definition: icontainercontact.h:28
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
Definition: imoduleclumpthermal.h:24
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
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:145
PFCTHERMAL namespace.
Definition: iballthermal.h:18
Definition: ipebblethermal.h:25
Interface to EnergyMap class.
Definition: ienergymap.h:15
Definition: iclumpthermal.h:27