Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkICTriangleMesh.h

00001 /*=========================================================================
00002 
00003   Program:   3DMed
00004   Date:      $Date: 2014-02-25 18:30:00 +0800 $
00005   Version:   $Version: 4.6.0 $
00006   Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences
00007 
00008 =========================================================================*/
00009 
00010 
00011 #ifndef __mitkICTriangleMesh_h
00012 #define __mitkICTriangleMesh_h
00013 
00014 #include "mitkTriangleMesh.h"
00015 
00022 class MITK_COMMON_API mitkICTriangleMesh : public mitkTriangleMesh
00023 {
00024 public:
00025     MITK_TYPE(mitkICTriangleMesh, mitkTriangleMesh)
00026 
00027     virtual void PrintSelf(ostream& os);
00028 
00032     mitkICTriangleMesh();
00033 
00038     virtual int GetDataObjectType() const { return MITK_IC_TRIANGLE_MESH; }
00039 
00043     virtual void Initialize();
00044 
00049     virtual unsigned long long GetActualMemorySize() const;
00050 
00055     virtual void ShallowCopy(mitkDataObject *src);
00056 
00061     virtual void DeepCopy(mitkDataObject *src);
00062 
00067     virtual void SetVertexNumber(size_type number);
00068 
00073     virtual void SetFaceNumber(size_type number);
00074 
00079     virtual float* GetVertexData() { return ((float *)m_VertexData); }
00080 
00085     virtual index_type* GetFaceData() { return ((index_type *)m_FaceData); }
00086 
00090     virtual void ReverseNormals();
00091 
00097     virtual bool TestClockwise();
00098 
00099 
00100 protected:
00101     virtual ~mitkICTriangleMesh();
00102 
00103     virtual index_type _addVertex(Vertex3f &vert);
00104     virtual index_type _addFace(unsigned int num, index_type *verts);
00105     virtual Vertex3f const* _getVertex(index_type vertIdx);
00106     virtual index_type const* _getFace(index_type faceIdx);
00107     virtual Vertex3f* _getVertexForWrite(index_type vertIdx);
00108     virtual index_type* _getFaceForWrite(index_type faceIdx);
00109 
00110     //helper to test triangle orientation 
00111     Orientation _testOrientation(index_type faceIdx) const;
00112 
00113     Vertex3f *m_VertexData;
00114     TriangleFace *m_FaceData;
00115 
00116 private:
00117     mitkICTriangleMesh(const mitkICTriangleMesh&);
00118     void operator=(const mitkICTriangleMesh&);
00119 
00120 };
00121 
00122 #endif
00123 

Generated on Tue Feb 25 15:00:37 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3