#include <mesh_isosurface.h>
List of all members.
Public Member Functions |
template<typename grid_type , typename mesh_type > |
void | operator() (grid_type const &phi, typename grid_type::value_type const &isolevel, mesh_type &mesh) |
Protected Types |
typedef int | identifier_type |
Protected Member Functions |
identifier_type | compute_vertex_id (size_t i, size_t j, size_t k, size_t I, size_t J) |
identifier_type | get_edge_id (size_t i, size_t j, size_t k, identifier_type edge_number, size_t I, size_t J) |
template<typename grid_type , typename size_t > |
grid_type::math_types::vector3_type | calculate_intersection (grid_type const &phi, typename grid_type::value_type const &isovalue, size_t i, size_t j, size_t k, identifier_type edge_number) |
Static Protected Member Functions |
static identifier_type | edge_table (identifier_type const &idx) |
static identifier_type | triangle_table (identifier_type const &idx1, identifier_type const &idx2) |
Detailed Description
Iso Surface Generator Class.
Optimizations: 1) change for-loops to use iterators 2) avoid calling edge_table and triangle_table functions (use array lookup) 3) unroll the calculate_intersection function 4) minimize number of argumts passed to get_edge_id
Member Typedef Documentation
Member Function Documentation
template<typename grid_type , typename size_t >
identifier_type OpenTissue::mesh::detail::IsoSurfaceGenerator::compute_vertex_id |
( |
size_t |
i, |
|
|
size_t |
j, |
|
|
size_t |
k, |
|
|
size_t |
I, |
|
|
size_t |
J | |
|
) |
| | [inline, protected] |
identifier_type OpenTissue::mesh::detail::IsoSurfaceGenerator::get_edge_id |
( |
size_t |
i, |
|
|
size_t |
j, |
|
|
size_t |
k, |
|
|
identifier_type |
edge_number, |
|
|
size_t |
I, |
|
|
size_t |
J | |
|
) |
| | [inline, protected] |
template<typename grid_type , typename mesh_type >
The documentation for this class was generated from the following file:
- /home/hauberg/Dokumenter/Capture/humim-tracker-0.1/src/OpenTissue/OpenTissue/core/containers/mesh/common/util/mesh_isosurface.h