A local simplicial complex with a free node at the center. More...
#include <ComplexWithFreeVertex.h>
Public Types | |
typedef T | Number |
The number type. | |
typedef SWFV::Vertex | Vertex |
A vertex. | |
typedef SWFV::Face | Face |
A face of the simplex. | |
Public Member Functions | |
Constructors etc. | |
ComplexWithFreeVertex () | |
Default constructor. Un-initialized memory. | |
template<typename FaceIterator > | |
ComplexWithFreeVertex (FaceIterator beginning, FaceIterator end) | |
Construct from the fixed faces. | |
~ComplexWithFreeVertex () | |
Trivial destructor. | |
Accessors. | |
Vertex | getFreeVertex () const |
Return the free vertex. | |
Manipulators. | |
template<typename FaceIterator > | |
void | set (FaceIterator begin, FaceIterator end) |
Set the fixed vertices. | |
Mathematical functions | |
void | computeBBox (const Vertex &v, BBox< N, T > *bb) |
Calculate the bounding box for the complex. | |
Number | computeContent (const Vertex &v) |
Return the content for the given free node. | |
void | computeGradientOfContent (const Vertex &v, Vertex *gradient) |
Calculate the gradient of the content for the given free node. | |
Number | computeNorm2 (const Vertex &v) |
Return the 2-norm of the quality metric for the given free node. | |
void | computeGradientOfNorm2 (const Vertex &v, Vertex *gradient) |
Calculate the gradient of the 2-norm of the quality metric for the given free node. | |
Number | computeNorm2Modified (const Vertex &v) |
Return the 2-norm of the modified quality metric for the given free node. | |
void | computeGradientOfNorm2Modified (const Vertex &v, Vertex *gradient) |
Calculate the gradient of the 2-norm of the modified quality metric for the given free node. | |
Protected Member Functions | |
void | set (const Vertex &v) |
Set the free vertex in the simplices. |
A local simplicial complex with a free node at the center.
QF | is the quality functor for the simplices. | |
N | is the dimension. | |
T | is the number type. By default it is double. |
This class implements the complex of simplices that surround a free node. It provides functions to aid in the optimization of the location of this node. The faces in the complex that are not incident to the free node are fixed. You can set the fixed faces with the ComplexWithFreeVertex(FaceIterator begin,FaceIterator end) constructor or with set(FaceIterator begin,FaceIterator end). You can evaluate various quantities as a function of the position of the free node:
void ComplexWithFreeVertex< QF, N, T >::set | ( | const Vertex & | v | ) | [protected] |
Set the free vertex in the simplices.
For effeciency, it checks if the free vertex has already been set to v.