Generic data set interface. More...
#include <MeshVizXLM/mesh/data/MiDataSet.h>
Public Types | |
enum | DataBinding { PER_CELL, PER_NODE } |
Public Member Functions | |
virtual | ~MiDataSet () |
virtual size_t | getTimeStamp () const =0 |
virtual std::string | getName () const =0 |
virtual DataBinding | getBinding () const =0 |
Protected Member Functions | |
virtual std::ostream & | toStream (std::ostream &s) const |
Friends | |
std::ostream & | operator<< (std::ostream &s, const MiDataSet &dataset) |
A generic abstract interface for a data set usable in any extract of a mesh.
virtual MiDataSet::~MiDataSet | ( | ) | [inline, virtual] |
virtual DataBinding MiDataSet::getBinding | ( | ) | const [pure virtual] |
Returns the data binding of this data set.
virtual std::string MiDataSet::getName | ( | ) | const [pure virtual] |
Returns the name of this data set.
virtual size_t MiDataSet::getTimeStamp | ( | ) | const [pure virtual] |
Returns for this dataset a unique time stamp across all datasets in the application.
When the content of the dataset changes, the time stamp must increase. The time stamp allows extractors to identify this dataset and to be aware of any changes to it.
virtual std::ostream& MiDataSet::toStream | ( | std::ostream & | s | ) | const [inline, protected, virtual] |
Performs an output operation on a stream which is returned afterward. This method is protected since only called by the output operator <<. This method is not pure virtual and output by default the geometry and topology of a mesh. Whenever a different output is needed, this method can be implemented in the subclass to get a different output format. No std::ostream& operator << needs to be defined in any subclass. This allows you to benefit from the virtual inheritance when using the output operator on an abstract class.
std::ostream& operator<< | ( | std::ostream & | s, | |
const MiDataSet & | dataset | |||
) | [friend] |
Outputs the mesh to a stream using the toStream protected method implemented in all derived classes.