MOAB: Mesh Oriented datABase
(version 5.4.1)
|
Fake quality metric for testing numerial gradient. More...
Public Member Functions | |
std::string | get_name () const |
int | get_negate_flag () const |
1 if metric should be minimized, -1 if metric should be maximized. | |
bool | evaluate (PatchData &pd, size_t vtx_idx, double &value, MsqError &) |
Get metric value at a logical location in the patch. | |
bool | evaluate_with_indices (PatchData &pd, size_t vtx_idx, double &value, std::vector< size_t > &indices, MsqError &) |
Get metric value at a logical location in the patch. |
Fake quality metric for testing numerial gradient.
Implement a vertex metric for which the "quality" at a given vertex is the square of the value of the y-coordinate of that vertex. Thus the Hessian of the "quality" at every vertex should be {2,0,0}.
Definition at line 196 of file QualityMetricTest.cpp.
bool ParabolicVertexMetric::evaluate | ( | PatchData & | pd, |
size_t | handle, | ||
double & | value, | ||
MsqError & | err | ||
) | [inline, virtual] |
Get metric value at a logical location in the patch.
Evaluate the metric at one location in the PatchData.
pd | The patch. |
handle | The location in the patch (as passed back from get_evaluations). |
value | The output metric value. |
Implements MBMesquite::QualityMetric.
Definition at line 207 of file QualityMetricTest.cpp.
References value(), and MBMesquite::PatchData::vertex_by_index().
{ value = pd.vertex_by_index( vtx_idx )[1]; value *= value; return true; }
bool ParabolicVertexMetric::evaluate_with_indices | ( | PatchData & | pd, |
size_t | handle, | ||
double & | value, | ||
std::vector< size_t > & | indices, | ||
MsqError & | err | ||
) | [inline, virtual] |
Get metric value at a logical location in the patch.
Evaluate the metric at one location in the PatchData.
pd | The patch. |
handle | The location in the patch (as passed back from get_evaluations). |
value | The output metric value. |
indices | The free vertices that the evaluation is a function of, specified as vertex indices in the PatchData. |
Implements MBMesquite::QualityMetric.
Definition at line 213 of file QualityMetricTest.cpp.
References value(), and MBMesquite::PatchData::vertex_by_index().
{ value = pd.vertex_by_index( vtx_idx )[1]; value *= value; indices.resize( 1 ); indices[0] = vtx_idx; return true; }
std::string ParabolicVertexMetric::get_name | ( | ) | const [inline, virtual] |
Implements MBMesquite::QualityMetric.
Definition at line 199 of file QualityMetricTest.cpp.
{ return "Fake metric for testing numerical gradient"; }
int ParabolicVertexMetric::get_negate_flag | ( | ) | const [inline, virtual] |
1 if metric should be minimized, -1 if metric should be maximized.
Implements MBMesquite::QualityMetric.
Definition at line 203 of file QualityMetricTest.cpp.
{
return 1;
}