cee::ug::DataSourceReader Class Reference

This class implements a data source that will use a DataReader to populate the data source with geometry and results data. More...

Public Member Functions

 DataSourceReader (int dataSourceId, DataReader *reader)
 Constructs a DataSource with the specified reader. More...
 
virtual bool open (const Str &filename, Error *error=NULL)
 Opens the given file in the associated DataReader and prepare the DataSource for use. More...
 
virtual void close ()
 Closes the data source. More...
 
virtual bool reload (bool force, Error *error=NULL)
 Reloads the data source. More...
 
virtual bool loadState (int stateId, const DataStateSpec &stateSpec, Error *error)
 Loads the state at the given stateId. Will only load the state and the corresponding data if not already present in the DataSource. More...
 
virtual bool scalarRange (int stateId, int resultId, double *min, double *max)
 Gets the range of the given scalar result for the given state. More...
 
virtual bool vectorRange (int stateId, int resultId, double *min, double *max)
 Gets the range of the given vector result for the given state. More...
 
- Public Member Functions inherited from cee::ug::DataSourceInterface
 DataSourceInterface (int dataSourceId)
 Constructs an empty data source with the given id. More...
 
virtual void discardState (int stateId)
 Deletes the state with the given id from the data source. More...
 
virtual bool loadCustomResultBaseDependencies (int stateId, const DataStateSpec &stateSpec)
 Loads custom result bare dependencies. Returns true if success. More...
 
bool createResultCalculator (const Str &calculatorId, const Str &resultIdString, const Str &initString, Str *errorMessage)
 Creates a new result with the given resultIdString by using the result calculator calculatorId configured with the given initString. More...
 
bool recreateResultCalculator (const Str &calculatorId, const Str &resultIdString, const Str &initString, Str *errorMessage)
 Recreates a result calculator with a modified initString. More...
 
bool deleteResultCalculator (const Str &calculatorId, const Str &resultIdString)
 Deletes the result calculator with the given calculatorId and resultIdString. More...
 
bool setResultCalculatorParams (const Str &calculatorId, const Str &resultIdString, const ResultCalculatorParams &calcParams)
 Sets the parameters for the given result calculator instance. More...
 
void getResultCalculatorParams (const Str &calculatorId, const Str &resultIdString, ResultCalculatorParams *calcParams) const
 Gets the current parameters exposed by the given result calculator instance. More...
 
Str primaryFilename () const
 Returns the primary filename for this data source. More...
 
Str description () const
 Returns the description for this data source. More...
 
virtual bool displacementRange (int stateId, int resultId, double *min, double *max)
 Gets the range of the given displacement result for the given state. More...
 
- Public Member Functions inherited from cee::ug::DataSource
int id () const
 Returns the id of the data source. More...
 
size_t stateCount () const
 Returns number of states for the data source. More...
 
size_t stateIndex (int stateId) const
 Returns the index of the state with id stateId. More...
 
size_t geometryCountPerState () const
 Returns the number of geometries (per state) in the Datasource. More...
 
const DataStatestate (size_t stateIndex) const
 Returns the state at the given state index. More...
 
DataStatestate (size_t stateIndex)
 Returns the state at the given state index. More...
 
const DataStatecurrentState (const UnstructGridModel *model) const
 Returns the current state (the state in the current frame) in the given model. More...
 
DataStatecurrentState (const UnstructGridModel *model)
 Returns the current state (the state in the current frame) in the given model. More...
 
const DataSourceDirectorydirectory () const
 Returns the data directory of the data source. More...
 
DataSourceDirectorydirectory ()
 Returns the data directory of the data source. More...
 
const DataElementSetelementSet (size_t setIndex) const
 Returns a const ptr to the element set at the given index. More...
 
DataElementSetelementSet (size_t setIndex)
 Returns the element set at the given index. More...
 
size_t elementSetCount () const
 Returns the number of DataElementSets in this data source. More...
 
size_t elementSetIndex (int setId) const
 Returns the index of the element set with the given id. More...
 
void addElementSet (DataElementSet *elementSet)
 Adds an element set to this data source. More...
 
void removeElementSet (const DataElementSet *elementSet)
 Removes an element set from this data source. More...
 
void removeAllElementSets ()
 Removes all element sets from the data source. More...
 
bool isDataSourceValid (Str *failReason) const
 Validates that the data source contents matches the metadata. More...
 
int defaultDispacementResultId () const
 Returns the current state (the state in the current frame) in the given model. More...
 
bool computeCustomResults (int stateId, const DataStateSpec &stateSpec)
 Computes custom results. More...
 
- Public Member Functions inherited from cee::RefCountedObject
void addRef () const
 Increments the reference count for this object. More...
 
void release () const
 Decrements the reference count for this object. More...
 
int refCount () const
 Returns the reference count for this object. More...
 
void setRefCountZero () const
 Sets the ref count to zero, but DOES NOT delete the object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from cee::ug::DataSourceInterface
static bool supportsResultCalculatorPlugins ()
 Gets if result calculator plugins are supported or not. More...
 
static bool loadResultCalculatorPlugin (const Str &baseFileName)
 Loads the specified result calculator plugin. More...
 
- Protected Member Functions inherited from cee::ug::DataSourceInterface
void updateDirectoryFromDatabase ()
 Updates the directory with synthetic metadata from all states, parts and results in the geometries. More...
 
Inheritance diagram for cee::ug::DataSourceReader:
cee::ug::DataSourceInterface cee::ug::DataSource cee::RefCountedObject

Detailed Description

This class implements a data source that will use a DataReader to populate the data source with geometry and results data.

The class derives from DataSourceInterface and implements the loadState() method which is used by UnstructGridModel to load data not currently present in the DataSource during a call to UnstructGridModel::updateVisualization(). loadState() will use the provided reader to get the requested geometry and results.

This class is mostly used to implement a data source using your own DataReader. There is no need to call loadState() unless you would like to load data into the DataSource without showing it in a UnstructGridModel.

Example of usage: DataReaderExample

See also
DataSource
DataSourceInterface
DataReader

Constructor & Destructor Documentation

cee::ug::DataSourceReader::DataSourceReader ( int  dataSourceId,
DataReader reader 
)

Constructs a DataSource with the specified reader.

You must create a reader by sub-classing the DataReader class and implement the reading of your own analysis results.

See also
DataReader

Member Function Documentation

void cee::ug::DataSourceReader::close ( )
virtual

Closes the data source.

Will call close() on the DataReader.

Implements cee::ug::DataSourceInterface.

bool cee::ug::DataSourceReader::loadState ( int  stateId,
const DataStateSpec stateSpec,
Error error 
)
virtual

Loads the state at the given stateId. Will only load the state and the corresponding data if not already present in the DataSource.

The stateSpec describes which results to load for the given state.

Returns true if the state was successfully loaded.

See also
DataStateSpec

Reimplemented from cee::ug::DataSourceInterface.

bool cee::ug::DataSourceReader::open ( const Str filename,
Error error = NULL 
)
virtual

Opens the given file in the associated DataReader and prepare the DataSource for use.

Will call initializeDirectory() in the DataReader. Upon return, the DataSourceDirectory of the DataSource will be updated with the contents of the file.

Implements cee::ug::DataSourceInterface.

bool cee::ug::DataSourceReader::reload ( bool  force,
Error error = NULL 
)
virtual

Reloads the data source.

Will close and reopen the file reader, and then query for database directory

bool cee::ug::DataSourceReader::scalarRange ( int  stateId,
int  resultId,
double *  min,
double *  max 
)
virtual

Gets the range of the given scalar result for the given state.

The result does not need to be loaded. The it returns the global min max of the state, not taking any current filtering into account.

This will fetch the result from the reader if not already loaded, and is more efficient than loading the result into the data model if you only need the min/max. If the result is already present in the data model it will be used without loading the data.

Reimplemented from cee::ug::DataSourceInterface.

bool cee::ug::DataSourceReader::vectorRange ( int  stateId,
int  resultId,
double *  min,
double *  max 
)
virtual

Gets the range of the given vector result for the given state.

The result does not need to be loaded. The it returns the global min max of the state, not taking any current filtering into account.

This will fetch the result from the reader if not already loaded, and is more efficient than loading the result into the data model if you only need the min/max. If the result is already present in the data model it will be used without loading the data.

Reimplemented from cee::ug::DataSourceInterface.