#include <adf.h>
Inheritance diagram for ADF:


The accuracy_isosurface denotes the isosurface below which the tolerance is guaranteed. Allows only having accurate reconstruction near the surface. In this new verion, accuracy_isosurface is not used because the ADF is storing a field, it needs to be accurate every where, including places where the values are not close to zero.
Definition at line 137 of file adf.h.
Public Member Functions | |
| ADF () | |
| ADF (Implicit *m_f, Box< double > *box, double error) | |
| default constructor needed by surface | |
| ~ADF () | |
| constructor you normally use. | |
| double | get_sample (const ADFSampleAddress &addr, bool create=true) |
| default destructor | |
| double | get_distance (const gmVector3 &p, gmVector3 *normal=NULL, double calc_normal_threshold=gmGOOGOL) |
| return the distance and the normal of a point in the ADF | |
| virtual bool | setChildren (std::vector< Implicit * > children) |
| this new std::map replaced the old hashmap used in STLPort | |
| virtual double | proc (gmVector3 x) |
| Sets the operand of this operation. | |
| virtual Intervald | proc (Box< double > x) |
| Evaluation of function. | |
| virtual void | procq (gmVector3, double *) |
| Evaluation of dFdq. | |
| virtual void | getq (double *) |
| Evaluation of dFdq. | |
| virtual void | _setq (double *) |
| Retreives parameters. | |
| virtual int | qlen () |
| Assigns parameters. | |
| virtual void | getqname (char **qn) |
| Returns the # of parameters. | |
| MAKE_NAME () | |
| Retreives parameter names. | |
| void | createADF (Implicit *imp, Box< double > *b, double err=0.1) |
| factory call | |
Public Attributes | |
| hashmap< ADFSampleAddress, ADFSample, ADFSampleHasher, ADFSampleMap > | sample_map |
| old verion's proc | |
| double | length_table [16] |
| calculate the ADF | |
| double | epsilon |
| precomputered lengths for the data stucture | |
| Box< double > * | box |
| the error tolerance | |
Protected Member Functions | |
| virtual void | copy_traversal_node (OctreeTraversalNode *dp, OctreeTraversalNode *sp) |
| virtual void | init_traversal_node (OctreeTraversalNode *np, OctreeTraversalNode *pp, int child) |
|
|
Definition at line 144 of file adf.h. References UnaryOp::m_f. |
|
||||||||||||||||
|
default constructor needed by surface
Definition at line 66 of file adf.cpp. References createADF(). |
|
|
constructor you normally use.
Definition at line 71 of file adf.cpp. References Octree::node_factoryp, and Octree::rootp. |
|
|
Retreives parameters.
Reimplemented from UnaryOp. Definition at line 170 of file adf.cpp. References Implicit::_setq(), and UnaryOp::m_f. |
|
||||||||||||
|
Reimplemented from Octree. Definition at line 39 of file adf.cpp. References ADFTraversalNode::address, Octree::copy_traversal_node(), and ADFTraversalNode::samples. |
|
||||||||||||||||
|
factory call
Definition at line 84 of file adf.cpp. References ADFTraversalNode::address, ADF_NODE_LEAF, box, OctreeTraversalNode::center, Box< double >::center(), Octree::center, OctreeNode::childrenpp, OctreeTraversalNode::depth, epsilon, ADFTraversalNode::extract_samples_from(), OctreeTraversalNode::length, Octree::length, length_table, UnaryOp::m_f, Octree::node_factoryp, ADFNode::node_type, OctreeTraversalNode::nodep, OctreeNode::parentp, ADFPruner::prune(), ADFRefiner::refine(), Octree::rootp, ADFSampleAddress::set_to_root(), and Box< double >::width(). Referenced by ADF(), and setChildren(). |
|
||||||||||||||||
|
return the distance and the normal of a point in the ADF
Definition at line 262 of file adf.cpp. References ADF_NODE_LEAF, ADFTraversalNode::estimate_normal(), ADFTraversalNode::extract_samples_from(), ADFTraversalNode::get_distance(), Octree::get_leaf_for_point(), ADFNode::node_type, and OctreeTraversalNode::nodep. |
|
||||||||||||
|
default destructor First, convert the sample address to a point in space, and then extract the new sample from the distance function, and store it.
Definition at line 229 of file adf.cpp. References hashmap< ADFSampleAddress, ADFSample, ADFSampleHasher, ADFSampleMap >::end(), hashmap< ADFSampleAddress, ADFSample, ADFSampleHasher, ADFSampleMap >::find(), hashmap< ADFSampleAddress, ADFSample, ADFSampleHasher, ADFSampleMap >::insert(), UnaryOp::m_f, nan(), Implicit::proc(), sample_map, and ADFSampleAddress::to_point(). Referenced by ADFTraversalNode::extract_samples_from(), and ADFTraversalNode::is_reconstruction_valid(). |
|
|
Evaluation of dFdq.
Reimplemented from UnaryOp. Definition at line 157 of file adf.cpp. References Implicit::getq(), and UnaryOp::m_f. |
|
|
Returns the # of parameters.
Reimplemented from UnaryOp. Definition at line 213 of file adf.cpp. References UnaryOp::getqname(). |
|
||||||||||||||||
|
Reimplemented from Octree. Definition at line 16 of file adf.cpp. References ADFTraversalNode::address, ADFSampleAddress::adjust_for_child(), OctreeTraversalNode::depth, and ADFSampleAddress::set_to_root(). |
|
|
Retreives parameter names.
|
|
|
Evaluation of function.
Reimplemented from UnaryOp. Definition at line 302 of file adf.cpp. References Box< Float >::center(), convert(), get_distance(), Intervald, and UnaryOp::m_f. |
|
|
Sets the operand of this operation.
Reimplemented from UnaryOp. Definition at line 293 of file adf.cpp. References get_distance(), and UnaryOp::m_f. |
|
||||||||||||
|
Evaluation of dFdq.
Reimplemented from UnaryOp. Definition at line 186 of file adf.cpp. References UnaryOp::m_f, and Implicit::procq(). |
|
|
Assigns parameters.
Reimplemented from UnaryOp. Definition at line 200 of file adf.cpp. References UnaryOp::m_f, and Implicit::qlen(). |
|
|
this new std::map replaced the old hashmap used in STLPort It then call createADF.
Reimplemented from Implicit. Definition at line 136 of file adf.cpp. References createADF(). |
|
|
the error tolerance
Definition at line 186 of file adf.h. Referenced by createADF(). |
|
|
precomputered lengths for the data stucture
Definition at line 185 of file adf.h. Referenced by createADF(), ADFTraversalNode::is_reconstruction_valid(), and ADFRefiner::refine(). |
|
|
calculate the ADF
Definition at line 184 of file adf.h. Referenced by ADFSampleAddress::coord_to_point(), and createADF(). |
|
|
old verion's proc
Definition at line 156 of file adf.h. Referenced by get_sample(), ADFPruner::prune(), and ADFAnalyzer::report_statistics(). |
1.3.4