List of all members.
Public Types |
typedef M | math_types |
typedef N | node_traits |
typedef T | tetrahedron_traits |
typedef T4Mesh< M, N, T > | mesh_type |
typedef T4Node< mesh_type > | node_type |
typedef T4Tetrahedron< mesh_type > | tetrahedron_type |
typedef size_t | index_type |
typedef
OpenTissue::utility::IndexIterator
< index_type,
tetrahedra_container > | tetrahedron_iterator |
typedef
OpenTissue::utility::IndexIterator
< index_type,
tetrahedra_container > | const_tetrahedron_iterator |
typedef
OpenTissue::utility::IndexIterator
< index_type, node_container > | node_iterator |
typedef
OpenTissue::utility::IndexIterator
< index_type, node_container > | const_node_iterator |
Public Member Functions |
tetrahedron_iterator | tetrahedron_begin () |
tetrahedron_iterator | tetrahedron_end () |
const_tetrahedron_iterator | tetrahedron_begin () const |
const_tetrahedron_iterator | tetrahedron_end () const |
node_iterator | node_begin () |
node_iterator | node_end () |
const_node_iterator | node_begin () const |
const_node_iterator | node_end () const |
| T4Mesh () |
| T4Mesh (T4Mesh const &cpy) |
T4Mesh & | operator= (T4Mesh const &rhs) |
void | clear () |
node_iterator | node (index_type idx) |
const_node_iterator | const_node (index_type idx) const |
tetrahedron_iterator | tetrahedron (index_type idx) |
const_tetrahedron_iterator | tetrahedron (index_type idx) const |
size_t | size_nodes () const |
size_t | size_tetrahedra () const |
node_iterator | insert () |
template<typename vector3_type > |
node_iterator | insert (vector3_type const &coord) |
tetrahedron_iterator | insert (index_type i, index_type j, index_type k, index_type m) |
tetrahedron_iterator | insert (node_iterator i, node_iterator j, node_iterator k, node_iterator m) |
tetrahedron_iterator | find (node_iterator i, node_iterator j, node_iterator k, node_iterator m) const |
tetrahedron_iterator | erase (tetrahedron_iterator &where) |
Static Public Member Functions |
static index_type const & | undefined () |
Protected Types |
typedef std::vector< node_type > | node_container |
typedef std::vector
< tetrahedron_type > | tetrahedra_container |
Protected Member Functions |
void | unlink (tetrahedron_iterator &I) |
void | link (tetrahedron_iterator &I, node_iterator &i, node_iterator &j, node_iterator &k, node_iterator &m) |
void | swap (tetrahedron_iterator &A, tetrahedron_iterator &B) |
void | verify_nodes (node_iterator const &i, node_iterator const &j, node_iterator const &k, node_iterator const &m) const |
void | verify_tetrahedron (tetrahedron_iterator const &I) const |
Protected Attributes |
node_container | m_nodes |
| Internal node storage.
|
tetrahedra_container | m_tetrahedra |
| Internal tetrahedra storage.
|
Detailed Description
template<typename M, typename N, typename T>
class OpenTissue::t4mesh::detail::T4Mesh< M, N, T >
Basic (Simple) Tetrahedra Mesh.
This tetrahedra mesh data structure is designed specially for two purposes: It should maintain a valid topology of the mesh at all times, that is the connectivity of nodes and tetrahedra are always valid.
The other purpose is to make sure that the global indexing of nodes (0..N-1) and tetrahedra (0..T-1) always is a compact range starting from zero to the maximum number minus one.
Obviously removing entities (nodes or tetrahedra) alters the global index ranges, thus end users can not trust previously stored indices of entities in their own apps.
The mesh takes three template arguments. The first specifies the math_types used in the mesh. The following two arguments are node traits and tetrahedron traits respectively.
Member Typedef Documentation
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Constructor & Destructor Documentation
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Member Function Documentation
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Erase Tetrahedron at specified Position.
- Parameters:
-
- Returns:
template<typename M, typename N, typename T>
Find tetrahedron with the given nodes
- Parameters:
-
| i | The global index of i'th node |
| j | The global index of j'th node |
| k | The global index of k'th node |
| m | The global index of m'th node |
- Returns:
- A iterator to the tetrahedron if it exist or end position otherwise.
template<typename M, typename N, typename T>
template<typename vector3_type >
Add New Node. This method do not watch against creating multiple nodes with same coordinates.
- Parameters:
-
| coord | The new coordinate of the node |
- Returns:
- An iterator to the newly created node.
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Add New Node. New node will have index value equal to number of nodes prior to insertion.
- Returns:
- A iterator to the new node
template<typename M, typename N, typename T>
Overloaded insert method for tetrahedron, support index-based insertion.
This is a bit slower than using the iterator-based insertion method directly. But it makes it easier to code....
template<typename M, typename N, typename T>
Create new nodal connections for the specified Tetrahedron.
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Swap any internal data and nodal connections between the two specified Tetrahedra.
This metod is intended for internal usage only.
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Undefined index value.
- Returns:
- An index value that means that the index value is undefined. The largest possible value of the index type is used for this purpose.
template<typename M, typename N, typename T>
Remove all nodal connections from specified Tetrahedron.
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Member Data Documentation
template<typename M, typename N, typename T>
template<typename M, typename N, typename T>
Internal tetrahedra storage.
The documentation for this class was generated from the following file:
- /home/hauberg/Dokumenter/Capture/humim-tracker-0.1/src/OpenTissue/OpenTissue/core/containers/t4mesh/t4mesh_t4mesh.h