Chaste Release::3.1
VtkMeshReader< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <VtkMeshReader.hpp>

Inheritance diagram for VtkMeshReader< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for VtkMeshReader< ELEMENT_DIM, SPACE_DIM >:

List of all members.

Public Member Functions

 VtkMeshReader (std::string pathBaseName)
 VtkMeshReader (vtkUnstructuredGrid *p_vtkUnstructuredGrid)
virtual ~VtkMeshReader ()
unsigned GetNumElements () const
unsigned GetNumCableElements () const
unsigned GetNumNodes () const
unsigned GetNumFaces () const
unsigned GetNumEdges () const
unsigned GetNumElementAttributes () const
unsigned GetNumCableElementAttributes () const
unsigned GetNumFaceAttributes () const
void Reset ()
void Initialize ()
std::vector< doubleGetNextNode ()
ElementData GetNextElementData ()
ElementData GetNextFaceData ()
ElementData GetNextCableElementData ()
void GetCellData (std::string dataName, std::vector< double > &dataPayload)
void GetPointData (std::string dataName, std::vector< double > &dataPayload)
void GetCellData (std::string dataName, std::vector< c_vector< double, SPACE_DIM > > &dataPayload)
void GetPointData (std::string dataName, std::vector< c_vector< double, SPACE_DIM > > &dataPayload)
vtkUnstructuredGrid * OutputMeshAsVtkUnstructuredGrid ()

Private Member Functions

void CommonConstructor ()

Private Attributes

vtkUnstructuredGrid * mpVtkUnstructuredGrid
vtkGeometryFilter * mpVtkGeometryFilter
vtkFeatureEdges * mpVtkFilterEdges
bool mIndexFromZero
std::ifstream mVtuFile
unsigned mNumNodes
unsigned mNumElements
unsigned mNumFaces
unsigned mNumCableElements
unsigned mNodesRead
unsigned mElementsRead
unsigned mFacesRead
unsigned mBoundaryFacesRead
unsigned mBoundaryFacesSkipped
unsigned mCableElementsRead
unsigned mNumNodeAttributes
unsigned mMaxNodeBdyMarker
unsigned mNumElementAttributes
unsigned mNumFaceAttributes
unsigned mNumCableElementAttributes
unsigned mOrderOfElements
unsigned mNodesPerElement
int mVtkCellType

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class VtkMeshReader< ELEMENT_DIM, SPACE_DIM >

VtkMeshReader

Reads a mesh from VTK .vtu format (that's an XML-based, data compressed unstructured mesh)

Definition at line 80 of file VtkMeshReader.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::VtkMeshReader ( std::string  pathBaseName)
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::VtkMeshReader ( vtkUnstructuredGrid *  p_vtkUnstructuredGrid)

Alternative constructor, takes a vtkUnstructuredGrid that is already in memory as an input parameter rather than a .vtu file

Parameters:
p_vtkUnstructuredGridPointer to a vtkUnstructuredGrid object

Definition at line 169 of file VtkMeshReader.cpp.

References VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::CommonConstructor(), and VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mpVtkUnstructuredGrid.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::~VtkMeshReader ( ) [virtual]

Destructor

Definition at line 193 of file VtkMeshReader.cpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::CommonConstructor ( ) [private]

Common constructor which uses the vtkUnstructuredGrid object. The main constructors need to make sure that mpVtkUnstructuredGrid is assigned properly.

Definition at line 89 of file VtkMeshReader.cpp.

References NEVER_REACHED.

Referenced by VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::VtkMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetCellData ( std::string  dataName,
std::vector< double > &  dataPayload 
)

Returns an std::vector containing the vtkCellData with attribute name specified Throws if the attribute name does not exist

Parameters:
dataNameName of the cell data
dataPayloadin which to store the result

Definition at line 376 of file VtkMeshReader.cpp.

References EXCEPTION.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetCellData ( std::string  dataName,
std::vector< c_vector< double, SPACE_DIM > > &  dataPayload 
)

Returns an std::vector containing the vector-directed vtkCellData with attribute name specified Throws if the attribute name does not exist

Parameters:
dataNameName of the cell data
dataPayloadin which to store the result

Definition at line 399 of file VtkMeshReader.cpp.

References EXCEPTION.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextCableElementData ( ) [virtual]

Returns a vector of the nodes of each face in turn (synonym of GetNextEdgeData())

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 317 of file VtkMeshReader.cpp.

References EXCEPTION, and ElementData::NodeIndices.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData ( ) [virtual]

Returns a vector of the nodes of each element (and any attribute information, if there is any) in turn

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 290 of file VtkMeshReader.cpp.

References ElementData::AttributeValue, EXCEPTION, and ElementData::NodeIndices.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData ( ) [virtual]

Returns a vector of the nodes of each face in turn (synonym of GetNextEdgeData())

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 343 of file VtkMeshReader.cpp.

References EXCEPTION, and ElementData::NodeIndices.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode ( ) [virtual]

Returns a vector of the coordinates of each node in turn

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 271 of file VtkMeshReader.cpp.

References EXCEPTION.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElementAttributes ( ) const [virtual]

Returns mNumCableElementAttributes

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 242 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElements ( ) const [virtual]

Returns the mNumCableElements

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 212 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumEdges ( ) const

Returns mNumFaces (synonym of GetNumFaces() method)

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 230 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElementAttributes ( ) const [virtual]

Returns mNumElementAttributes

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 236 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElements ( ) const [virtual]

Returns the mNumElements

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 206 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaceAttributes ( ) const [virtual]

Returns mNumFaceAttributes

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 248 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaces ( ) const [virtual]

Returns mNumFaces (synonym of GetNumEdges() method)

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 224 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes ( ) const [virtual]

Returns mNumNodes

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 218 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetPointData ( std::string  dataName,
std::vector< double > &  dataPayload 
)

Returns an std::vector containing the vtkPointData with attribute name specified Throws if the attribute name does not exist

Parameters:
dataNameName of the point data
dataPayloadin which to store the result

Definition at line 428 of file VtkMeshReader.cpp.

References EXCEPTION.

Referenced by AdaptiveBidomainProblem::InitializeSolutionOnAdaptedMesh().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::GetPointData ( std::string  dataName,
std::vector< c_vector< double, SPACE_DIM > > &  dataPayload 
)

Returns an std::vector containing the vector-directed vtkPointData with attribute name specified Throws if the attribute name does not exist

Parameters:
dataNameName of the point data
dataPayloadin which to store the result

Definition at line 452 of file VtkMeshReader.cpp.

References EXCEPTION.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::Initialize ( )

Deletes the vtkUnstructuredGrid and vtkGeometryFilter in preparation for deletion of the mesh reader (should) not be called if the vtkUnstructuredGrid is still required elsewhere, e.g. in an AdaptiveTetrahedralMesh or an AdaptiveBidomainProblem.

Definition at line 265 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
vtkUnstructuredGrid * VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::OutputMeshAsVtkUnstructuredGrid ( )

Return a pointer to mpVtkUnstructuredGrid

Definition at line 481 of file VtkMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset ( ) [virtual]

Resets mNodesRead, mElementsRead, mFacesRead and mBoundaryFacesRead to zero (for another pass through the mesh from the beginning

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 254 of file VtkMeshReader.cpp.


Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mBoundaryFacesRead [private]

Number of boundary faces read from file so far

Definition at line 105 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mBoundaryFacesSkipped [private]

Number of (not) boundary faces skipped

Definition at line 106 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mCableElementsRead [private]

Number of cable elements read in.

Definition at line 107 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementsRead [private]

Number of elements read from file so far

Definition at line 103 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mFacesRead [private]

Number of faces read from file so far

Definition at line 104 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero [private]

True if input data is numbered from zero, false otherwise

Definition at line 93 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mMaxNodeBdyMarker [private]

Is the maximum node boundary marker

Definition at line 111 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement [private]

Number of nodes per element

Definition at line 117 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesRead [private]

Number of nodes read from file so far

Definition at line 102 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElementAttributes [private]

Is the number of attributes stored for each cable

Definition at line 114 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElements [private]

Number of cable elements in the mesh.

Definition at line 100 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementAttributes [private]

Is the number of attributes stored for each element

Definition at line 112 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElements [private]

Number of elements in the mesh

Definition at line 98 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaceAttributes [private]

Is the number of attributes stored for each face

Definition at line 113 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaces [private]

Number of faces in the mesh

Definition at line 99 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodeAttributes [private]

Is the number of attributes stored at each node

Definition at line 110 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodes [private]

Number of nodes in the mesh

Definition at line 97 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mOrderOfElements [private]

Order of the elements (i.e. linear, quadratic, cubic FE basis functions

Definition at line 116 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
vtkFeatureEdges* VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mpVtkFilterEdges [private]

VTK edge filter object to extract the boundary elements in 2D

Definition at line 91 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
vtkGeometryFilter* VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mpVtkGeometryFilter [private]

VTK geometry filter object to extract the surface elements

Definition at line 88 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
vtkUnstructuredGrid* VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mpVtkUnstructuredGrid [private]

vtkUnstructuredGrid object: the rest of the class acts as an interface to this

Definition at line 85 of file VtkMeshReader.hpp.

Referenced by VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::VtkMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
int VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mVtkCellType [private]

Enumerated as VTK_TETRA in 3D and VTK_TRIANGLE in 2D. The VTK method GetCellType() returns an int, but this is documented as being non-negative

Definition at line 119 of file VtkMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::ifstream VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::mVtuFile [private]

Location of the .vtu file

Definition at line 95 of file VtkMeshReader.hpp.

Referenced by VtkMeshReader< ELEMENT_DIM, SPACE_DIM >::VtkMeshReader().


The documentation for this class was generated from the following files: