38 #include "LaplacianSmoother.hpp"
39 #include "LPtoPTemplate.hpp"
40 #include "EdgeLengthQualityMetric.hpp"
52 edgeQM =
new EdgeLengthQualityMetric;
92 MsqFreeVertexIndexIterator free_iter(&pd, err);
MSQ_ERRRTN(err);
96 size_t m=free_iter.value();
97 msq_std::vector<size_t> vert_indices;
98 vert_indices.reserve(25);
100 pd.get_adjacent_vertex_indices(m,vert_indices,err);
MSQ_ERRRTN(err);
105 pd.snap_vertex_to_domain(m,err);
void set_averaging_method(AveragingMethod method, MsqError &err)
virtual void set_patch_type(PatchData::PatchType patch_type, MsqError &err, int param1=0, int param2=0)
Sets the Patch Type.
virtual void initialize(PatchData &pd, MsqError &err)
void set_name(msq_std::string name)
provides a name to the QualityImprover (use it in constructor).
LaplacianSmoother(MsqError &err)
ObjectiveFunction * objFunc
virtual void initialize_mesh_iteration(PatchData &pd, MsqError &err)
virtual void optimize_vertex_positions(PatchData &pd, MsqError &err)
virtual void terminate_mesh_iteration(PatchData &pd, MsqError &err)
#define MSQ_ERRRTN(err)
If passed error is true, return from a void function.
void centroid_smooth_mesh(PatchData &pd, size_t num_adj_vtx, msq_std::vector< size_t > adj_vtx_ind, size_t free_ind, size_t dimension, MsqError &err)