Itasca C++ Interface
Toggle main menu visibility
Loading...
Searching...
No Matches
imoduleballthermal.h
1
#pragma once
2
// imoduleballthermal.h
3
// For BALLTHERMAL 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
IBallThermal
;
22
23
class
IModuleBallThermal
{
24
public
:
25
using
prop_signal = shared::Signal<const string &, const base::Property &>;
26
27
virtual
TType
getBallThermalType()
const
=0;
28
virtual
uint getBallThermalPropertyNotice()
const
=0;
29
virtual
uint getBallThermalCycleNotice()
const
=0;
30
virtual
uint getBallThermalFixNotice()
const
=0;
31
virtual
uint getBallThermalExtraNotice()
const
=0;
32
virtual
uint getBallThermalGroupNotice()
const
=0;
33
virtual
uint getBallThermalCleanNotice()
const
=0;
34
virtual
const
IContainer
* getIContainerBallThermal()
const
=0;
35
virtual
IContainer
* getIContainerBallThermal()=0;
36
virtual
const
IContainerContact
*getIContainerBallBallContactThermal()
const
=0;
37
virtual
IContainerContact
* getIContainerBallBallContactThermal()=0;
38
virtual
const
IBallThermal
* findBallThermalWithID(quint64
id
)
const
=0;
39
virtual
IBallThermal
* findBallThermalWithID(quint64
id
) =0;
40
virtual
const
IBallThermal
* findBallThermalClosestTo(
const
DVect
&v,
const
double
&radius=
limits<double>::max
())
const
=0;
41
virtual
IBallThermal
* findBallThermalClosestTo(
const
DVect
&v,
const
double
&radius=
limits<double>::max
())=0;
42
virtual
void
validate()=0;
43
virtual
const
IEnergyMap
* getIBallThermalEnergies()
const
=0;
44
virtual
const
IEnergyMap
* getIContactThermalBallBallEnergies()
const
=0;
45
46
// Populates sets of property names based on their type including the relevant notices
47
virtual
void
populateAttributeSets(
StringList
*scalarAtts,
FArray<uint32>
*scalarNotices,
StringList
*stringAtts,
FArray<uint>
*stringNotices,
StringList
*vectorAtts,
FArray<uint>
*vectorNotices)
const
=0;
48
// Populates sets of property names based on their type
49
virtual
void
populatePropertySets(
StringList
*scalarProps,
StringList
*stringProps,
StringList
*vectorProps)
const
=0;
50
52
virtual
prop_signal *
getPropertySignal
()
const
= 0;
53
54
};
55
}
// namespace pfcthermal
56
// 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::IBallThermal
Definition
iballthermal.h:24
pfcthermal::IModuleBallThermal
Definition
imoduleballthermal.h:23
pfcthermal::IModuleBallThermal::getPropertySignal
virtual prop_signal * getPropertySignal() const =0
Return the signal associated with the addition of a new property.
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
imoduleballthermal.h
Generated by
1.18.0