|
cgv
|
class used to perform the marching cubes algorithm More...
#include <marching_cubes.h>
Public Types | |
| typedef marching_cubes_base< X, T >::base_type | base_type |
| typedef marching_cubes_base< X, T >::pnt_type | pnt_type |
| points must have three components | |
| typedef marching_cubes_base< X, T >::vec_type | vec_type |
| vectors must have three components | |
Public Types inherited from cgv::media::mesh::marching_cubes_base< X, T > | |
| typedef streaming_mesh< X > | base_type |
| typedef cgv::math::fvec< X, 3 > | pnt_type |
| points must have three components | |
| typedef cgv::math::fvec< X, 3 > | vec_type |
| vectors must have three components | |
Public Types inherited from cgv::media::mesh::streaming_mesh< X > | |
| typedef cgv::math::fvec< X, 3 > | pnt_type |
| type of vertex locations | |
| typedef cgv::math::fvec< X, 3 > | vec_type |
| type of vertex normals | |
Public Member Functions | |
| marching_cubes (const cgv::math::v3_func< X, T > &_func, streaming_mesh_callback_handler *_smcbh, const X &_grid_epsilon=0.01f, const X &_epsilon=1e-6f) | |
| construct marching cubes object | |
| T | operator() (unsigned i, unsigned j, unsigned k, const pnt_type &p) const |
| void | extract (const T &_iso_value, const axis_aligned_box< X, 3 > &box, unsigned int resx, unsigned int resy, unsigned int resz, bool show_progress=false) |
Public Member Functions inherited from cgv::media::mesh::marching_cubes_base< X, T > | |
| marching_cubes_base (streaming_mesh_callback_handler *_smcbh, const X &_grid_epsilon=0.01f, const X &_epsilon=1e-6f) | |
| construct marching cubes object | |
| void | construct_vertex (slice_info< T > *info_ptr_1, int i_1, int j_1, int e, slice_info< T > *info_ptr_2, int i_2, int j_2) |
| construct a new vertex on an edge | |
| template<typename Eval , typename Valid > | |
| void | extract_impl (const T &_iso_value, const axis_aligned_box< X, 3 > &box, unsigned int resx, unsigned int resy, unsigned int resz, const Eval &eval, const Valid &valid, bool show_progress=false) |
| extract iso surface and send triangles to marching cubes handler | |
Public Member Functions inherited from cgv::media::mesh::streaming_mesh< X > | |
| streaming_mesh (streaming_mesh_callback_handler *_smcbh=0) | |
| construct from callback handler | |
| void | set_callback_handler (streaming_mesh_callback_handler *_smcbh) |
| set a new callback handler | |
| unsigned int | get_nr_dropped_vertices () const |
| return the number of vertices dropped from the front, what is used as index offset into a deque | |
| unsigned int | get_nr_vertices () const |
| return the number of vertices | |
| unsigned int | get_nr_faces () const |
| return the number of faces | |
| void | drop_vertex () |
| drop the front most vertex from the deque | |
| void | drop_vertices (unsigned int n) |
| drop n vertices from the front of the deque | |
| pnt_type & | vertex_location (unsigned int vi) |
| write access to vertex locations | |
| const pnt_type & | vertex_location (unsigned int vi) const |
| read access to vertex locations | |
| const vec_type & | vertex_normal (unsigned int vi) const |
| read access to vertex normals | |
| vec_type & | vertex_normal (unsigned int vi) |
| write access to vertex normals | |
| unsigned int | new_vertex (const pnt_type &p) |
| add a new vertex with the given location and call the callback of the callback handler | |
| void | new_triangle (unsigned int vi, unsigned int vj, unsigned int vk) |
| construct a new triangle by calling the new polygon method of the callback handler | |
| void | new_quad (unsigned int vi, unsigned int vj, unsigned int vk, unsigned int vl) |
| construct a new quad by calling the new polygon method of the callback handler | |
| void | new_polygon (const std::vector< unsigned int > &vertex_indices) |
| construct a new polygon by calling the new polygon method of the callback handler | |
Public Attributes | |
| const cgv::math::v3_func< X, T > & | func |
Additional Inherited Members | |
Protected Attributes inherited from cgv::media::mesh::marching_cubes_base< X, T > | |
| X | epsilon |
| X | grid_epsilon |
Protected Attributes inherited from cgv::media::mesh::streaming_mesh< X > | |
| int | idx_off |
| offset used to address vertices in deque | |
| unsigned int | nr_faces |
| count the number of faces | |
| std::deque< pnt_type > | pnts |
| store currently used points in deque | |
| std::deque< vec_type > | nmls |
| store currently used normals in deque | |
| streaming_mesh_callback_handler * | smcbh |
| store a pointer to the callback handler | |
class used to perform the marching cubes algorithm
Definition at line 252 of file marching_cubes.h.
| typedef marching_cubes_base<X,T>::base_type cgv::media::mesh::marching_cubes< X, T >::base_type |
Definition at line 257 of file marching_cubes.h.
| typedef marching_cubes_base<X,T>::pnt_type cgv::media::mesh::marching_cubes< X, T >::pnt_type |
points must have three components
Definition at line 259 of file marching_cubes.h.
| typedef marching_cubes_base<X,T>::vec_type cgv::media::mesh::marching_cubes< X, T >::vec_type |
vectors must have three components
Definition at line 261 of file marching_cubes.h.
|
inline |
construct marching cubes object
Definition at line 265 of file marching_cubes.h.
|
inline |
Definition at line 274 of file marching_cubes.h.
|
inline |
Definition at line 271 of file marching_cubes.h.
| const cgv::math::v3_func<X, T>& cgv::media::mesh::marching_cubes< X, T >::func |
Definition at line 263 of file marching_cubes.h.