Classes |
class | geom_cell |
| Auxiliary structure to traverse the octree. More...
|
class | leaf_iterator |
| Octree cell iterator : Traverse the octree returning basic information on the cells. More...
|
Public Types |
typedef bool | leaf_dual_walker (LeafOctree &fo, Key *keys) |
| Dual function type.
|
Public Member Functions |
| LeafOctree () |
| Default constructor: Constructs a octree with and empty root.
|
| ~LeafOctree () |
| Destructor: Free memory.
|
void | init () |
| Create the root.
|
void | clear () |
| Memory cleaning.
|
void | clear_octree () |
| Delete the content of the octree.
|
void | compute_opt_level () |
| Compute the optimal level.
|
bool | check () |
| Check that only the leaves have data.
|
void | stats () const |
| Prints statistics about the octree.
|
Level | max_level () const |
| Return the maximal level of the octree.
|
Level | opt_level () const |
| Return the optimal level of the octree.
|
Level & | opt_level () |
| Return the optimal level of the octree.
|
real | max_field () const |
| Return the maximal field of the octree.
|
MarchingCubes & | mc () |
| Return the isosurface.
|
MC_Draw & | mc_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 | compute_primal_verts () |
| Compute primal vertices.
|
bool | dual_cubes_walk (leaf_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.
|
leaf_iterator | leaves_begin () |
| Create an iterator traversing the leaves of the tree from the root.
|
bool | find_leaf (Key k, Level o_lv, geom_cell &cell) const |
| Find cells of the octree at a given position.
|
bool | find_leaf (Key k, geom_cell &cell) const |
bool | find_leaf (real x, real y, real z, geom_cell &cell) const |
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 (Key k, List< geom_cell > &cells) const |
| Find adjacent cells of the octree to a given cell.
|
bool | adjacent (const geom_cell &cell, List< geom_cell > &cells) const |
bool | node_exists (Key k, HashField::KeyData &kd) const |
| Node existence.
|
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< real > | HashField |
| Octree cell data structure.
|
Protected Attributes |
HashField | _hash |
| Hashtable of the octree nodes.
|
uint | _level_dist [MAX_LEVEL+1] |
| Level distribution of the octree.
|
Level | _opt_level |
| Optimal level for direct search in the octree.
|
real | _max_field |
| Maximal field of the octree.
|
MarchingCubes | _mc |
| Isosurface.
|
MC_Draw | _mc_draw |
| Isosurface Draw.
|