| 
    cgv
    
   | 
 
class used to perform the marching cubes algorithm More...
#include <marching_cubes.h>
  
Public Types | |
| 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_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   | |
Protected Attributes | |
| 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 69 of file marching_cubes.h.
| typedef streaming_mesh<X> cgv::media::mesh::marching_cubes_base< X, T >::base_type | 
Definition at line 72 of file marching_cubes.h.
| typedef cgv::math::fvec<X,3> cgv::media::mesh::marching_cubes_base< X, T >::pnt_type | 
points must have three components
Definition at line 74 of file marching_cubes.h.
| typedef cgv::math::fvec<X,3> cgv::media::mesh::marching_cubes_base< X, T >::vec_type | 
vectors must have three components
Definition at line 76 of file marching_cubes.h.
      
  | 
  inline | 
construct marching cubes object
Definition at line 86 of file marching_cubes.h.
References cgv::media::mesh::streaming_mesh< X >::set_callback_handler().
      
  | 
  inline | 
construct a new vertex on an edge
Definition at line 93 of file marching_cubes.h.
References cgv::media::mesh::streaming_mesh< X >::get_nr_vertices(), and cgv::media::mesh::streaming_mesh< X >::new_vertex().
Referenced by cgv::media::mesh::marching_cubes_base< X, T >::extract_impl().
      
  | 
  inline | 
extract iso surface and send triangles to marching cubes handler
Definition at line 130 of file marching_cubes.h.
References cgv::media::mesh::marching_cubes_base< X, T >::construct_vertex(), cgv::media::mesh::streaming_mesh< X >::drop_vertices(), cgv::media::axis_aligned_box< T, N >::get_extent(), cgv::media::axis_aligned_box< T, N >::get_min_pnt(), cgv::media::mesh::streaming_mesh< X >::get_nr_vertices(), cgv::utils::progression::init(), cgv::media::mesh::streaming_mesh< X >::new_triangle(), cgv::media::mesh::slice_info< T >::set_value(), and cgv::utils::progression::step().
      
  | 
  protected | 
Definition at line 82 of file marching_cubes.h.
      
  | 
  protected | 
Definition at line 83 of file marching_cubes.h.