Itasca C++ Interface
Loading...
Searching...
No Matches
imoduleclumpthermal.h
1#pragma once
2// imoduleclumpthermal.h
3// For CLUMPTHERMAL Module
4#include "shared/interface/signal.h"
5#include "base/src/farray.h"
6
7namespace itasca {
8 class IContainer;
9 class IEnergyMap;
10}
11
12namespace itascaxd {
13 class ICellSpace;
14 class IContainerContact;
15}
16
17namespace pfcthermal {
18 using namespace itasca;
19 using namespace itascaxd;
20
21 class IClumpThermal;
22 class IPebbleThermal;
23
25 public:
26 using prop_signal = shared::Signal<const QString &,const QVariant &>;
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
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
Contact container class.
Definition icontainercontact.h:28
debug checked shorthand for std::numeric_limits<T>::
Definition limit.h:25
Definition iclumpthermal.h:27
Definition imoduleclumpthermal.h:24
virtual prop_signal * getPropertySignal() const =0
Return the signal associated with the addition of a new property.
Definition ipebblethermal.h:25
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition basedef.h:46
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