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

Interface for accessing the zone field data class. More...

#include <izonefielddata.h>

Public Types

enum  Source { ZoneSource , GpSource , BothSource }
 

Public Member Functions

virtual const IDatagetIData () const =0
 
virtual 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
 
virtual IZoneDatagetIZoneData ()=0
 
virtual const IGpDatagetIGpData () const =0
 
virtual IGpDatagetIGpData ()=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
 
virtual bool getPropertyActive () const =0
 
virtual StringList getPropertiesAvailable () const =0
 
virtual std::vector< uint32 > getInterestedIn () const =0
 
virtual QPair< double, uint64 > getData (const DVect &pos)=0
 
virtual double getData (const IGp *gp, const IZone *z, uint32 thread=0, uint32 block=0)=0
 
virtual double getData (const IZone *z, const DVect &pos, double tol=0.0)=0
 
virtual double getData (const IZone *z, const ZoneWt &wt)=0
 
virtual void initialize ()=0
 
virtual void initializeMultithreading (bool needSpatialSearch, uint32 threads)=0
 
virtual void reset ()=0
 
virtual void destroy ()=0
 Destroys this object, returning the memory to the heap.
 
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< const StringList & > propertiesAvailableChanged
 
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, uint64 > zone::IZoneFieldData::getData ( const DVect & 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 of the zone containing point pos.

◆ getData() [2/2]

virtual double zone::IZoneFieldData::getData ( const IGp * gp,
const IZone * z,
uint32 thread = 0,
uint32 block = 0 )
pure virtual

Retrives data directly from IGp gp or IZone z, depending on if the index type indicates zone or gp data is desired. No interpolation is performed.

◆ initialize()

virtual void zone::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 zone::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: