Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EdgeLengthRangeQualityMetric Class Reference

Computes the edge length range metric for a given vertex. More...

#include <EdgeLengthRangeQualityMetric.hpp>

Inheritance diagram for EdgeLengthRangeQualityMetric:
Collaboration diagram for EdgeLengthRangeQualityMetric:

Public Member Functions

 EdgeLengthRangeQualityMetric (double low_a, double high_a, MsqError &err)
 
virtual ~EdgeLengthRangeQualityMetric ()
 
 EdgeLengthRangeQualityMetric (double low_a, double high_a, MsqError &err)
 
virtual ~EdgeLengthRangeQualityMetric ()
 
- Public Member Functions inherited from SmoothnessQualityMetric
virtual ~SmoothnessQualityMetric ()
 
virtual ~SmoothnessQualityMetric ()
 
- Public Member Functions inherited from QualityMetric
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_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_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)
 

Protected Member Functions

bool evaluate_vertex (PatchData &pd, MsqVertex *vert, double &fval, MsqError &err)
 
bool evaluate_vertex (PatchData &pd, MsqVertex *vert, double &fval, MsqError &err)
 Evaluate the metric for a vertex. More...
 
- Protected Member Functions inherited from SmoothnessQualityMetric
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)
 
- Protected Member Functions inherited from QualityMetric
 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)
 

Private Member Functions

 EdgeLengthRangeQualityMetric ()
 
 EdgeLengthRangeQualityMetric ()
 

Private Attributes

double highVal
 
double lowVal
 

Additional Inherited Members

- Public Types inherited from QualityMetric
enum  MetricType {
  MT_UNDEFINED, VERTEX_BASED, ELEMENT_BASED, VERTEX_BASED_FREE_ONLY,
  MT_UNDEFINED, VERTEX_BASED, ELEMENT_BASED, VERTEX_BASED_FREE_ONLY
}
 
enum  ElementEvaluationMode {
  EEM_UNDEFINED, ELEMENT_VERTICES, LINEAR_GAUSS_POINTS, QUADRATIC_GAUSS_POINTS,
  CUBIC_GAUSS_POINTS, EEM_UNDEFINED, ELEMENT_VERTICES, LINEAR_GAUSS_POINTS,
  QUADRATIC_GAUSS_POINTS, CUBIC_GAUSS_POINTS
}
 
enum  AveragingMethod {
  NONE, LINEAR, RMS, HMS,
  MINIMUM, MAXIMUM, HARMONIC, GEOMETRIC,
  SUM, SUM_SQUARED, GENERALIZED_MEAN, STANDARD_DEVIATION,
  MAX_OVER_MIN, MAX_MINUS_MIN, SUM_OF_RATIOS_SQUARED, NONE,
  LINEAR, RMS, HMS, MINIMUM,
  MAXIMUM, HARMONIC, GEOMETRIC, SUM,
  SUM_SQUARED, GENERALIZED_MEAN, STANDARD_DEVIATION, MAX_OVER_MIN,
  MAX_MINUS_MIN, SUM_OF_RATIOS_SQUARED
}
 
enum  GRADIENT_TYPE { NUMERICAL_GRADIENT, ANALYTICAL_GRADIENT, NUMERICAL_GRADIENT, ANALYTICAL_GRADIENT }
 
enum  HESSIAN_TYPE { NUMERICAL_HESSIAN, ANALYTICAL_HESSIAN, NUMERICAL_HESSIAN, ANALYTICAL_HESSIAN }
 
enum  MetricType {
  MT_UNDEFINED, VERTEX_BASED, ELEMENT_BASED, VERTEX_BASED_FREE_ONLY,
  MT_UNDEFINED, VERTEX_BASED, ELEMENT_BASED, VERTEX_BASED_FREE_ONLY
}
 
enum  ElementEvaluationMode {
  EEM_UNDEFINED, ELEMENT_VERTICES, LINEAR_GAUSS_POINTS, QUADRATIC_GAUSS_POINTS,
  CUBIC_GAUSS_POINTS, EEM_UNDEFINED, ELEMENT_VERTICES, LINEAR_GAUSS_POINTS,
  QUADRATIC_GAUSS_POINTS, CUBIC_GAUSS_POINTS
}
 
enum  AveragingMethod {
  NONE, LINEAR, RMS, HMS,
  MINIMUM, MAXIMUM, HARMONIC, GEOMETRIC,
  SUM, SUM_SQUARED, GENERALIZED_MEAN, STANDARD_DEVIATION,
  MAX_OVER_MIN, MAX_MINUS_MIN, SUM_OF_RATIOS_SQUARED, NONE,
  LINEAR, RMS, HMS, MINIMUM,
  MAXIMUM, HARMONIC, GEOMETRIC, SUM,
  SUM_SQUARED, GENERALIZED_MEAN, STANDARD_DEVIATION, MAX_OVER_MIN,
  MAX_MINUS_MIN, SUM_OF_RATIOS_SQUARED
}
 
enum  GRADIENT_TYPE { NUMERICAL_GRADIENT, ANALYTICAL_GRADIENT, NUMERICAL_GRADIENT, ANALYTICAL_GRADIENT }
 
enum  HESSIAN_TYPE { NUMERICAL_HESSIAN, ANALYTICAL_HESSIAN, NUMERICAL_HESSIAN, ANALYTICAL_HESSIAN }
 
- Protected Attributes inherited from QualityMetric
AveragingMethod avgMethod
 
int feasible
 
msq_std::string metricName
 

Detailed Description

Computes the edge length range metric for a given vertex.

EdgeLengthRangeQualityMetric is a vertex based metric which computes the lengths of the edges connected to a given vertex and then uses those values to form a metric. The metric is created using two doubles A and B. The value of the metric is zero (ideal) if the edge lengths are in the range [A,B]. Otherwise, the metric value is some positive number. For a given vertex, v_i, with connected edges of lengths l_j for j=1...k, the metric value is the average (where the default average type is SUM) of u_j = ( | l_j - A | - (l_j - A) )^2 + ( | B - l_j | - (B - l_j) )^2.

Definition at line 63 of file includeLinks/EdgeLengthRangeQualityMetric.hpp.

Constructor & Destructor Documentation

EdgeLengthRangeQualityMetric ( double  low_a,
double  high_a,
MsqError err 
)
inline

Definition at line 68 of file includeLinks/EdgeLengthRangeQualityMetric.hpp.

References QualityMetric::avgMethod, QualityMetric::feasible, EdgeLengthRangeQualityMetric::highVal, MsqError::INVALID_ARG, EdgeLengthRangeQualityMetric::lowVal, MSQ_SETERR, QualityMetric::set_metric_type(), QualityMetric::set_name(), QualityMetric::SUM, and QualityMetric::VERTEX_BASED.

69  {
70  if(low_a>high_a){
71  MSQ_SETERR(err)("Edge Length Range values given in descending order.",
73  }
74  lowVal=low_a;
75  highVal=high_a;
76  avgMethod=SUM;
77  feasible=0;
79  set_name("Edge Length Range Metric");
80  }
invalid function argument passed
#define MSQ_SETERR(err)
Macro to set error - use err.clear() to clear.
void set_metric_type(MetricType t)
This function should be used in the constructor of every concrete quality metric. ...
void set_name(msq_std::string st)
Sets the name of this metric.

Here is the call graph for this function:

virtual ~EdgeLengthRangeQualityMetric ( )
inlinevirtual

Definition at line 83 of file includeLinks/EdgeLengthRangeQualityMetric.hpp.

84  {}
EdgeLengthRangeQualityMetric ( )
inlineprivate

Definition at line 95 of file includeLinks/EdgeLengthRangeQualityMetric.hpp.

References QualityMetric::avgMethod, QualityMetric::feasible, EdgeLengthRangeQualityMetric::highVal, EdgeLengthRangeQualityMetric::lowVal, QualityMetric::set_metric_type(), QualityMetric::set_name(), QualityMetric::SUM, and QualityMetric::VERTEX_BASED.

96  {
97  lowVal=0;
98  highVal=0;
99  avgMethod=SUM;
100  feasible=0;
102  set_name("Edge Length Range Metric Default Constructor");
103  }
void set_metric_type(MetricType t)
This function should be used in the constructor of every concrete quality metric. ...
void set_name(msq_std::string st)
Sets the name of this metric.

Here is the call graph for this function:

EdgeLengthRangeQualityMetric ( double  low_a,
double  high_a,
MsqError err 
)
inline

Definition at line 68 of file src/QualityMetric/Smoothness/EdgeLengthRangeQualityMetric.hpp.

References QualityMetric::avgMethod, QualityMetric::feasible, EdgeLengthRangeQualityMetric::highVal, MsqError::INVALID_ARG, EdgeLengthRangeQualityMetric::lowVal, MSQ_SETERR, QualityMetric::set_metric_type(), QualityMetric::set_name(), QualityMetric::SUM, and QualityMetric::VERTEX_BASED.

69  {
70  if(low_a>high_a){
71  MSQ_SETERR(err)("Edge Length Range values given in descending order.",
73  }
74  lowVal=low_a;
75  highVal=high_a;
76  avgMethod=SUM;
77  feasible=0;
79  set_name("Edge Length Range Metric");
80  }
invalid function argument passed
#define MSQ_SETERR(err)
Macro to set error - use err.clear() to clear.
void set_metric_type(MetricType t)
This function should be used in the constructor of every concrete quality metric. ...
void set_name(msq_std::string st)
Sets the name of this metric.

Here is the call graph for this function:

virtual ~EdgeLengthRangeQualityMetric ( )
inlinevirtual
EdgeLengthRangeQualityMetric ( )
inlineprivate

Definition at line 95 of file src/QualityMetric/Smoothness/EdgeLengthRangeQualityMetric.hpp.

References QualityMetric::avgMethod, QualityMetric::feasible, EdgeLengthRangeQualityMetric::highVal, EdgeLengthRangeQualityMetric::lowVal, QualityMetric::set_metric_type(), QualityMetric::set_name(), QualityMetric::SUM, and QualityMetric::VERTEX_BASED.

96  {
97  lowVal=0;
98  highVal=0;
99  avgMethod=SUM;
100  feasible=0;
102  set_name("Edge Length Range Metric Default Constructor");
103  }
void set_metric_type(MetricType t)
This function should be used in the constructor of every concrete quality metric. ...
void set_name(msq_std::string st)
Sets the name of this metric.

Here is the call graph for this function:

Member Function Documentation

bool evaluate_vertex ( PatchData pd,
MsqVertex vert,
double &  fval,
MsqError err 
)
protectedvirtual

For the given vertex, vert, with connected edges of lengths l_j for j=1...k, the metric value is the average (where the default average type is SUM) of u_j = ( | l_j - lowVal | - (l_j - lowVal) )^2 + ( | highVal - l_j | - (highVal - l_j) )^2.

Reimplemented from QualityMetric.

Definition at line 59 of file QualityMetric/Smoothness/EdgeLengthRangeQualityMetric.cpp.

References QualityMetric::average_metrics(), PatchData::get_adjacent_vertex_indices(), PatchData::get_vertex_array(), PatchData::get_vertex_index(), EdgeLengthRangeQualityMetric::highVal, Vector3D::length(), EdgeLengthRangeQualityMetric::lowVal, and MSQ_ERRZERO.

61 {
62  fval=0.0;
63  size_t this_vert = pd.get_vertex_index(vert);
64  size_t other_vert;
65  vector<size_t> adj_verts;
66  Vector3D edg;
67  pd.get_adjacent_vertex_indices(this_vert,adj_verts,err); MSQ_ERRZERO(err);
68  int num_sample_points=adj_verts.size();
69  double *metric_values=new double[num_sample_points];
70  MsqVertex* verts = pd.get_vertex_array(err); MSQ_ERRZERO(err);
71  int point_counter=0;
72  //store the length of the edge, and the first and second component of
73  //metric values, respectively.
74  double temp_length=0.0;
75  double temp_first=0.0;
76  double temp_second=0.0;
77  //PRINT_INFO("INSIDE ELR, vertex = %f,%f,%f\n",verts[this_vert][0],verts[this_vert][1],verts[this_vert][2]);
78  //loop while there are still more adjacent vertices.
79  while(!adj_verts.empty()){
80  other_vert=adj_verts.back();
81  adj_verts.pop_back();
82  edg[0]=verts[this_vert][0]-verts[other_vert][0];
83  edg[1]=verts[this_vert][1]-verts[other_vert][1];
84  edg[2]=verts[this_vert][2]-verts[other_vert][2];
85  //compute the edge length
86  temp_length=edg.length();
87  //get the first component
88  temp_first = temp_length - lowVal;
89  temp_first = fabs(temp_first) - (temp_first);
90  temp_first*=temp_first;
91  //get the second component
92  temp_second = highVal - temp_length;
93  temp_second = fabs(temp_second) - (temp_second);
94  temp_second*=temp_second;
95  //combine the two components
96  metric_values[point_counter]=temp_first+temp_second;
97  //increment the counter
98  ++point_counter;
99  }
100  //average the metric values of the edges
101  fval=average_metrics(metric_values,num_sample_points,err); MSQ_ERRZERO(err);
102  //clean up
103  delete[] metric_values;
104  //always return true because mesh is always valid wrt this metric.
105  return true;
106 
107 }
#define MSQ_ERRZERO(err)
Return zero/NULL on error.
Vector3D is the object that effeciently stores information about about three-deminsional vectors...
size_t get_vertex_index(MsqVertex *vertex)
void get_adjacent_vertex_indices(size_t vertex_index, msq_std::vector< size_t > &vert_indices, MsqError &err)
const MsqVertex * get_vertex_array(MsqError &err) const
Returns a pointer to the start of the vertex array.
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 ...
MsqVertex is the Mesquite object that stores information about the vertices in the mesh...

Here is the call graph for this function:

bool evaluate_vertex ( PatchData ,
MsqVertex ,
double &  ,
MsqError err 
)
protectedvirtual

Evaluate the metric for a vertex.

Reimplemented from QualityMetric.

Member Data Documentation


The documentation for this class was generated from the following files: