|
virtual | ~SmoothnessQualityMetric () |
|
virtual | ~SmoothnessQualityMetric () |
|
virtual | ~QualityMetric () |
|
MetricType | get_metric_type () |
|
void | set_element_evaluation_mode (ElementEvaluationMode mode, MsqError &err) |
| Sets the evaluation mode for the ELEMENT_BASED metrics. More...
|
|
ElementEvaluationMode | get_element_evaluation_mode () |
| Returns the evaluation mode for the metric. More...
|
|
void | set_averaging_method (AveragingMethod method, MsqError &err) |
|
void | set_feasible_constraint (int alpha) |
|
int | get_feasible_constraint () |
| Returns the feasible flag for this metric. More...
|
|
void | set_name (msq_std::string st) |
| Sets the name of this metric. More...
|
|
msq_std::string | get_name () |
| Returns the name of this metric (as a string). More...
|
|
double | vertex_barrier_function (double det, double delta) |
| Escobar Barrier Function for Shape and Other Metrics. More...
|
|
virtual bool | evaluate_vertex (PatchData &, MsqVertex *, double &, MsqError &err) |
| Evaluate the metric for a vertex. More...
|
|
virtual bool | evaluate_element (PatchData &, MsqMeshEntity *, double &, MsqError &err) |
| Evaluate the metric for an element. More...
|
|
void | set_gradient_type (GRADIENT_TYPE grad) |
| Sets gradType for this metric. More...
|
|
void | set_hessian_type (HESSIAN_TYPE ht) |
| Sets hessianType for this metric. More...
|
|
bool | compute_vertex_gradient (PatchData &pd, MsqVertex &vertex, MsqVertex *vertices[], Vector3D grad_vec[], int num_vtx, double &metric_value, MsqError &err) |
| Calls compute_vertex_numerical_gradient if gradType equals NUMERCIAL_GRADIENT. Calls compute_vertex_analytical_gradient if gradType equals ANALYTICAL_GRADIENT;. More...
|
|
bool | compute_element_gradient (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
| For MetricType == ELEMENT_BASED. Calls either compute_element_numerical_gradient() or compute_element_analytical_gradient() for gradType equal NUMERICAL_GRADIENT or ANALYTICAL_GRADIENT, respectively. More...
|
|
bool | compute_element_gradient_expanded (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
|
bool | compute_element_hessian (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], Matrix3D hessian[], int num_free_vtx, double &metric_value, MsqError &err) |
| For MetricType == ELEMENT_BASED. Calls either compute_element_numerical_hessian() or compute_element_analytical_hessian() for hessianType equal NUMERICAL_HESSIAN or ANALYTICAL_HESSIAN, respectively. More...
|
|
void | set_negate_flag (int neg) |
|
int | get_negate_flag () |
| Returns negateFlag. More...
|
|
virtual void | change_metric_type (MetricType t, MsqError &err) |
|
virtual | ~QualityMetric () |
|
MetricType | get_metric_type () |
|
void | set_element_evaluation_mode (ElementEvaluationMode mode, MsqError &err) |
| Sets the evaluation mode for the ELEMENT_BASED metrics. More...
|
|
ElementEvaluationMode | get_element_evaluation_mode () |
| Returns the evaluation mode for the metric. More...
|
|
void | set_averaging_method (AveragingMethod method, MsqError &err) |
|
void | set_feasible_constraint (int alpha) |
|
int | get_feasible_constraint () |
| Returns the feasible flag for this metric. More...
|
|
void | set_name (msq_std::string st) |
| Sets the name of this metric. More...
|
|
msq_std::string | get_name () |
| Returns the name of this metric (as a string). More...
|
|
double | vertex_barrier_function (double det, double delta) |
| Escobar Barrier Function for Shape and Other Metrics. More...
|
|
virtual bool | evaluate_vertex (PatchData &, MsqVertex *, double &, MsqError &err) |
| Evaluate the metric for a vertex. More...
|
|
virtual bool | evaluate_element (PatchData &, MsqMeshEntity *, double &, MsqError &err) |
| Evaluate the metric for an element. More...
|
|
void | set_gradient_type (GRADIENT_TYPE grad) |
| Sets gradType for this metric. More...
|
|
void | set_hessian_type (HESSIAN_TYPE ht) |
| Sets hessianType for this metric. More...
|
|
bool | compute_vertex_gradient (PatchData &pd, MsqVertex &vertex, MsqVertex *vertices[], Vector3D grad_vec[], int num_vtx, double &metric_value, MsqError &err) |
|
bool | compute_element_gradient (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
| For MetricType == ELEMENT_BASED. Calls either compute_element_numerical_gradient() or compute_element_analytical_gradient() for gradType equal NUMERICAL_GRADIENT or ANALYTICAL_GRADIENT, respectively. More...
|
|
bool | compute_element_gradient_expanded (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
|
bool | compute_element_hessian (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], Matrix3D hessian[], int num_free_vtx, double &metric_value, MsqError &err) |
| For MetricType == ELEMENT_BASED. Calls either compute_element_numerical_hessian() or compute_element_analytical_hessian() for hessianType equal NUMERICAL_HESSIAN or ANALYTICAL_HESSIAN, respectively. More...
|
|
void | set_negate_flag (int neg) |
|
int | get_negate_flag () |
| Returns negateFlag. More...
|
|
virtual void | change_metric_type (MetricType t, MsqError &err) |
|
|
void | compute_scalar_weights (int num_scalar_weights, double scalar_weights[], MsqError &err) |
|
void | compute_scalar_weights (int num_scalar_weights, double scalar_weights[], MsqError &err) |
|
| QualityMetric () |
|
void | set_metric_type (MetricType t) |
| This function should be used in the constructor of every concrete quality metric. More...
|
|
double | average_metrics (const double metric_values[], const int &num_values, MsqError &err) |
| average_metrics takes an array of length num_values and averages the contents using averaging method data member avgMethod . More...
|
|
double | average_metric_and_weights (double metric_values[], int num_metric_values, MsqError &err) |
| Given a list of metric values, calculate the average metric valude according to the current avgMethod and write into the passed metric_values array the the value weight/count to use when averaging gradient vectors for the metric. More...
|
|
double | weighted_average_metrics (const double coef[], const double metric_values[], const int &num_values, MsqError &err) |
| takes an array of coefficients and an array of metrics (both of length num_value) and averages the contents using averaging method 'method'. More...
|
|
bool | compute_vertex_numerical_gradient (PatchData &pd, MsqVertex &vertex, MsqVertex *vertices[], Vector3D grad_vec[], int num_vtx, double &metric_value, MsqError &err) |
|
bool | compute_element_numerical_gradient (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
| Non-virtual function which numerically computes the gradient of a QualityMetric of a given element for a given set of free vertices on that element. This is used by metric which mType is ELEMENT_BASED. For parameters, see compute_element_gradient() . More...
|
|
virtual bool | compute_vertex_analytical_gradient (PatchData &pd, MsqVertex &vertex, MsqVertex *vertices[], Vector3D grad_vec[], int num_vtx, double &metric_value, MsqError &err) |
| Virtual function that computes the gradient of the QualityMetric analytically. The base class implementation of this function simply prints a warning and calls compute_numerical_gradient to calculate the gradient. This is used by metric which mType is VERTEX_BASED. More...
|
|
virtual bool | compute_element_analytical_gradient (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
| Virtual function that computes the gradient of the QualityMetric analytically. The base class implementation of this function simply prints a warning and calls compute_numerical_gradient to calculate the gradient. This is used by metric which mType is ELEMENT_BASED. For parameters, see compute_element_gradient() . More...
|
|
bool | compute_element_numerical_hessian (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], Matrix3D hessian[], int num_free_vtx, double &metric_value, MsqError &err) |
|
virtual bool | compute_element_analytical_hessian (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], Matrix3D hessian[], int num_free_vtx, double &metric_value, MsqError &err) |
|
| QualityMetric () |
|
void | set_metric_type (MetricType t) |
| This function should be used in the constructor of every concrete quality metric. More...
|
|
double | average_metrics (const double metric_values[], const int &num_values, MsqError &err) |
| average_metrics takes an array of length num_values and averages the contents using averaging method data member avgMethod . More...
|
|
double | average_metric_and_weights (double metric_values[], int num_metric_values, MsqError &err) |
| Given a list of metric values, calculate the average metric valude according to the current avgMethod and write into the passed metric_values array the the value weight/count to use when averaging gradient vectors for the metric. More...
|
|
double | weighted_average_metrics (const double coef[], const double metric_values[], const int &num_values, MsqError &err) |
| takes an array of coefficients and an array of metrics (both of length num_value) and averages the contents using averaging method 'method'. More...
|
|
bool | compute_vertex_numerical_gradient (PatchData &pd, MsqVertex &vertex, MsqVertex *vertices[], Vector3D grad_vec[], int num_vtx, double &metric_value, MsqError &err) |
|
bool | compute_element_numerical_gradient (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
| Non-virtual function which numerically computes the gradient of a QualityMetric of a given element for a given set of free vertices on that element. This is used by metric which mType is ELEMENT_BASED. For parameters, see compute_element_gradient() . More...
|
|
virtual bool | compute_vertex_analytical_gradient (PatchData &pd, MsqVertex &vertex, MsqVertex *vertices[], Vector3D grad_vec[], int num_vtx, double &metric_value, MsqError &err) |
| Virtual function that computes the gradient of the QualityMetric analytically. The base class implementation of this function simply prints a warning and calls compute_numerical_gradient to calculate the gradient. This is used by metric which mType is VERTEX_BASED. More...
|
|
virtual bool | compute_element_analytical_gradient (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], int num_free_vtx, double &metric_value, MsqError &err) |
| Virtual function that computes the gradient of the QualityMetric analytically. The base class implementation of this function simply prints a warning and calls compute_numerical_gradient to calculate the gradient. This is used by metric which mType is ELEMENT_BASED. For parameters, see compute_element_gradient() . More...
|
|
bool | compute_element_numerical_hessian (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], Matrix3D hessian[], int num_free_vtx, double &metric_value, MsqError &err) |
|
virtual bool | compute_element_analytical_hessian (PatchData &pd, MsqMeshEntity *element, MsqVertex *free_vtces[], Vector3D grad_vec[], Matrix3D hessian[], int num_free_vtx, double &metric_value, MsqError &err) |
|