Itasca C++ Interface
imodulefwallfluid.h
1 #pragma once
2 // imodulefwallfluid.h
3 
4 #include "base/src/farray.h"
5 #include "shared/interface/signal.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 IFWallFluid;
22  class IFWallFacetFluid;
23 
25  public:
26  using prop_signal = shared::Signal<const QString&, const QVariant&>;
27 
28  virtual TType getFWallFluidType() const = 0;
29  virtual uint getFWallFluidPropertyNotice() const = 0;
30  virtual uint getFWallFluidCycleNotice() const = 0;
31  virtual uint getFWallFluidExtraNotice() const = 0;
32  virtual uint getFWallFluidGroupNotice() const = 0;
33  virtual uint getFWallFluidCleanNotice() const = 0;
34  virtual const IContainer* getIContainerFWallFluid() const = 0;
35  virtual IContainer* getIContainerFWallFluid() = 0;
36  virtual const IContainer* getIContainerFWallFacetFluid() const = 0;
37  virtual IContainer* getIContainerFWallFacetFluid() = 0;
38  virtual const IFWallFluid* findFWallFluidWithID(quint64 id) const = 0;
39  virtual IFWallFluid* findFWallFluidWithID(quint64 id) = 0;
40  virtual const IFWallFluid* findFWallFluidClosestTo(
41  const DVect& v, const double& radius = limits<double>::max()) const = 0;
42  virtual IFWallFluid* findFWallFluidClosestTo(
43  const DVect& v, const double& radius = limits<double>::max()) = 0;
44  virtual void validate() = 0;
45  virtual TType getFWallFacetFluidType() const = 0;
46  virtual const IFWallFacetFluid* findFWallFacetFluidWithID(quint64 id) const = 0;
47  virtual IFWallFacetFluid* findFWallFacetFluidWithID(quint64 id) = 0;
48  virtual const IFWallFacetFluid* findFWallFacetFluidClosestTo(
49  const DVect& v, const double& radius = limits<double>::max()) const = 0;
50  virtual IFWallFacetFluid* findFWallFacetFluidClosestTo(
51  const DVect& v, const double& radius = limits<double>::max()) = 0;
52 
53  // Populates sets of property names based on their type including the relevant notices
54  virtual void populateAttributeSets(QStringList* scalarAtts, FArray<uint>* scalarNotices,
55  QStringList* stringAtts, FArray<uint>* stringNotices, QStringList* vectorAtts,
56  FArray<uint>* vectorNotices) const = 0;
59  QStringList* valueAtts, QStringList* labelAtts, QStringList* vectorAtts) const = 0;
60  // Populates sets of property names based on their type
61  virtual void populatePropertySets(
62  QStringList* scalarProps, QStringList* stringProps, QStringList* vectorProps) const = 0;
63 
65  virtual prop_signal* getPropertySignal() const = 0;
66  };
67 }
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:25
Interface for containers of IThings.
Definition: icontainer.h:21
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
Definition: ifwallfacetfluid.h:21
Definition: ifwallfluid.h:27
Definition: imodulefwallfluid.h:24
virtual void populatePieceAttributeSets(QStringList *valueAtts, QStringList *labelAtts, QStringList *vectorAtts) const =0
Populates sets of piece property names based on their type.
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:150
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4