37 #ifndef UNTANGLE_BETA_QUALITY_METRIC_HPP
38 #define UNTANGLE_BETA_QUALITY_METRIC_HPP
102 Vector3D cross_vec=temp_vec[0]*temp_vec[1];
105 double temp_var=cross_vec.
length();
106 if(cross_vec%surface_normal<0.0){
113 fval=fabs(temp_var)-temp_var;
120 double temp_var=temp_vec[0]%(temp_vec[1]*temp_vec[2]);
124 fval=fabs(temp_var)-temp_var;
131 #endif // UntangleBetaQualityMetric_hpp
Used to hold the error state and return it to the application.
void untangle_function_3d(Vector3D temp_vec[], double &fval, MsqError &err)
MsqMeshEntity is the Mesquite object that stores information about the elements in the mesh...
Vector3D is the object that effeciently stores information about about three-deminsional vectors...
void set_beta(double beta_in)
UntangleBetaQualityMetric(double bet=0.05)
For untangle beta, the constructor defaults to the SUM averaging method, and to the ELEMENT_VERTICES ...
virtual ~UntangleBetaQualityMetric()
void get_domain_normal_at_element(size_t elem_index, Vector3D &surf_norm, MsqError &err) const
void untangle_function_2d(Vector3D temp_vec[], size_t e_ind, PatchData &pd, double &fval, MsqError &err)
The untangle beta quality metric.
bool evaluate_element(PatchData &pd, MsqMeshEntity *element, double &fval, MsqError &err)
#define MSQ_ERRRTN(err)
If passed error is true, return from a void function.