37 #include "Vector3D.hpp"
38 #include "MsqDebug.hpp"
40 using namespace Mesquite;
45 : qualMetric( qm1 ), mPower( pow_factor )
48 MSQ_SETERR(err)(
"PowerQualityMetric constructor passed NULL pointer.",
59 MSQ_SETERR(err)(
"PowerQualityMetric passed a double smaller than "
bool evaluate_vertex(PatchData &pd, MsqVertex *vertex, double &value, MsqError &err)
#define MSQ_ERRZERO(err)
Return zero/NULL on error.
MetricType get_metric_type()
int get_negate_flag()
Returns negateFlag.
Used to hold the error state and return it to the application.
Base class for concrete quality metrics.
MsqMeshEntity is the Mesquite object that stores information about the elements in the mesh...
PowerQualityMetric(QualityMetric *qm1, double pow_double, MsqError &err)
invalid function argument passed
Mesquite::Exponent mPower
#define MSQ_SETERR(err)
Macro to set error - use err.clear() to clear.
void set_negate_flag(int neg)
bool evaluate_element(PatchData &pd, MsqMeshEntity *element, double &value, MsqError &err)
virtual bool evaluate_element(PatchData &, MsqMeshEntity *, double &, MsqError &err)
Evaluate the metric for an element.
virtual bool evaluate_vertex(PatchData &, MsqVertex *, double &, MsqError &err)
Evaluate the metric for a vertex.
void set_metric_type(MetricType t)
This function should be used in the constructor of every concrete quality metric. ...
MsqVertex is the Mesquite object that stores information about the vertices in the mesh...
int get_feasible_constraint()
Returns the feasible flag for this metric.
void set_name(msq_std::string st)
Sets the name of this metric.
double pow(double value, const Exponent &exp)
QualityMetric * qualMetric