Base class for all quality improvers. Mote that the PatchData settings are inherited from the PathDataUser class. More...
#include <QualityImprover.hpp>
Public Member Functions | |
virtual | ~QualityImprover () |
virtual double | loop_over_mesh (MeshSet &ms, MsqError &err)=0 |
This is the "run" function of PatchDataUser. It can do anything really. More... | |
void | set_name (msq_std::string name) |
provides a name to the QualityImprover (use it in constructor). More... | |
virtual msq_std::string | get_name () |
retrieves the QualityImprover name. A default name should be set in the constructor. More... | |
virtual AlgorithmType | get_algorithm_type () |
Return the algorithm type (to avoid RTTI use). More... | |
void | set_inner_termination_criterion (TerminationCriterion *crit) |
Sets in the termination criterion for the concrete solver's optimization. More... | |
void | set_outer_termination_criterion (TerminationCriterion *crit) |
Sets in the termination criterion for the outer loop over patches. More... | |
virtual | ~QualityImprover () |
virtual double | loop_over_mesh (MeshSet &ms, MsqError &err)=0 |
This is the "run" function of PatchDataUser. It can do anything really. More... | |
void | set_name (msq_std::string name) |
provides a name to the QualityImprover (use it in constructor). More... | |
virtual msq_std::string | get_name () |
retrieves the QualityImprover name. A default name should be set in the constructor. More... | |
virtual AlgorithmType | get_algorithm_type () |
Return the algorithm type (to avoid RTTI use). More... | |
void | set_inner_termination_criterion (TerminationCriterion *crit) |
Sets in the termination criterion for the concrete solver's optimization. More... | |
void | set_outer_termination_criterion (TerminationCriterion *crit) |
Sets in the termination criterion for the outer loop over patches. More... | |
Public Member Functions inherited from PatchDataUser | |
virtual | ~PatchDataUser () |
virtual void | set_patch_type (PatchData::PatchType patch_type, MsqError &err, int param1=0, int param2=0) |
Sets the Patch Type. More... | |
PatchData::PatchType | get_patch_type () |
Returns the Patch Type. More... | |
int | get_nb_layers (MsqError &err) |
Returns number of layers (if relevant for partition algorythm). More... | |
void | add_culling_method (enum PatchData::culling_method cm) |
Sets on the culling method passed as argument. More... | |
void | no_culling_method () |
Sets off all culling methods. More... | |
void | remove_culling_method (enum PatchData::culling_method cm) |
Sets off the culling method passed as argument. More... | |
long unsigned int | get_culling_method_bits () |
Returns the bitset containing culling methods flags. More... | |
void | set_all_parameters (PatchDataParameters ¶ms) |
PatchDataParameters & | get_all_parameters () |
Returns the PatchDataParameters object. More... | |
void | set_global_patch (PatchData *pd, MsqError &err) |
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser. More... | |
PatchData * | get_global_patch () |
Returns the Global Patch. More... | |
void | no_global_patch () |
Sets the Global Patch pointer to NULL. More... | |
virtual | ~PatchDataUser () |
virtual void | set_patch_type (PatchData::PatchType patch_type, MsqError &err, int param1=0, int param2=0) |
Sets the Patch Type. More... | |
PatchData::PatchType | get_patch_type () |
Returns the Patch Type. More... | |
int | get_nb_layers (MsqError &err) |
Returns number of layers (if relevant for partition algorythm). More... | |
void | add_culling_method (enum PatchData::culling_method cm) |
Sets on the culling method passed as argument. More... | |
void | no_culling_method () |
Sets off all culling methods. More... | |
void | remove_culling_method (enum PatchData::culling_method cm) |
Sets off the culling method passed as argument. More... | |
long unsigned int | get_culling_method_bits () |
Returns the bitset containing culling methods flags. More... | |
void | set_all_parameters (PatchDataParameters ¶ms) |
PatchDataParameters & | get_all_parameters () |
Returns the PatchDataParameters object. More... | |
void | set_global_patch (PatchData *pd, MsqError &err) |
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser. More... | |
PatchData * | get_global_patch () |
Returns the Global Patch. More... | |
void | no_global_patch () |
Sets the Global Patch pointer to NULL. More... | |
Protected Member Functions | |
QualityImprover () | |
const MeshSet * | get_mesh_set () const |
MeshSet * | get_mesh_set () |
void | set_mesh_set (MeshSet *ms) |
TerminationCriterion * | get_outer_termination_criterion () |
return the outer termination criterion pointer More... | |
TerminationCriterion * | get_inner_termination_criterion () |
return the inner termination criterion pointer More... | |
QualityImprover () | |
const MeshSet * | get_mesh_set () const |
MeshSet * | get_mesh_set () |
void | set_mesh_set (MeshSet *ms) |
TerminationCriterion * | get_outer_termination_criterion () |
return the outer termination criterion pointer More... | |
TerminationCriterion * | get_inner_termination_criterion () |
return the inner termination criterion pointer More... | |
Protected Member Functions inherited from PatchDataUser | |
PatchDataUser () | |
PatchDataUser () | |
Private Attributes | |
MeshSet * | mMeshSet |
msq_std::string | qualityImproverName |
int | patchDepth |
TerminationCriterion * | innerTerminationCriterion |
TerminationCriterion * | outerTerminationCriterion |
TerminationCriterion | defaultOuterCriterion |
TerminationCriterion | defaultInnerCriterion |
Friends | |
class | MeshSet |
Additional Inherited Members | |
Public Types inherited from PatchDataUser | |
enum | AlgorithmType { QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR, QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR } |
enum | AlgorithmType { QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR, QUALITY_IMPROVER, QUALITY_ASSESSOR, MESH_TRANSFORM, TARGET_CALCULATOR } |
Base class for all quality improvers. Mote that the PatchData settings are inherited from the PathDataUser class.
Definition at line 57 of file includeLinks/QualityImprover.hpp.
|
inlinevirtual |
Definition at line 64 of file includeLinks/QualityImprover.hpp.
|
inlineprotected |
The default constructor initialises a few member variables to default values. This can be reused by concrete class constructor.
Definition at line 96 of file includeLinks/QualityImprover.hpp.
References TerminationCriterion::add_criterion_type_with_int(), QualityImprover::defaultInnerCriterion, QualityImprover::defaultOuterCriterion, QualityImprover::innerTerminationCriterion, TerminationCriterion::NUMBER_OF_ITERATES, and QualityImprover::outerTerminationCriterion.
|
inlinevirtual |
Definition at line 64 of file src/QualityImprover/QualityImprover.hpp.
|
inlineprotected |
The default constructor initialises a few member variables to default values. This can be reused by concrete class constructor.
Definition at line 96 of file src/QualityImprover/QualityImprover.hpp.
References TerminationCriterion::add_criterion_type_with_int(), QualityImprover::defaultInnerCriterion, QualityImprover::defaultOuterCriterion, QualityImprover::innerTerminationCriterion, TerminationCriterion::NUMBER_OF_ITERATES, and QualityImprover::outerTerminationCriterion.
|
inlinevirtual |
Return the algorithm type (to avoid RTTI use).
Implements PatchDataUser.
Definition at line 76 of file includeLinks/QualityImprover.hpp.
References PatchDataUser::QUALITY_IMPROVER.
|
inlinevirtual |
Return the algorithm type (to avoid RTTI use).
Implements PatchDataUser.
Definition at line 76 of file src/QualityImprover/QualityImprover.hpp.
References PatchDataUser::QUALITY_IMPROVER.
|
inlineprotected |
return the inner termination criterion pointer
Definition at line 123 of file includeLinks/QualityImprover.hpp.
References QualityImprover::innerTerminationCriterion.
Referenced by ConjugateGradient::ConjugateGradient(), FeasibleNewton::FeasibleNewton(), VertexMover::loop_over_mesh(), ConjugateGradient::optimize_vertex_positions(), SteepestDescent::optimize_vertex_positions(), and FeasibleNewton::optimize_vertex_positions().
|
inlineprotected |
return the inner termination criterion pointer
Definition at line 123 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::innerTerminationCriterion.
|
inlineprotected |
Definition at line 109 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::mMeshSet.
|
inlineprotected |
Definition at line 109 of file includeLinks/QualityImprover.hpp.
References QualityImprover::mMeshSet.
Referenced by NonSmoothSteepestDescent::optimize_vertex_positions().
|
inlineprotected |
Definition at line 111 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::mMeshSet.
|
inlineprotected |
Definition at line 111 of file includeLinks/QualityImprover.hpp.
References QualityImprover::mMeshSet.
|
inlinevirtual |
retrieves the QualityImprover name. A default name should be set in the constructor.
Implements PatchDataUser.
Definition at line 75 of file includeLinks/QualityImprover.hpp.
References QualityImprover::qualityImproverName.
|
inlinevirtual |
retrieves the QualityImprover name. A default name should be set in the constructor.
Implements PatchDataUser.
Definition at line 75 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::qualityImproverName.
|
inlineprotected |
return the outer termination criterion pointer
Definition at line 120 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::outerTerminationCriterion.
|
inlineprotected |
return the outer termination criterion pointer
Definition at line 120 of file includeLinks/QualityImprover.hpp.
References QualityImprover::outerTerminationCriterion.
Referenced by VertexMover::loop_over_mesh().
This is the "run" function of PatchDataUser. It can do anything really.
Implements PatchDataUser.
Implemented in VertexMover, VertexMover, TopologyModifier, and TopologyModifier.
This is the "run" function of PatchDataUser. It can do anything really.
Implements PatchDataUser.
Implemented in VertexMover, VertexMover, TopologyModifier, and TopologyModifier.
|
inline |
Sets in the termination criterion for the concrete solver's optimization.
Definition at line 80 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::innerTerminationCriterion.
|
inline |
Sets in the termination criterion for the concrete solver's optimization.
Definition at line 80 of file includeLinks/QualityImprover.hpp.
References QualityImprover::innerTerminationCriterion.
Referenced by ShapeImprovementWrapper::ShapeImprovementWrapper().
|
inlineprotected |
Definition at line 115 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::mMeshSet.
|
inlineprotected |
Definition at line 115 of file includeLinks/QualityImprover.hpp.
References QualityImprover::mMeshSet.
Referenced by VertexMover::loop_over_mesh().
|
inline |
provides a name to the QualityImprover (use it in constructor).
Definition at line 69 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::qualityImproverName.
|
inline |
provides a name to the QualityImprover (use it in constructor).
Definition at line 69 of file includeLinks/QualityImprover.hpp.
References QualityImprover::qualityImproverName.
Referenced by ConjugateGradient::ConjugateGradient(), FeasibleNewton::FeasibleNewton(), LaplacianSmoother::LaplacianSmoother(), NonSmoothSteepestDescent::NonSmoothSteepestDescent(), Randomize::Randomize(), SmartLaplacianSmoother::SmartLaplacianSmoother(), and SteepestDescent::SteepestDescent().
|
inline |
Sets in the termination criterion for the outer loop over patches.
Definition at line 86 of file includeLinks/QualityImprover.hpp.
References QualityImprover::outerTerminationCriterion.
Referenced by LaplacianIQ::LaplacianIQ(), and ShapeImprovementWrapper::ShapeImprovementWrapper().
|
inline |
Sets in the termination criterion for the outer loop over patches.
Definition at line 86 of file src/QualityImprover/QualityImprover.hpp.
References QualityImprover::outerTerminationCriterion.
|
friend |
Definition at line 105 of file includeLinks/QualityImprover.hpp.
|
private |
Definition at line 136 of file includeLinks/QualityImprover.hpp.
Referenced by QualityImprover::QualityImprover().
|
private |
Definition at line 134 of file includeLinks/QualityImprover.hpp.
Referenced by QualityImprover::QualityImprover().
|
private |
Definition at line 131 of file includeLinks/QualityImprover.hpp.
Referenced by QualityImprover::get_inner_termination_criterion(), QualityImprover::QualityImprover(), and QualityImprover::set_inner_termination_criterion().
|
private |
Definition at line 127 of file includeLinks/QualityImprover.hpp.
Referenced by QualityImprover::get_mesh_set(), and QualityImprover::set_mesh_set().
|
private |
Definition at line 132 of file includeLinks/QualityImprover.hpp.
Referenced by QualityImprover::get_outer_termination_criterion(), QualityImprover::QualityImprover(), and QualityImprover::set_outer_termination_criterion().
|
private |
Definition at line 129 of file includeLinks/QualityImprover.hpp.
|
private |
Definition at line 128 of file includeLinks/QualityImprover.hpp.
Referenced by QualityImprover::get_name(), and QualityImprover::set_name().