36 #include "Vector3D.hpp" 
   37 #include "QualityMetric.hpp" 
   38 #include "MsqVertex.hpp" 
   39 #include "PatchData.hpp" 
   40 #include "MsqDebug.hpp" 
   42 #ifdef MSQ_USE_OLD_STD_HEADERS 
   50 using namespace Mesquite;
 
   65   vector<size_t> adj_verts;
 
   68   int num_sample_points=adj_verts.size();
 
   69   double *metric_values=
new double[num_sample_points];
 
   74   double temp_length=0.0;
 
   75   double temp_first=0.0;
 
   76   double temp_second=0.0;
 
   79   while(!adj_verts.empty()){
 
   80     other_vert=adj_verts.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];
 
   88     temp_first = temp_length - 
lowVal;
 
   89     temp_first = fabs(temp_first) - (temp_first);
 
   90     temp_first*=temp_first;
 
   92     temp_second = 
highVal - temp_length;
 
   93     temp_second = fabs(temp_second) - (temp_second);
 
   94     temp_second*=temp_second;
 
   96     metric_values[point_counter]=temp_first+temp_second;
 
  103   delete[] metric_values;
 
#define MSQ_ERRZERO(err)
Return zero/NULL on error. 
 
bool evaluate_vertex(PatchData &pd, MsqVertex *vert, double &fval, MsqError &err)
 
Used to hold the error state and return it to the application. 
 
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...