Itasca C++ Interface
Loading...
Searching...
No Matches
irblockthermalmodule.h
Go to the documentation of this file.
1#pragma once
8// irblockthermalmodule.h
9#include "base/src/farray.h"
10#include "shared/interface/signal.h"
11
12namespace itasca {
13 class IContainer;
14 class IEnergyMap;
15}
16
17namespace itascaxd {
18 class ICellSpace;
19 class IContainerContact;
20}
21
23namespace rblockthermal {
24 using namespace itasca;
25 using namespace itascaxd;
26
27 class IRBlockThermal;
28
31
34 public:
35
36 virtual TType getRBlockThermalType() const=0;
37 virtual uint getRBlockThermalPropertyNotice() const=0;
38 virtual uint getRBlockThermalCycleNotice() const=0;
39 virtual uint getRBlockThermalFixNotice() const=0;
40 virtual uint getRBlockThermalExtraNotice() const=0;
41 virtual uint getRBlockThermalGroupNotice() const=0;
42 virtual uint getRBlockThermalCleanNotice() const=0;
43 virtual const IContainer * getIContainerRBlockThermal() const=0;
44 virtual IContainer * getIContainerRBlockThermal()=0;
45 virtual const IContainerContact *getIContainerRBlockRBlockContactThermal() const=0;
46 virtual IContainerContact * getIContainerRBlockRBlockContactThermal()=0;
47 virtual const IRBlockThermal * findRBlockThermalWithID(quint64 id) const=0;
48 virtual IRBlockThermal * findRBlockThermalWithID(quint64 id) =0;
49 virtual const IRBlockThermal * findRBlockThermalClosestTo(const DVect &v,const double &radius=limits<double>::max()) const=0;
50 virtual IRBlockThermal * findRBlockThermalClosestTo(const DVect &v,const double &radius=limits<double>::max())=0;
51 virtual void validate()=0;
52 virtual const IEnergyMap * getIRBlockThermalEnergies() const=0;
53 virtual const IEnergyMap * getIContactThermalRBlockRBlockEnergies() const=0;
54
55 // Populates sets of property names based on their type including the relevant notices
56 virtual void populateAttributeSets(QStringList *scalarAtts,FArray<uint> *scalarNotices,QStringList *stringAtts,FArray<uint> *stringNotices,QStringList *vectorAtts,FArray<uint> *vectorNotices)const=0;
57 // Populates sets of property names based on their type
58 virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)const=0;
59
60 using prop_signal = shared::Signal<const QString &,const QVariant &>;
61
63 virtual prop_signal * getPropertySignal() const = 0;
64
65 };
67
68} // namespace rblockthermal
69// 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 irblockthermal.h:24
Interface for the RBlock thermal module.
Definition irblockthermalmodule.h:33
virtual prop_signal * getPropertySignal() const =0
Return the signal associated with the addition of a new property.
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
RBLOCKTHERMAL namespace.
Definition icontactthermalballrblock.h:13