00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _MICELLEXTRACTUNSTRUCTURED_H
00024 #define _MICELLEXTRACTUNSTRUCTURED_H
00025
00026 #include <MeshVizXLM/mesh/data/MiDataSetI.h>
00027 #include <MeshVizXLM/extractors/MiBaseExtractor.h>
00028 #include <MeshVizXLM/extrmesh/data/MeXDataSetI.h>
00029
00030 #include <MeshVizXLM/mesh/MiVolumeMeshUnstructured.h>
00031 #include <MeshVizXLM/mesh/MiSurfaceMeshUnstructured.h>
00032 #include <MeshVizXLM/tessellator/MiTessellator.h>
00033
00034 #include <MeshVizXLM/extrmesh/MeXSurfaceMeshUnstructured.h>
00035
00036 #include <Inventor/STL/vector>
00037
00038 class MiCellFilterI;
00039 class MeXLineMeshUnstructured;
00040 class MeXPointMeshCurvilinear;
00041
00054 class MESHIVIZ_API MiCellExtractUnstructured : virtual public MiBaseExtractor
00055 {
00056 public:
00057
00058 virtual ~MiCellExtractUnstructured() {}
00059
00061
00064 static MiCellExtractUnstructured* getNewInstance(const MiVolumeMeshUnstructured& mesh, bool parallel = true, MiTessellator* tessellator=NULL);
00065 static MiCellExtractUnstructured* getNewInstance(const MiSurfaceMeshUnstructured& mesh, bool parallel = true, MiTessellator* tessellator=NULL);
00067
00069
00076 virtual const MeXSurfaceMeshUnstructured&
00077 extractCell(const std::vector<size_t>& cellIndex, double factor, const MiCellFilterI* cellFilter=NULL) = 0;
00078 virtual const MeXLineMeshUnstructured&
00079 extractLineCell(const std::vector<size_t>& cellIndex, double factor, const MiCellFilterI* cellFilter=NULL) = 0;
00080 virtual const MeXPointMeshCurvilinear&
00081 extractPoints(const std::vector<size_t>& cellIndex, double factor, const MiCellFilterI* cellFilter=NULL) = 0;
00083
00085
00088 virtual const MeXSurfaceMeshUnstructured&
00089 extractCell(double factor, const MiCellFilterI* cellFilter=NULL) = 0;
00090 virtual const MeXLineMeshUnstructured&
00091 extractLineCell(double factor, const MiCellFilterI* cellFilter=NULL) = 0;
00092 virtual const MeXPointMeshCurvilinear&
00093 extractPoints(double factor, const MiCellFilterI* cellFilter=NULL) = 0;
00095
00099 virtual const MeXScalardSetI& extractScalarSet(const MiScalardSetI& inputSet) = 0;
00100
00104 virtual const MeXVec3dSetI& extractVec3Set(const MiVec3dSetI& inputSet) = 0;
00105
00107
00110 virtual const MeXSurfaceMeshUnstructured& getExtract() const = 0;
00111 virtual const MeXLineMeshUnstructured& getLineExtract() const = 0;
00112 virtual const MeXPointMeshCurvilinear& getPointExtract() const = 0;
00114 };
00115
00116 #endif
00117
00118
00119