10 #include "base/src/callback.h"
12 #include "modelsutil/interface/imodellist.h"
13 #include "utility/interface/igroup.h"
29 class IFetchFluidProperty;
30 class IFetchThermalProperty;
113 virtual uint32 getMultiplierNotice()
const=0;
114 virtual uint32 getFluidDensityNotice()
const=0;
115 virtual uint32 getSatSuctionNotice()
const=0;
116 virtual uint32 getPermRatioNotice()
const=0;
167 virtual QString getZoneGroupsOnSides(std::set<IGroupID> *zf1GroupList,
168 std::set<IGroupID> *zf2GroupList)
const=0;
171 virtual void threadedCallbackFunction(
void (*
function)(
const IZone *,uint32,uint32,
void *),
void *v=
nullptr,
bool useThreads=
true)
const=0;
172 template <
class S,
void (S::*MFP)(const IZone *,u
int32,u
int32,
void *)>
173 void threadedCallbackMethod(S *s,
void *v=
nullptr,
bool useThreads=
true)
const;
181 template <
class S,
void (S::*MFP)(const FaceGroupCallbackData *,u
int32,u
int32)>
182 void threadedCallbackMethodFaceGroups(S *s,
bool useThreads=
true)
const;
189 template <
class S,
void (S::*MFP)(const FaceSelectCallbackData *,u
int32,u
int32)>
190 void threadedCallbackMethodFaceSelect(S *s,
bool useThreads=
true)
const;
193 template <
class S,
void (S::*MFP)(const IZone *,u
int32,u
int32,
void *)>
194 void IZoneList::threadedCallbackMethod(S *s,
void *v,
bool useThreads)
const {
196 threadedCallbackObject(callback,v,useThreads);
199 template <
class S,
void (S::*MFP)(const IZoneList::FaceGroupCallbackData *,u
int32,u
int32)>
200 void IZoneList::threadedCallbackMethodFaceGroups(S *s,
bool useThreads)
const {
202 threadedCallbackObjectFaceGroups(callback,useThreads);
205 template <
class S,
void (S::*MFP)(const IZoneList::FaceSelectCallbackData *,u
int32,u
int32)>
206 void IZoneList::threadedCallbackMethodFaceSelect(S *s,
bool useThreads)
const {
208 threadedCallbackObjectFaceSelect(callback,useThreads);
Definition: callback.h:30
Definition: callback.h:121
Definition: callback.h:37
Definition: callback.h:130
Definition: basestring.h:77
Interface for containers of IThings.
Definition: icontainer.h:21
Base class for items that will be stored in containers.
Definition: ithing.h:30
Definition: ifetchproperty.h:11
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
Interface to zone faces.
Definition: iface.h:23
Definition: ifetchfluidproperty.h:6
Definition: ifetchthermalproperty.h:6
Access to zone scalar data.
Definition: izonedata.h:24
Interface to provide access to a zone.
Definition: izone.h:80
Interface for accessing the global list of zones, IZoneList.
Definition: izonelist.h:36
virtual uint32 getStressNotice() const =0
Returns the tag for the zone stress state change notice.
virtual const IZone * findZoneWithID(uint64 id) const =0
Returns a const pointer to the zone, IZone, with the ID id, or 0 if the zone does not exist.
virtual uint32 getStateNotice() const =0
Returns the tag for the zone state change notice.
virtual uint32 getHideNotice() const =0
Returns the tag for zone hide status.
virtual StringList getAllMechanicalModels() const =0
Returns a QStringList containing all unique mechanical constitutive models in all zones (null exclude...
virtual const IContainer * getIContainer() const =0
Returns a const pointer to the IContainer.
virtual IContainer * getIContainer()=0
Returns a pointer to the IContainer.
virtual int claimBit() const =0
Claims a bit from the zones utility bit field.
virtual IZone * findZoneContaining(const DVect &v, bool bHideMechNull=false, bool bHideFluidNull=false, bool bHideThermNull=false) const =0
virtual const IZone * getFirstZone() const =0
Returns a const pointer to the first zone, IZone, in the list, or 0 if list is empty.
virtual int claimValue() const =0
Claims a bit from the zones utility value array.
virtual uint32 getGroupNotice() const =0
Returns the tag for the zone group change notice.
virtual IZone * findZoneWithID(uint64 id)=0
Returns a pointer to the zone, IZone, with the ID id, or 0 if the zone does not exist.
virtual const IFace * makeFace(const IZone *z, uint32 side) const =0
virtual uint64 getNumberFacesSelected() const =0
Returns the total number of faces (surface or otherwise) that are selected.
virtual uint32 getFaceExtraNotice() const =0
Returns the tag for the zone extra FISH variable change notice.
virtual IZone * findZoneNearest(const DVect &vec, const double &radius=limits< double >::max())=0
virtual uint32 getZoneType() const =0
Returns const pointer to the first character of the string retaining the type of zone.
virtual uint32 getSelectNotice() const =0
REturns the tag for zone select status.
virtual uint32 getDensityNotice() const =0
Returns the tag for the zone density change notice.
virtual IZone * findZoneNearestLive(const DVect &dv3, bool bMech, bool bFluid, bool bTherm, bool bOr)=0
Returns a pointer to the zone closest to location dv3.
virtual uint64 getNumberFacesHidden() const =0
Returns the total number of faces (surface or otherwise) that are hidden.
virtual uint32 getFaceType() const =0
Returns const pointer to the first character of the string retaining the type of face.
virtual IThing * getIThing()=0
Returns a pointer to an IThing interface representing the IZoneList.
virtual uint64 getNZone() const =0
Returns the total number of zone in the model.
virtual const IThing * getIThing() const =0
Returns a const pointer to an IThing interface representing the IZoneList.
virtual uint32 getSpecificDischargeNotice() const =0
Returns the tag for the zone specific discharge change notice.
virtual uint32 getThermalFluxNotice() const =0
Returns the tag for the zone thermal flux change notice.
virtual const IZone * findZoneNearest(const DVect &vec, const double &radius=limits< double >::max()) const =0
virtual uint32 getPropertyNotice() const =0
Returns the tag for the zone property change notice.
virtual uint32 getFaceSelectNotice() const =0
Returns the tag for face select status.
virtual IFace * makeFace(IZone *z, uint32 side)=0
virtual uint32 getModelNotice() const =0
Returns the tag for the zone model change notice.
virtual IZone * getFirstZone()=0
Returns a pointer to the first zone, IZone, in the list, or 0 if list is empty.
virtual uint32 getFaceGroupNotice() const =0
Returns the tag for the zone group change notice.
virtual uint32 getFaceHideNotice() const =0
Returns the tag for face hide status.
virtual IZoneData * createIZoneData() const =0
virtual void releaseBit(int bit) const =0
Releases a bit index previously obtained with claimBit(). Thread-safe.
virtual uint32 getZoneExtraNotice() const =0
Returns the tag for the zone extra variable change notice.
virtual void releaseValue(int bit) const =0
Releases a value index back to the zones utility value array. Thread-safe.
virtual StringList getAllMechanicalProperties() const =0
Returns a QStringList containing all unique property names of all mechanical constitutive models in a...
An array class that attempts to minimize unnecessary heap access.
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
Definition: imodellist.h:31
Definition: izonelist.h:175
Definition: izonelist.h:184