Itasca C++ Interface
Loading...
Searching...
No Matches
imoduleballfluid.h
1#pragma once
2// imoduleballfluid.h
3
4#include "base/src/farray.h"
5#include "shared/interface/signal.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 IBallFluid;
22
24 public:
25 using prop_signal = shared::Signal<const QString&, const QVariant&>;
26
27 virtual TType getBallFluidType() const = 0;
28 virtual uint getBallFluidPropertyNotice() const = 0;
29 virtual uint getBallFluidCycleNotice() const = 0;
30 virtual uint getBallFluidExtraNotice() const = 0;
31 virtual uint getBallFluidGroupNotice() const = 0;
32 virtual uint getBallFluidCleanNotice() const = 0;
33 virtual const IContainer* getIContainerBallFluid() const = 0;
34 virtual IContainer* getIContainerBallFluid() = 0;
35 virtual const IContainerContact* getIContainerBallBallContactFluid() const = 0;
36 virtual IContainerContact* getIContainerBallBallContactFluid() = 0;
37 virtual const IBallFluid* findBallFluidWithID(quint64 id) const = 0;
38 virtual IBallFluid* findBallFluidWithID(quint64 id) = 0;
39 virtual const IBallFluid* findBallFluidClosestTo(
40 const DVect& v, const double& radius = limits<double>::max()) const = 0;
41 virtual IBallFluid* findBallFluidClosestTo(
42 const DVect& v, const double& radius = limits<double>::max()) = 0;
43 virtual void validate() = 0;
44 virtual const IEnergyMap* getIBallFluidEnergies() const = 0;
45 virtual const IEnergyMap* getIContactFluidBallBallEnergies() const = 0;
46
47 // Populates sets of property names based on their type including the relevant notices
48 virtual void populateAttributeSets(QStringList* scalarAtts, FArray<uint>* scalarNotices,
49 QStringList* stringAtts, FArray<uint>* stringNotices, QStringList* vectorAtts,
50 FArray<uint>* vectorNotices) const = 0;
51 // Populates sets of property names based on their type
52 virtual void populatePropertySets(
53 QStringList* scalarProps, QStringList* stringProps, QStringList* vectorProps) const = 0;
54
55 // Return the signal associated with the addition of a new property
56 virtual prop_signal* getPropertySignal() const = 0;
57 };
58}
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 iballfluid.h:24
Definition imoduleballfluid.h:23
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