Itasca C++ Interface
Toggle main menu visibility
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
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
24
class
IModuleClumpThermal
{
25
public
:
26
using
prop_signal = shared::Signal<const string &,const base::Property &>;
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(uint64
id
)
const
=0;
42
virtual
IClumpThermal
* findClumpThermalWithID(uint64
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(uint64
id
)
const
= 0;
48
virtual
IPebbleThermal
* findPebbleThermalWithID(uint64
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(
StringList
*scalarAtts,
FArray<uint32>
*scalarNotices,
StringList
*stringAtts,
FArray<uint>
*stringNotices,
StringList
*vectorAtts,
FArray<uint>
*vectorNotices)
const
=0;
54
// Populates sets of property names based on their type
55
virtual
void
populatePropertySets(
StringList
*scalarProps,
StringList
*stringProps,
StringList
*vectorProps)
const
=0;
56
58
virtual
prop_signal *
getPropertySignal
()
const
= 0;
59
60
};
61
}
// namespace pfcthermal
62
// EoF
FArray
An array class that attempts to minimize unnecessary heap access.
Definition
farray.h:25
StringList
Definition
basestring.h:71
itasca::IContainer
Interface for containers of IThings.
Definition
icontainer.h:21
itasca::IEnergyMap
Interface to EnergyMap class.
Definition
ienergymap.h:13
itascaxd::IContainerContact
Contact container class.
Definition
icontainercontact.h:29
limits
debug checked shorthand for std::numeric_limits<T>::
Definition
limit.h:25
pfcthermal::IClumpThermal
Definition
iclumpthermal.h:27
pfcthermal::IModuleClumpThermal
Definition
imoduleclumpthermal.h:24
pfcthermal::IModuleClumpThermal::getPropertySignal
virtual prop_signal * getPropertySignal() const =0
Return the signal associated with the addition of a new property.
pfcthermal::IPebbleThermal
Definition
ipebblethermal.h:25
farray.h
An array class that attempts to minimize unnecessary heap access.
TType
uint32 TType
class type indicator
Definition
basedef.h:47
itascaxd
#define itascaxd
Expands to itasca2d in 2D, itasca3d in 3D, for use as a namespace name....
Definition
dim.h:181
DVect
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition
dim.h:156
itasca
namespace Itasca
Definition
basememory.cpp:14
itascaxd
Itasca Library standard namespace, specific to 2D or 3D.
Definition
icontactmodule.h:6
pfc
pfcthermalmodule
interface
imoduleclumpthermal.h
Generated by
1.18.0