39 #include "LPtoPTemplate.hpp"
40 #include "EdgeLengthQualityMetric.hpp"
96 size_t m=free_iter.
value();
97 msq_std::vector<size_t> vert_indices;
98 vert_indices.reserve(25);
void set_averaging_method(AveragingMethod method, MsqError &err)
size_t value()
Returns an index corresponding to a free vertex.
virtual void set_patch_type(PatchData::PatchType patch_type, MsqError &err, int param1=0, int param2=0)
Sets the Patch Type.
Calculates the L_p objective function raised to the pth power. That is, sums the p_th powers of (the ...
Used to hold the error state and return it to the application.
virtual void initialize(PatchData &pd, MsqError &err)
void set_name(msq_std::string name)
provides a name to the QualityImprover (use it in constructor).
void reset()
Resets the iterator.
bool next()
Increments the iterator. returns false if there is no more free vertex.
Computes the lengths of the edges connected to given a vertex..
LaplacianSmoother(MsqError &err)
ObjectiveFunction * objFunc
void snap_vertex_to_domain(size_t vertex_index, MsqError &err)
Adjust the position of the specified vertex so that it lies on its constraining domain.
void get_adjacent_vertex_indices(size_t vertex_index, msq_std::vector< size_t > &vert_indices, MsqError &err)
virtual void initialize_mesh_iteration(PatchData &pd, MsqError &err)
virtual void optimize_vertex_positions(PatchData &pd, MsqError &err)
iterates over indexes of free vetices in a PatchData.
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)