A base class for a local simplicial complex with a free node on a manifold. More...
#include <ComplexWithFreeVertexOnManifold.h>
Public Types | |
typedef Base::Number | Number |
The number type. | |
typedef Base::Vertex | Vertex |
A vertex. | |
typedef _Manifold | Manifold |
A parametrized manifold. | |
typedef ads::FixedArray< M, Number > | ManifoldPoint |
A point in the parameter space. | |
typedef Base::Face | Face |
A face of the simplex. | |
Protected Member Functions | |
Constructors etc. | |
ComplexWithFreeVertexOnManifoldBase () | |
Default constructor. Un-initialized memory. | |
template<typename FaceIterator > | |
ComplexWithFreeVertexOnManifoldBase (FaceIterator beginning, FaceIterator end) | |
Construct from the fixed faces. | |
~ComplexWithFreeVertexOnManifoldBase () | |
Trivial destructor. | |
Manipulators. | |
void | setManifold (const Manifold *manifold) |
Set the manifold. | |
Mathematical functions | |
void | computeBBox (const ManifoldPoint &point, BBox< N, T > *bb) |
Calculate the bounding box for the complex. | |
Number | computeContent (const ManifoldPoint &point) |
Return the content for the specified parameter point. | |
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. | |
Number | computeNorm2 (const ManifoldPoint &point) |
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. | |
Number | computeNorm2Modified (const ManifoldPoint &point) |
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. | |
Vertex | computePosition (const ManifoldPoint &point) |
Protected Attributes | |
const Manifold * | _manifold |
The manifold data structure. |
A base class for a local simplicial complex with a free node on a manifold.
QF | is the quality functor for the simplices. | |
N | is the space dimension. | |
M | is the manifold dimension. | |
Manifold | is the parametrized manifold. | |
T | is the number type. By default it is double. |
This class implements the complex of simplices that surround a free node that lies on a manifold. 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 ComplexWithFreeVertexOnManifold(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: