37 #ifndef Mesquite_QualityImprover_hpp
38 #define Mesquite_QualityImprover_hpp
43 #include "MsqError.hpp"
44 #include "TerminationCriterion.hpp"
45 #include "PatchDataUser.hpp"
57 class QualityImprover :
public PatchDataUser
const MeshSet * get_mesh_set() const
Used to hold the error state and return it to the application.
void set_mesh_set(MeshSet *ms)
TerminationCriterion * outerTerminationCriterion
The TerminationCriterion class contains functionality to terminate the VertexMover's optimization...
void set_name(msq_std::string name)
provides a name to the QualityImprover (use it in constructor).
TerminationCriterion * innerTerminationCriterion
virtual msq_std::string get_name()
retrieves the QualityImprover name. A default name should be set in the constructor.
TerminationCriterion * get_inner_termination_criterion()
return the inner termination criterion pointer
virtual AlgorithmType get_algorithm_type()
Return the algorithm type (to avoid RTTI use).
TerminationCriterion * get_outer_termination_criterion()
return the outer termination criterion pointer
Terminates when the number of iterations exceeds a given integer.
msq_std::string qualityImproverName
virtual ~QualityImprover()
void set_outer_termination_criterion(TerminationCriterion *crit)
Sets in the termination criterion for the outer loop over patches.
void add_criterion_type_with_int(TCType tc_type, int bound, MsqError &err)
Sets the criterion by specifing the TCType and the integer value.
TerminationCriterion defaultInnerCriterion
TerminationCriterion defaultOuterCriterion
void set_inner_termination_criterion(TerminationCriterion *crit)
Sets in the termination criterion for the concrete solver's optimization.
The MeshSet class stores one or more Mesquite::Mesh pointers and manages access to the mesh informati...
virtual double loop_over_mesh(MeshSet &ms, MsqError &err)=0
This is the "run" function of PatchDataUser. It can do anything really.