Itasca C++ Interface
imoduleballfluid.h
1 #pragma once
2 // imoduleballfluid.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 ccfd {
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 uint32 getBallFluidCycleNotice() const=0;
29  virtual uint32 getBallFluidExtraNotice() const=0;
30  virtual uint32 getBallFluidGroupNotice() const=0;
31  virtual uint32 getBallFluidCleanNotice() const=0;
32  virtual const IContainer * getIContainerBallFluid() const=0;
33  virtual IContainer * getIContainerBallFluid()=0;
34  virtual const IBallFluid * findBallFluidWithID(uint64 id) const=0;
35  virtual IBallFluid * findBallFluidWithID(uint64 id) =0;
36  virtual const IBallFluid * findBallFluidClosestTo(const DVect3 &v,const double &radius=limits<double>::max()) const=0;
37  virtual IBallFluid * findBallFluidClosestTo(const DVect3 &v,const double &radius=limits<double>::max())=0;
38  virtual void validate()=0;
39  //virtual const IEnergyMap * getIBallFluidEnergies() const=0;
40 
41  // Populates sets of property names based on their type including the relevant notices
42  virtual void populateAttributeSets(QStringList *scalarAtts,FArray<uint32> *scalarNotices,QStringList *stringAtts,FArray<uint32> *stringNotices,QStringList *vectorAtts,FArray<uint32> *vectorNotices)const=0;
43  // Populates sets of property names based on their type
44  virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)const=0;
45 
46  };
47 } // namespace ccfd
48 // EoF
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:25
Definition: iballfluid.h:27
Definition: imoduleballfluid.h:23
Interface for containers of IThings.
Definition: icontainer.h:21
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition: basedef.h:46
ccfd namespace
Definition: iballfluid.h:19
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4