00001 /*======================================================================= 00002 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), *** 00003 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. *** 00004 *** *** 00005 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS *** 00006 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR *** 00007 *** WRITTEN AUTHORIZATION OF FEI S.A.S. *** 00008 *** *** 00009 *** RESTRICTED RIGHTS LEGEND *** 00010 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS *** 00011 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN *** 00012 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT *** 00013 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN *** 00014 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. *** 00015 *** *** 00016 *** COPYRIGHT (C) 1996-2017 BY FEI S.A.S, *** 00017 *** MERIGNAC, FRANCE *** 00018 *** ALL RIGHTS RESERVED *** 00019 **=======================================================================*/ 00020 /*======================================================================= 00021 ** Author : Martial Bonaventure (Mar 2010) 00022 **=======================================================================*/ 00023 00024 #ifndef _MySurfaceMeshRegular_H 00025 #define _MySurfaceMeshRegular_H 00026 00054 #include <MeshVizXLM/mesh/topology/MiTopologyIj.h> 00055 00056 class MyTopologyIj : public MiTopologyIj 00057 { 00058 public: 00062 size_t getNumCellsI() const 00063 { 00064 // @ADD YOUR CODE HERE. 00065 } 00066 00070 size_t getNumCellsJ() const 00071 { 00072 // @ADD YOUR CODE HERE. 00073 } 00074 00080 bool hasDeadCells() const 00081 { 00082 // @ADD YOUR CODE HERE (Optional). 00083 // Required only if the topology has dead cells, remove this method otherwise to use 00084 // the default implementation that always returns false. 00085 } 00086 00092 bool isDead(size_t i,size_t j) const 00093 { 00094 // @ADD YOUR CODE HERE (Optional). 00095 // Required only if the topology has dead cells, remove this method otherwise to use 00096 // the default implementation that always returns false. 00097 } 00098 00102 size_t getTimeStamp() const 00103 { 00104 // @ADD YOUR CODE HERE (see MxTimeStamp). 00105 // When the content of the topology changes, the time stamp must also change. 00106 // The time stamp allows MeshViz to be aware of any change to this topology. 00107 } 00108 00109 }; 00110 00114 #include <MeshVizXLM/mesh/geometry/MiGeometryRegular.h> 00115 00116 class MyGeometryRegular : public MiGeometryRegular 00117 { 00118 public: 00122 MbVec3d getMin() const 00123 { 00124 // @ADD YOUR CODE HERE. 00125 } 00126 00130 MbVec3d getMax() const 00131 { 00132 // @ADD YOUR CODE HERE. 00133 } 00134 00138 size_t getTimeStamp() const 00139 { 00140 // @ADD YOUR CODE HERE (see MxTimeStamp). 00141 // When the content of the geometry changes, the time stamp must also change. 00142 // The time stamp allows MeshViz to be aware of any change to this geometry. 00143 } 00144 }; 00145 00149 #include <MeshVizXLM/mesh/MiSurfaceMeshRegular.h> 00150 00151 class MySurfaceMeshRegular : public MiSurfaceMeshRegular 00152 { 00153 00154 public: 00158 const MiGeometryRegular& getGeometry() const 00159 { 00160 return m_geometry; 00161 } 00162 00166 const MiTopologyIj& getTopology() const 00167 { 00168 return m_topology; 00169 } 00170 00171 00172 private: 00173 MyGeometryRegular m_geometry; 00174 MyTopologyIj m_topology; 00175 00176 }; 00177 00181 #include <MeshVizXLM/mesh/data/MiDataSetIj.h> 00182 00183 class MyScalarSetIj : public MiScalardSetIj //, public YourData 00184 // Advised to inherit from the class containing your application data. 00185 { 00186 public: 00187 00191 double get(size_t i,size_t j) const 00192 { 00193 // @ADD YOUR CODE HERE. 00194 } 00195 00199 size_t getTimeStamp() const 00200 { 00201 // @ADD YOUR CODE HERE (see MxTimeStamp). 00202 // When the content of the scalar set changes, the time stamp must also change. 00203 // The time stamp allows MeshViz to be aware of any change to this scalar set. 00204 } 00205 00209 std::string getName() const 00210 { 00211 // @ADD YOUR CODE HERE. 00212 } 00213 00217 DataBinding getBinding() const 00218 { 00219 // @ADD YOUR CODE HERE (see MiDataSet::DataBinding). 00220 } 00221 00222 }; 00223 00227 #include <MeshVizXLM/mesh/data/MiDataSetIj.h> 00228 00229 class MyVectorSetIj : public MiVec3dSetIj //, public YourData 00230 // Advised to inherit from the class containing your application data. 00231 { 00232 public: 00233 00237 MbVec3d get(size_t i, size_t j) const 00238 { 00239 // @ADD YOUR CODE HERE. 00240 } 00241 00245 size_t getTimeStamp() const 00246 { 00247 // @ADD YOUR CODE HERE (see MxTimeStamp). 00248 // When the content of the vector set changes, the time stamp must also change. 00249 // The time stamp allows MeshViz to be aware of any change to this vector set. 00250 } 00251 00255 std::string getName() const 00256 { 00257 // @ADD YOUR CODE HERE. 00258 } 00259 00263 DataBinding getBinding() const 00264 { 00265 // @ADD YOUR CODE HERE (see MiDataSet::DataBinding). 00266 } 00267 00268 }; 00269 00270 #endif 00271 00272 00273 00274 00275 00276 00277 00278