Itasca C++ Interface
Loading...
Searching...
No Matches
ivertexarray.h
Go to the documentation of this file.
1#pragma once
2// ivertexarray.h
3#include "base/src/farray.h"
4
11namespace itasca
12{
13 class IContainer;
14 class IThing;
15}
16
17namespace block
18{
19 using namespace itasca;
20
21 class IVertexThing;
22 class VertexThing;
23 class IGpData;
24
25
30 {
31 public:
32
34 virtual const IThing * getIThing() const=0;
36 virtual IThing * getIThing()=0;
38 virtual const IContainer * getIContainer() const=0;
40 virtual IContainer * getIContainer() =0;
42 virtual const IVertexThing * findVertexWithID(quint64 id) const=0;
44 virtual IVertexThing * findVertexWithID(quint64 id)=0;
46 virtual quint32 getVertexType() const=0;
48 virtual quint64 getNumVertices() const=0;
50 virtual const IVertexThing * findVertex(const DVect3 &loc, bool visible=false) =0;
51
53 virtual FArray<IVertexThing*> findAllVertices(const DVect3& loc, double radius, bool visible = false)=0;
54
65 virtual int claimBit() const=0;
67 virtual void releaseBit(int bit) const=0;
78 virtual int claimValue() const=0;
80 virtual void releaseValue(int bit) const=0;
82 virtual IGpData * createIGpData() const=0;
84 virtual uint getVertexExtraNotice() const=0;
86 virtual uint getDisplacementNotice() const=0;
88 virtual uint getVelocityNotice() const=0;
90 virtual uint getPorePressureNotice() const=0;
92 virtual uint getTemperatureNotice() const=0;
94 virtual uint getGeometryNotice() const=0;
96 virtual uint getBoundaryNotice() const=0;
97
99 virtual double getTolerance() const = 0;
100 };
101
102} // end namespace block
103// EOF
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
This class maintains a list of scalar data (x-position, density, velocity magnitude,...
Definition igpdata.h:19
Container to store VertexThings. ID of VertexThing is stored in offset $KVCPP in Fortran vertex linke...
Definition ivertexarray.h:30
virtual void releaseBit(int bit) const =0
Releases a bit index previously obtained with claimBit(). Thread-safe.
virtual const IVertexThing * findVertex(const DVect3 &loc, bool visible=false)=0
Return vertex nearest to input location.
virtual quint32 getVertexType() const =0
Returns the vertex type identifier.
virtual const IContainer * getIContainer() const =0
Returns a const pointer to the IContainer interface representing the global list of grid points.
virtual void releaseValue(int bit) const =0
Releases a value index back to the zones utility value array. Thread-safe.
virtual int claimBit() const =0
Claims a bit from the vertex utility bit field.
virtual IThing * getIThing()=0
Returns a pointer to an IThing interface representing the IVertexArray.
virtual uint getBoundaryNotice() const =0
Returns the tag for vertex boundary condition change notice.
virtual uint getVelocityNotice() const =0
Returns the tag for the vertex velocity change notice.
virtual const IThing * getIThing() const =0
Returns a const pointer to an IThing interface representing the IVertexArray.
virtual uint getVertexExtraNotice() const =0
Returns the tag for the vertex extra variable change notice.
virtual FArray< IVertexThing * > findAllVertices(const DVect3 &loc, double radius, bool visible=false)=0
return array of vertices withing distance radius of inpult location.
virtual IVertexThing * findVertexWithID(quint64 id)=0
Returns a pointer to the vertex, IVertexThing, with the ID id, or 0 if the vertex does not exist.
virtual const IVertexThing * findVertexWithID(quint64 id) const =0
Returns a const pointer to the vertex, IVertexThing, with the ID id, or 0 if the vertex does not exis...
virtual quint64 getNumVertices() const =0
Returns number of vertices in the container.
virtual uint getDisplacementNotice() const =0
Returns the tag for the vertex displacement change notice.
virtual uint getPorePressureNotice() const =0
Returns the tag for the vertex pore pressure change notice.
virtual IGpData * createIGpData() const =0
Returns a pointer to a new IGpData object. This pointer must be destroyed by the caller.
virtual double getTolerance() const =0
Global tolerance (atol)
virtual IContainer * getIContainer()=0
Returns a pointer to the IContainer interface representing the global list of grid points.
virtual int claimValue() const =0
Claims a bit from the zones utility value array.
virtual uint getTemperatureNotice() const =0
Returns the tag for the vertex temperature change notice.
virtual uint getGeometryNotice() const =0
Returns the tag for vertex geometry change notice.
This is the interface for VertexThing. This will be stored in a container and the ID will be stored i...
Definition ivertexthing.h:29
Interface for containers of IThings.
Definition icontainer.h:21
Base class for items that will be stored in containers.
Definition ithing.h:30
An array class that attempts to minimize unnecessary heap access.
namespace Itasca
Definition basememory.cpp:10