00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _MBDATASET__H
00024 #define _MBDATASET__H
00025
00026 #include <Inventor/STL/string>
00027 #include <Inventor/STL/iostream>
00028
00029 #include <MeshVizXLM/mesh/data/MiDataSet.h>
00030 #include <MbMeshVizImpl.h>
00031 #include <MeshVizXLM/MbVec3.h>
00032 #include <MeshVizXLM/MxTimeStamp.h>
00033
00034
00045 class MbDataSet: virtual public MiDataSet
00046 {
00047 public:
00053 MbDataSet();
00054
00059 MbDataSet(const std::string& name, DataBinding binding);
00060
00066 virtual size_t getTimeStamp() const
00067 {
00068 return m_timeStamp;
00069 }
00070
00074 virtual std::string getName() const
00075 {
00076 return m_name;
00077 }
00078
00082 virtual void setName(const std::string& name)
00083 {
00084 m_name = name;
00085 }
00086
00090 virtual DataBinding getBinding() const
00091 {
00092 return m_binding;
00093 }
00094
00098 virtual void setBinding(DataBinding binding)
00099 {
00100 m_binding = binding;
00101 }
00102
00107 void touch()
00108 {
00109 m_timeStamp = MxTimeStamp::getTimeStamp();
00110 }
00111
00112 private:
00116 virtual std::ostream& toStream(std::ostream& s) const;
00117
00118 DataBinding m_binding;
00119 std::string m_name;
00120 size_t m_timeStamp;
00121
00122 };
00123
00124
00125 inline
00126 MbDataSet::MbDataSet()
00127 : m_binding(PER_NODE)
00128 , m_name("")
00129 , m_timeStamp(MxTimeStamp::getTimeStamp())
00130 {
00131 }
00132
00133
00134 inline
00135 MbDataSet::MbDataSet(const std::string& name, DataBinding binding)
00136 : m_binding(binding)
00137 , m_name(name)
00138 , m_timeStamp(MxTimeStamp::getTimeStamp())
00139 {
00140 }
00141
00142
00143 inline std::ostream&
00144 MbDataSet::toStream(std::ostream& s) const
00145 {
00146 s << "# dataset name" << std::endl;
00147 s << m_name << std::endl;
00148 s << "# databinding" << std::endl;
00149 if(m_binding == PER_NODE)
00150 s << "PER_NODE" << std::endl;
00151 else
00152 s << "PER_CELL" << std::endl;
00153 return s;
00154 }
00155
00156 #endif
00157
00158
00159