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

HashOctree Class Reference

List of all members.

Classes

class  cell_iterator
 Octree cell iterator : Traverse the octree returning basic information on the cells. More...
class  geom_cell
 Auxiliary structure to traverse the octree. More...
class  leaf_iterator
 Octree leaf iterator : Traverse the octree returning basic information on the leaves. More...

Public Types

typedef bool hash_dual_walker (HashOctree &fo, Key *keys)
 Dual function type.

Public Member Functions

 HashOctree ()
 Default constructor: Constructs a octree with and empty root.
 ~HashOctree ()
 Destructor: Free memory.
void init ()
 Create the root.
void clear ()
 Memory cleaning.
void clear_octree ()
 Delete the content of the octree.
bool check ()
 Check that only the leaves have data.
void stats ()
 Prints statistics about the octree.
Level max_level () const
 Return the maximal level of the octree.
real max_field () const
 Return the maximal field of the octree.
MarchingCubesmc ()
 Return the isosurface.
MC_Drawmc_draw ()
 Return the isosurface draw.
bool set_impl (data_access *ref=NULL)
 set the values of each leaf from the implicit function
bool refine (data_access *ref=NULL)
 Refine the octree according to the data access.
bool adapt (data_access *ref=NULL)
 Adapt the octree according to the data access.
bool draw_wire ()
 Draw the octree with wireframe.
bool draw_centers ()
 Draw the octree with dots.
bool dual_cubes_walk (hash_dual_walker &walker)
 Walk on the dual cubes.
bool build_isosurface (data_access *ref=NULL)
 Build the isosurface using dual marching cubes.
bool direct_draw_isosurface (data_access *ref=NULL)
 Draw the isosurface on-the-fly using dual marching cubes.
bool draw_dual ()
 Draw the dual octree with wireframe.
bool dual_timing ()
 Do nothing, just for dual generation timing.
cell_iterator cells_begin ()
 Create an iterator traversing the tree from the root.
leaf_iterator leaves_begin ()
 Create an iterator traversing the leaves of the tree from the root.
bool find_leaf (real x, real y, real z, geom_cell &cell) const
 Find cells of the octree at a given position.
bool find_radius (real x, real y, real z, real r, List< geom_cell > &cells) const
 Find cells of the octree inside a given box of center x,y,z and half side r.
bool adjacent (const geom_cell &cell, List< geom_cell > &cells) const
 Find adjacent cells of the octree to a given cell.
bool is_leaf (Key k) const
 Leaf test based on the field value.
void draw_plane (real nx, real ny, real nz, real d)
 Draws the intersecting cells of a plane with the octree with color.
void draw_slice (real nx, real ny, real nz, real d, float alpha)
 Draws the intersection of a plane with the octree with color.
void draw_iso ()
 Draws the isosurface of level l inside the dual graph.
const geom_cell geom_root () const
const geom_cell geom_key (Key k) const

Protected Types

typedef Hash< realHashField
 Octree cell data structure.

Protected Attributes

HashField _hash
 Hashtable of the octree nodes.
Level _max_level
 Maximal level of the octree (for find_adjacent).
real _max_field
 Maximal field of the octree.
MarchingCubes _mc
 Isosurface.
MC_Draw _mc_draw
 Isosurface Draw.
uint _dual_temp_memory
 Dual run memory consumption.

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Defines