Classes | Public Types | Public Member Functions | Protected Types | Protected Attributes

OpenTissue::t4mesh::T4Edges< M, E > Class Template Reference

#include <t4mesh_t4edges.h>

List of all members.

Classes

struct  VisitT4Edge

Public Types

typedef M mesh_type
typedef E edge_traits
typedef T4Edge< M, E > edge_type
typedef mesh_type::index_type index_type
typedef std::list< edge_typeedge_container
typedef edge_container::iterator edge_iterator
typedef
edge_container::const_iterator 
const_edge_iterator

Public Member Functions

edge_iterator begin ()
edge_iterator end ()
const_edge_iterator begin () const
const_edge_iterator end () const
 T4Edges ()
 T4Edges (mesh_type &mesh)

Protected Types

enum  color_type { white, grey, black }
typedef std::vector< color_typecolor_container
typedef mesh_type::node_type node_type
typedef
node_type::tetrahedron_circulator 
tetrahedron_type
typedef std::list< node_type * > work_queue

Protected Attributes

edge_container m_edges

Detailed Description

template<class M, typename E>
class OpenTissue::t4mesh::T4Edges< M, E >

Tetrahedra Mesh Edges. Edges are not represented explicitly in a t4mesh, only nodes and tetrahedra are representated. Thus this class extracts all unique edges from a t4mesh, by traversing it and generating explicit edges.

Note that if subsequent changes are made to the t4mesh, the edge changes are not reflected by the edges stored in this class. Meaning that a new edge-queury must be initiated everytime the t4mesh changes its topology.


Member Typedef Documentation

template<class M, typename E>
typedef std::vector<color_type> OpenTissue::t4mesh::T4Edges< M, E >::color_container [protected]
template<class M, typename E>
typedef edge_container::const_iterator OpenTissue::t4mesh::T4Edges< M, E >::const_edge_iterator
template<class M, typename E>
typedef std::list<edge_type> OpenTissue::t4mesh::T4Edges< M, E >::edge_container
template<class M, typename E>
typedef edge_container::iterator OpenTissue::t4mesh::T4Edges< M, E >::edge_iterator
template<class M, typename E>
typedef E OpenTissue::t4mesh::T4Edges< M, E >::edge_traits
template<class M, typename E>
typedef T4Edge<M,E> OpenTissue::t4mesh::T4Edges< M, E >::edge_type
template<class M, typename E>
typedef mesh_type::index_type OpenTissue::t4mesh::T4Edges< M, E >::index_type
template<class M, typename E>
typedef M OpenTissue::t4mesh::T4Edges< M, E >::mesh_type
template<class M, typename E>
typedef mesh_type::node_type OpenTissue::t4mesh::T4Edges< M, E >::node_type [protected]
template<class M, typename E>
typedef node_type::tetrahedron_circulator OpenTissue::t4mesh::T4Edges< M, E >::tetrahedron_type [protected]
template<class M, typename E>
typedef std::list<node_type*> OpenTissue::t4mesh::T4Edges< M, E >::work_queue [protected]

Member Enumeration Documentation

template<class M, typename E>
enum OpenTissue::t4mesh::T4Edges::color_type [protected]
Enumerator:
white 
grey 
black 

Constructor & Destructor Documentation

template<class M, typename E>
OpenTissue::t4mesh::T4Edges< M, E >::T4Edges (  )  [inline]
template<class M, typename E>
OpenTissue::t4mesh::T4Edges< M, E >::T4Edges ( mesh_type mesh  )  [inline]

Specialized Constructor. This constructor traverses the specified mesh and extracts all edges.


Member Function Documentation

template<class M, typename E>
edge_iterator OpenTissue::t4mesh::T4Edges< M, E >::begin (  )  [inline]
template<class M, typename E>
const_edge_iterator OpenTissue::t4mesh::T4Edges< M, E >::begin (  )  const [inline]
template<class M, typename E>
const_edge_iterator OpenTissue::t4mesh::T4Edges< M, E >::end (  )  const [inline]
template<class M, typename E>
edge_iterator OpenTissue::t4mesh::T4Edges< M, E >::end (  )  [inline]

Member Data Documentation

template<class M, typename E>
edge_container OpenTissue::t4mesh::T4Edges< M, E >::m_edges [protected]

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