Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
block::IZoneFieldData Class Referenceabstract

Interface for accessing the zone field data class. This class allows access to both gp and zone scalar field data (like density, displacement magnitude, sxx, etc) at any point in the model, not necessarily where a gridpoint or a zone centroid fall.
Interpolation may be necessary for zone-based variables, and the specifics of that process can be set through the IZoneInterpolate interface. More...

#include <izonefielddata.h>

Public Types

enum  Source { ZoneSource , GpSource , BothSource , FaceSource }
 

Public Member Functions

virtual const itascaxd::IDatagetIData () const =0
 
virtual itascaxd::IDatagetIData ()=0
 
virtual const IZoneInterpolategetIZoneInterpolate () const =0
 Returns a const pointer to the zone interpolate, IZoneInterpolate.
 
virtual IZoneInterpolategetIZoneInterpolate ()=0
 Returns a pointer to the zone interpolate, IZoneInterpolate.
 
virtual const IZoneDatagetIZoneData () const =0
 Returns a const pointer to the zone data, IZoneData.
 
virtual IZoneDatagetIZoneData ()=0
 Returns a pointer to the zone data, IZoneData.
 
virtual const IGpDatagetIGpData () const =0
 Returns a const pointer to the gridpoint data, IGpData.
 
virtual IGpDatagetIGpData ()=0
 Returns a pointer to the gridpoint data, IGpData.
 
virtual const IFaceDatagetIFaceData () const =0
 
virtual IFaceDatagetIFaceData ()=0
 
virtual QString getSpecificName () const =0
 
virtual int getCurrentSource () const =0
 
virtual int getSource () const =0
 
virtual bool getSourceActive () const =0
 
virtual QStringList getSourceNames () const =0
 
virtual QStringList getSourceKeywords () const =0
 
virtual string getProperty () const =0
 Returns the property that would be retrieved if the index is set to zone property data.
 
virtual bool getPropertyActive () const =0
 Returns true if the index is set to zone property data, so that the property name is active.
 
virtual StringList getPropertiesAvailable () const =0
 
virtual QList< uint > getInterestedIn () const =0
 
virtual QPair< double, quint64 > getData (const DVect3 &pos)=0
 
virtual double getData (const IVertexThing *gp, const IZoneThing *z, const IFaceThing *ft=nullptr, uint32 thread=0, uint32 block=0)=0
 
virtual double getData (const IZoneThing *z, const ZoneWt &wt)=0
 
virtual void initialize ()=0
 
virtual void reset ()=0
 
virtual void destroy ()=0
 Destroys this object, returning the memory to the heap.
 
virtual void initializeMultithreading (bool needSpatialSearch, uint32 threads)=0
 
virtual void setProperty (const string &s)=0
 
virtual void setSource (int source)=0
 
virtual void setComponent (int i)=0
 
virtual void setQuantity (int i)=0
 

Public Attributes

shared::Signal< const string & > propertyChanged
 This SIGNAL is emitted if the name of the property used for zone property data changes.
 
shared::Signal< bool > propertyActiveChanged
 
shared::Signal< int > sourceChanged
 
shared::Signal< bool > sourceActiveChanged
 
shared::Signal< int > currentSourceChanged
 This SIGNAL is emitted if the active index changes from zone based to gp, or vice versa.
 
shared::Signal< bool > zoneSourceChanged
 

Detailed Description

Interface for accessing the zone field data class. This class allows access to both gp and zone scalar field data (like density, displacement magnitude, sxx, etc) at any point in the model, not necessarily where a gridpoint or a zone centroid fall.
Interpolation may be necessary for zone-based variables, and the specifics of that process can be set through the IZoneInterpolate interface.

Member Function Documentation

◆ getData() [1/2]

virtual QPair< double, quint64 > block::IZoneFieldData::getData ( const DVect3 & pos)
pure virtual

Assuming pos falls inside any zone of the model, returns the data indicated by the current index interpolated to that position.
The first value in the return pair is the interpolated value. The second value is the id (in the ZoneArray) of the zone containing point pos.

◆ getData() [2/2]

virtual double block::IZoneFieldData::getData ( const IVertexThing * gp,
const IZoneThing * z,
const IFaceThing * ft = nullptr,
uint32 thread = 0,
uint32 block = 0 )
pure virtual

Retrieves data directly from IVertexThing gp or IZoneThing z, depending on if the index type indicates zone or gp data is desired. No interpolation is performed.

◆ initialize()

virtual void block::IZoneFieldData::initialize ( )
pure virtual

Initializes the field data object for efficient calculation of many values.
After initialization, values are stored in temporary offsets in Gp and Zone data, to minimize recalculation.
This is only useful if many values are going to be queried via getData() in sequence.
If the model changes after the call to initialize but before a reset(), any further calls to getData() will return invalid data.

◆ reset()

virtual void block::IZoneFieldData::reset ( )
pure virtual

Resets the object after a call to initialize(), releasing resources back to the system and losing temporarily stored calculations.


The documentation for this class was generated from the following file: