Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

ADFRefiner Class Reference

#include <adf.h>

Inheritance diagram for ADFRefiner:

Inheritance graph
[legend]
Collaboration diagram for ADFRefiner:

Collaboration graph
[legend]
List of all members.

Detailed Description

An iterator for use with mesh octrees, used to insert triangles into the octree.

Definition at line 238 of file adf.h.

Public Member Functions

 ADFRefiner ()
void refine (ADF *ap, double epsilon)
 Checks tolerance and if not satisfied, continues to traverse.

virtual bool iterate (OctreeTraversalNode *np)
 Traverses to child nodes.


Public Attributes

ADFadfp

Protected Member Functions

virtual bool should_split (ADFTraversalNode *np)
 First, test that the node contains an iso-surface less than the accuracy_isosurface.


Constructor & Destructor Documentation

ADFRefiner::ADFRefiner  )  [inline]
 

Definition at line 241 of file adf.h.

References OctreeIterator::wants_internal_nodes.


Member Function Documentation

bool ADFRefiner::iterate OctreeTraversalNode np  )  [virtual]
 

Traverses to child nodes.

Creates children if necessary.

Reimplemented from OctreeIterator.

Definition at line 621 of file adf.cpp.

References ADF_NODE_LEAF, adfp, OctreeNode::childrenpp, OctreeTraversalNode::depth, Octree::max_actual_depth, ADFNode::node_type, OctreeTraversalNode::nodep, OctreeNode::parentp, and should_split().

void ADFRefiner::refine ADF ap,
double  e
 

Checks tolerance and if not satisfied, continues to traverse.

Parameters:
ap Pointer to an ADF object
e Global tolerance

Definition at line 654 of file adf.cpp.

References adfp, ADF::epsilon, and Octree::traverse().

Referenced by ADF::createADF(), and main().

bool ADFRefiner::should_split ADFTraversalNode atp  )  [protected, virtual]
 

First, test that the node contains an iso-surface less than the accuracy_isosurface.

If not, then there's no need to split. Of course, this test shouldn't be done on the root node (and by not doing so, we're guaranteed to create the child samples for the root node).

Definition at line 598 of file adf.cpp.

References ADF_NODE_INTERNAL, ADF_NODE_LEAF, adfp, ADFTraversalNode::extract_samples_from(), ADFTraversalNode::is_reconstruction_valid(), ADFNode::node_type, and OctreeTraversalNode::nodep.

Referenced by iterate().


Member Data Documentation

ADF* ADFRefiner::adfp
 

Definition at line 253 of file adf.h.

Referenced by iterate(), refine(), and should_split().


The documentation for this class was generated from the following files:
Generated on Mon Jun 28 15:01:58 2004 for Advanced Surface Library by doxygen 1.3.4