Itasca C++ Interface
Loading...
Searching...
No Matches
ibfacearray.h
Go to the documentation of this file.
1#pragma once
2// ibfaceaarray.h
3
10#include "iblockdef.h"
11#include "base/src/callback.h"
12
13namespace itasca
14{
15 class IContainer;
16 class IThing;
17}
18
19namespace block
20{
21 using namespace itasca;
22
23 class IFaceThing;
24
29 {
30 public:
31
33 virtual const IThing * getIThing() const = 0;
35 virtual IThing * getIThing() = 0;
37 virtual const IContainer * getIContainer() const = 0;
39 virtual IContainer * getIContainer() = 0;
41 virtual const IFaceThing * findFaceWithID(quint64 id) const = 0;
43 virtual IFaceThing * findFaceWithID(quint64 id) = 0;
45 virtual quint32 getBFaceType() const = 0;
47 virtual uint getFaceExtraNotice() const = 0;
49 virtual uint getGroupNotice() const = 0;
51
54 void* v = nullptr, bool useThreads = true) const = 0;
55
57 template <class S, void (S::*MFP)(const IFaceThing*, uint32, uint32, void*)>
58 void threadedCallbackMethod(S* s, void* v = nullptr, bool useThreads = true) const {
60 threadedCallbackObject(callback, v, useThreads);
61 }
62 };
63
64} // end namespace block
65// EOF
Definition callback.h:37
Definition callback.h:130
Container to store FaceThings (original block faces) ID of FaceThing is stored in offset $KFCPP in Fo...
Definition ibfacearray.h:29
virtual quint32 getBFaceType() const =0
Returns the face type identifier.
virtual const IThing * getIThing() const =0
Returns a const pointer to an IThing interface representing the IFaceArray.
void threadedCallbackMethod(S *s, void *v=nullptr, bool useThreads=true) const
Implementation of the multithreaded loop using the threadedCallbackObject.
Definition ibfacearray.h:58
virtual const IFaceThing * findFaceWithID(quint64 id) const =0
Returns a const pointer to the face, IFace, with the ID id, or 0 if the face does not exist.
virtual void threadedCallbackObject(Callback4< void, const IFaceThing *, uint32, uint32, void * > &callback, void *v=nullptr, bool useThreads=true) const =0
Object for creation of multithreaded loop over blocks.
virtual uint getFaceExtraNotice() const =0
Returns the tag for the face extra variable change notice.
virtual IThing * getIThing()=0
Returns a pointer to an IThing interface representing the IFaceArray.
virtual const IContainer * getIContainer() const =0
Returns a const pointer to the IContainer interface representing the global list of faces.
virtual uint getGroupNotice() const =0
Returns the tag for the face group change notice.
virtual IContainer * getIContainer()=0
Returns a pointer to the IContainer interface representing the global list of faces.
virtual IFaceThing * findFaceWithID(quint64 id)=0
Returns a pointer to the face, IFace, with the ID id, or 0 if the face does not exist.
This is the interface for FaceThing, a class that holds extra data not in the fortran arrays....
Definition ifacething.h:33
Interface for containers of IThings.
Definition icontainer.h:21
Base class for items that will be stored in containers.
Definition ithing.h:30
Fortran to C++ type declarations.
namespace Itasca
Definition basememory.cpp:14