Itasca C++ Interface
Loading...
Searching...
No Matches
imoduleccfd.h
Go to the documentation of this file.
1#pragma once
8// imoduleccfd.h
9// For CCFD Module
10#include "base/src/farray.h"
11#include "baseqt/src/baseqt.h"
12
13namespace itasca {
14 class IContainer;
15}
16
18namespace ccfd {
19 using namespace itasca;
20 class ICcfdElement;
23
26 public:
27 virtual TType getElementFluidType() const =0;
28 virtual const ICcfdElement * findElementFluidWithID(uint64 id) const =0;
29 virtual ICcfdElement * findElementFluidWithID(uint64 id) =0;
30
31 virtual int getNumberOfElements() const =0;
32 virtual int getElementNode(int element, int node) const =0;
33 virtual int getElementFaces() const =0; // number of faces in an element
34 virtual int getElementNodes() const =0;
35 virtual const ICcfdElement * getICcfdElement(int i) const =0;
36 virtual const char * getCcfdElementType() const =0;
37 virtual int getElementNodeGlobalAddress(int e, int n) const =0;
38 virtual const IContainer *getIContainerElement() const = 0;
39 virtual IContainer * getIContainerElement() = 0;
40 virtual uint32 getElementCyclingNotice() const = 0;
41 virtual uint32 getElementGeometryNotice() const = 0;
42 virtual uint32 getElementExtraNotice() const = 0;
43 virtual uint32 getElementGroupNotice() const = 0;
44 virtual uint32 getCCFDCleanNotice() const = 0;
45 virtual void createMesh(const QList<double> &nlist, const QList<qint64> &elist)=0;
46
47 // Populates sets of property names based on their type including the relevant notices
48 virtual void populateElementAttributeSets(StringList *scalarAtts,FArray<uint32> *scalarNotices,StringList *stringAtts,FArray<uint32> *stringNotices,StringList *vectorAtts,FArray<uint32> *vectorNotices)const=0;
49
50 //elements in a box
51 virtual void getElementsInBoxList(const DExtent &d,FArray<ICcfdElement *> *ret,bool intersect=true)=0;
52 virtual void getElementsInBoxList(const DExtent &d,FArray<const ICcfdElement *> *ret,bool intersect=true)=0;
53 virtual const ICcfdElement * findElementClosestTo(const DVect &v,const double &radius=limits<double>::max()) const=0;
54 virtual ICcfdElement * findElementClosestTo(const DVect &v,const double &radius=limits<double>::max())=0;
56
57
58 };
59
60} // namespace ccfd
61// EoF
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Definition basestring.h:71
Definition iccfdelement.h:17
Interface for the PFC ccfd module.
Definition imoduleccfd.h:25
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:47
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition dim.h:162
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
ccfd namespace
Definition iballfluid.h:19
namespace Itasca
Definition basememory.cpp:14