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

mitkHEOoCTriangleMesh Class Reference

mitkHEOoCTriangleMesh - a concrete class for out-of-core triangle meshes represented by Half Edges More...

#include <mitkHEOoCTriangleMesh.h>

Inherits mitkHETriangleMesh.

Inheritance diagram for mitkHEOoCTriangleMesh:

Inheritance graph
[legend]
Collaboration diagram for mitkHEOoCTriangleMesh:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void PrintSelf (ostream &os)
 mitkHEOoCTriangleMesh ()
void SetVertexBlockSize (unsigned int vn)
void SetEdgeBlockSize (unsigned int en)
void SetFaceBlockSize (unsigned int fn)
void SetVertexBufferSize (size_type s)
void SetEdgeBufferSize (size_type s)
void SetFaceBufferSize (size_type s)
void SetBufferedVertexBlockNum (unsigned int n)
unsigned int GetBufferedVertexBlockNum ()
void SetBufferedEdgeBlockNum (unsigned int n)
unsigned int GetBufferedEdgeBlockNum ()
void SetBufferedFaceBlockNum (unsigned int n)
unsigned int GetBufferedFaceBlockNum ()
void SetPathOfDiskBuffer (char const *path)
char const * GetPathOfDiskBuffer ()
virtual int GetDataObjectType () const
virtual void Initialize ()
virtual unsigned long long GetActualMemorySize () const
virtual void ShallowCopy (mitkDataObject *src)
virtual void DeepCopy (mitkDataObject *src)
virtual void SetVertexNumber (size_type number)
virtual void SetFaceNumber (size_type number)
virtual Vertex & GetVertex (VertexHandle v) const
virtual Edge & GetEdge (EdgeHandle e) const
virtual Edge & GetEdge (HalfEdgeHandle he) const
virtual HalfEdge & GetHalfEdge (HalfEdgeHandle he) const
virtual Face & GetFace (FaceHandle f) const
virtual Vertex const & GetVertexForRead (VertexHandle v) const
virtual Edge const & GetEdgeForRead (EdgeHandle e) const
virtual Edge const & GetEdgeForRead (HalfEdgeHandle he) const
virtual HalfEdge const & GetHalfEdgeForRead (HalfEdgeHandle he) const
virtual Face const & GetFaceForRead (FaceHandle f) const
virtual VertexHandle GetHandle (Vertex const &vert) const
virtual EdgeHandle GetHandle (Edge const &edge) const
virtual HalfEdgeHandle GetHandle (HalfEdge const &he) const
virtual FaceHandle GetHandle (Face const &face) const
virtual float * GetVertexData ()
virtual index_type * GetFaceData ()

Detailed Description

mitkHEOoCTriangleMesh - a concrete class for out-of-core triangle meshes represented by Half Edges

mitkHEOoCTriangleMesh is a concrete class for out-of-core triangle meshes represented by Half Edges. It can hold an out-of-core data set and provide the same access interfaces as mitkHETriangleMesh.

See also:
mitkHEMesh and mitkHETriangleMesh for access interfaces

mitkHEICTriangleMesh for in-core data set


Constructor & Destructor Documentation

mitkHEOoCTriangleMesh::mitkHEOoCTriangleMesh (   ) 
 

Default constructor.


Member Function Documentation

virtual void mitkHEOoCTriangleMesh::DeepCopy (  mitkDataObject *  src  )  [virtual]
 

Deep copy.

Parameters:
src pointer to the source mitkDataObject

Reimplemented from mitkHEMesh.

virtual unsigned long long mitkHEOoCTriangleMesh::GetActualMemorySize (   )  const [virtual]
 

Get the actual size of the data in bytes.

Returns:
Return the actual size of the data in bytes.

Implements mitkDataObject.

unsigned int mitkHEOoCTriangleMesh::GetBufferedEdgeBlockNum (   ) 
 

Get the number of buffered edge blocks in memory.

Returns:
Return the number of buffered vertex blocks.

unsigned int mitkHEOoCTriangleMesh::GetBufferedFaceBlockNum (   ) 
 

Get the number of buffered face blocks in memory.

Returns:
Return the number of buffered face blocks.

unsigned int mitkHEOoCTriangleMesh::GetBufferedVertexBlockNum (   ) 
 

Get the number of buffered vertex blocks in memory.

Returns:
Return the number of buffered vertex blocks.

virtual int mitkHEOoCTriangleMesh::GetDataObjectType (   )  const [inline, virtual]
 

Return what type of data object this is.

Returns:
Return the type of this data object.

Reimplemented from mitkHEMesh.

virtual Edge& mitkHEOoCTriangleMesh::GetEdge (  HalfEdgeHandle  he  )  const [virtual]
 

Get edge by half edge handle.

Parameters:
he one half edge handle of the required edge
Returns:
Return the reference to the required edge.
Note:
An edge is composed by two opposite half edges.

virtual Edge& mitkHEOoCTriangleMesh::GetEdge (  EdgeHandle  e  )  const [virtual]
 

Get edge by handle.

Parameters:
e the handle of the required edge
Returns:
Return the reference to the required edge.

virtual Edge const& mitkHEOoCTriangleMesh::GetEdgeForRead (  HalfEdgeHandle  he  )  const [virtual]
 

Get edge by half edge handle for read only.

Parameters:
he one half edge handle of the required edge
Returns:
Return the reference to the required edge.
Note:
An edge is composed by two opposite half edges.

virtual Edge const& mitkHEOoCTriangleMesh::GetEdgeForRead (  EdgeHandle  e  )  const [virtual]
 

Get edge by handle for read only.

Parameters:
e the handle of the required edge
Returns:
Return the reference to the required edge.

virtual Face& mitkHEOoCTriangleMesh::GetFace (  FaceHandle  f  )  const [virtual]
 

Get face by handle.

Parameters:
f the handle of the required face
Returns:
Return the reference to the required face.

virtual index_type* mitkHEOoCTriangleMesh::GetFaceData (   )  [inline, virtual]
 

Get data pointer of this face data. This is for compatibility with mitkTriangleMesh which is used more frequently. For out-of-core data sets, it will always return NULL, because the impossibility of fitting an out-of-core data set into the main memory.

Returns:
Always return NULL.
Warning:
This function is obsolete and does nothing in this class. We strongly advise against using it in new codes;

Implements mitkMesh.

virtual Face const& mitkHEOoCTriangleMesh::GetFaceForRead (  FaceHandle  f  )  const [virtual]
 

Get face by handle for read only.

Parameters:
f the handle of the required face
Returns:
Return the reference to the required face.

virtual HalfEdge& mitkHEOoCTriangleMesh::GetHalfEdge (  HalfEdgeHandle  he  )  const [virtual]
 

Get half edge by handle.

Parameters:
he the handle of the required half edge
Returns:
Return the reference to the required half edge.

virtual HalfEdge const& mitkHEOoCTriangleMesh::GetHalfEdgeForRead (  HalfEdgeHandle  he  )  const [virtual]
 

Get half edge by handle for read only.

Parameters:
he the handle of the required half edge
Returns:
Return the reference to the required half edge.

virtual FaceHandle mitkHEOoCTriangleMesh::GetHandle (  Face const &  face  )  const [virtual]
 

Get the handle of a face.

Parameters:
face the reference to the face
Returns:
Return the handle of the face.

virtual HalfEdgeHandle mitkHEOoCTriangleMesh::GetHandle (  HalfEdge const &  he  )  const [inline, virtual]
 

Get the handle of a half edge.

Parameters:
he the reference to the half edge
Returns:
Return the handle of the half edge.

virtual EdgeHandle mitkHEOoCTriangleMesh::GetHandle (  Edge const &  edge  )  const [virtual]
 

Get the handle of an edge.

Parameters:
edge the reference to the edge
Returns:
Return the handle of the edge.

virtual VertexHandle mitkHEOoCTriangleMesh::GetHandle (  Vertex const &  vert  )  const [virtual]
 

Get the handle of a vertex.

Parameters:
vert the reference to the vertex
Returns:
Return the handle of the vertex.

char const* mitkHEOoCTriangleMesh::GetPathOfDiskBuffer (   ) 
 

Get the full path of the disk buffer which contains all the data of the mesh.

Returns:
Return the full path of the disk buffer.

virtual Vertex& mitkHEOoCTriangleMesh::GetVertex (  VertexHandle  v  )  const [virtual]
 

Get vertex by handle.

Parameters:
v the handle of the required vertex
Returns:
Return the reference to the required vertex.

virtual float* mitkHEOoCTriangleMesh::GetVertexData (   )  [inline, virtual]
 

Get data pointer of this vertex data. This is for compatibility with mitkTriangleMesh which is used more frequently. For out-of-core data sets, it will always return NULL, because the impossibility of fitting an out-of-core data set into the main memory.

Returns:
Always return NULL.
Warning:
This function is obsolete and does nothing in this class. We strongly advise against using it in new codes.

Implements mitkMesh.

virtual Vertex const& mitkHEOoCTriangleMesh::GetVertexForRead (  VertexHandle  v  )  const [virtual]
 

Get vertex by handle for read only.

Parameters:
v the handle of the required vertex
Returns:
Return the reference to the required vertex.

virtual void mitkHEOoCTriangleMesh::Initialize (   )  [virtual]
 

Make the output data ready for new data to be inserted.

Reimplemented from mitkHETriangleMesh.

virtual void mitkHEOoCTriangleMesh::PrintSelf (  ostream &  os  )  [virtual]
 

Print the necessary information about this object for the debugging purpose.

Parameters:
os The specified ostream to output information.

Reimplemented from mitkHETriangleMesh.

void mitkHEOoCTriangleMesh::SetBufferedEdgeBlockNum (  unsigned int  n  ) 
 

Set the number of buffered edge blocks in memory.

Parameters:
n the number of buffered edge blocks
Note:
When calling this function, the buffer size is also calculated by (edge block size) * (vertex block number), so it is unnecessary to call SetEdgeBufferSize() again.

void mitkHEOoCTriangleMesh::SetBufferedFaceBlockNum (  unsigned int  n  ) 
 

Set the number of buffered face blocks in memory.

Parameters:
n the number of buffered face blocks
Note:
When calling this function, the buffer size is also calculated by (face block size) * (face block number), so it is unnecessary to call SetFaceBufferSize() again.

void mitkHEOoCTriangleMesh::SetBufferedVertexBlockNum (  unsigned int  n  ) 
 

Set the number of buffered vertex blocks in memory.

Parameters:
n the number of buffered vertex blocks
Note:
When calling this function, the buffer size is also calculated by (vertex block size) * (vertex block number), so it is unnecessary to call SetVertexBufferSize() again.

void mitkHEOoCTriangleMesh::SetEdgeBlockSize (  unsigned int  en  ) 
 

Set the size of the edge block (number of edges of one block).

Parameters:
en the number of edges of one block

void mitkHEOoCTriangleMesh::SetEdgeBufferSize (  size_type  s  ) 
 

Set the size of the memory buffer for containing cached edge blocks.

Parameters:
s the size of the buffer in bytes
Note:
When calling this function, the number of buffered edge blocks is also calculated by (buffer size) / (edge block size), so it is unnecessary to call SetBufferedEdgeBlockNum() again.

void mitkHEOoCTriangleMesh::SetFaceBlockSize (  unsigned int  fn  ) 
 

Set the size of the face block (number of triangles of one block).

Parameters:
fn the number of triangles of one block

void mitkHEOoCTriangleMesh::SetFaceBufferSize (  size_type  s  ) 
 

Set the size of the memory buffer for containing cached face blocks.

Parameters:
s the size of the buffer in bytes
Note:
When calling this function, the number of buffered slice is also calculated by (buffer size) / (face block size), so it is unnecessary to call SetBufferedFaceBlockNum() again.

virtual void mitkHEOoCTriangleMesh::SetFaceNumber (  size_type  number  )  [virtual]
 

Set the faces' number and allocate memory.

Parameters:
number the number of faces
Warning:
This function is obsolete. It is provided to keep old codes working. We strongly advise against using it in new codes.

Implements mitkMesh.

void mitkHEOoCTriangleMesh::SetPathOfDiskBuffer (  char const *  path  ) 
 

Set the full path of the disk buffer to contain all the data of the mesh.

Parameters:
path the full path of the disk buffer

void mitkHEOoCTriangleMesh::SetVertexBlockSize (  unsigned int  vn  ) 
 

Set the size of the vertex block (number of vertices of one block).

Parameters:
vn the number of vertices of one block

void mitkHEOoCTriangleMesh::SetVertexBufferSize (  size_type  s  ) 
 

Set the size of the memory buffer for containing cached vertex blocks.

Parameters:
s the size of the buffer in bytes
Note:
When calling this function, the number of buffered vertex blocks is also calculated by (buffer size) / (vertex block size), so it is unnecessary to call SetBufferedVertexBlockNum() again.

virtual void mitkHEOoCTriangleMesh::SetVertexNumber (  size_type  number  )  [virtual]
 

Set the vertices' number and allocate memory.

Parameters:
number the number of vertices
Note:
This function is obsolete. It is provided to keep old codes working. We strongly advise against using it in new codes.

Implements mitkMesh.

virtual void mitkHEOoCTriangleMesh::ShallowCopy (  mitkDataObject *  src  )  [virtual]
 

Shallowcopy.

Parameters:
src pointer to the source mitkDataObject

Reimplemented from mitkHEMesh.


The documentation for this class was generated from the following file:
Generated on Tue Feb 25 15:03:02 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3