A simplex with a free vertex. More...
#include <SimplexWithFreeVertex.h>
Public Types | |
typedef T | Number |
The number type. | |
typedef QualityFunction::Vertex | Vertex |
The class for a vertex. | |
typedef Simplex< N, Vertex, Number > | Simplex |
A simplex of vertices. | |
typedef Simplex::Face | Face |
The face of a simplex. | |
Public Member Functions | |
Constructors etc. | |
SimplexWithFreeVertex () | |
Default constructor. Un-initialized memory. | |
SimplexWithFreeVertex (const Face &face) | |
Construct from a face. | |
SimplexWithFreeVertex (const SimplexWithFreeVertex &other) | |
Copy constructor. | |
SimplexWithFreeVertex & | operator= (const SimplexWithFreeVertex &other) |
Assignment operator. | |
~SimplexWithFreeVertex () | |
Trivial destructor. | |
Accessors. | |
Vertex | getFreeVertex () const |
Return the free vertex. | |
void | computeBBox (BBox< N, T > *bb) const |
Calculate a bounding box around the simplex. | |
Manipulators. | |
void | set (const Face &face) |
Set the fixed face. | |
void | setFunction (const Vertex &v) |
Set the free vertex. Prepare for function calls. | |
void | set (const Vertex &v) |
Set the free vertex. Prepare for function and/or gradient calls. | |
Mathematical functions | |
Number | operator() () const |
Return the quality metric. | |
void | computeGradient (Vertex *gradient) const |
Calculate the gradient of the quality metric. | |
Number | operator() (const Number minimumDeterminant) const |
Return the modified quality metric. | |
void | computeGradient (const Number minimumDeterminant, Vertex *gradient) const |
Calculate the gradient of the modified quality metric. | |
Number | getDeterminant () const |
Return the determinant. | |
Number | computeContent () const |
Return the content. | |
void | computeGradientOfContent (Vertex *gradient) const |
Calculate the gradient of the content. |
A simplex with a free vertex.
QF | is the quality functor for the simplex. | |
N | is the dimension. | |
T | is the number type. By default it is double. |
This class implements a simplex with a free vertex. It is used to optimize the position of the free vertex. One can set the fixed vertices with the SimplexWithFreeVertex(const Face& face) constructor or with set(const Face& face).
If you are going to use the gradient of the quality function, Jacobian determinant, content, etc. then set the free vertex with set(const Vertex& v). If you don't need gradient information, then use setFunction(const Vertex& v).
This class provides the following mathematical functions. The gradients are with respect to the free vertex.