Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
QualityImprover Class Referenceabstract

Base class for all quality improvers. Mote that the PatchData settings are inherited from the PathDataUser class. More...

#include <QualityImprover.hpp>

Inheritance diagram for QualityImprover:
Collaboration diagram for QualityImprover:

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 &params)
 
PatchDataParametersget_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...
 
PatchDataget_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 &params)
 
PatchDataParametersget_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...
 
PatchDataget_global_patch ()
 Returns the Global Patch. More...
 
void no_global_patch ()
 Sets the Global Patch pointer to NULL. More...
 

Protected Member Functions

 QualityImprover ()
 
const MeshSetget_mesh_set () const
 
MeshSetget_mesh_set ()
 
void set_mesh_set (MeshSet *ms)
 
TerminationCriterionget_outer_termination_criterion ()
 return the outer termination criterion pointer More...
 
TerminationCriterionget_inner_termination_criterion ()
 return the inner termination criterion pointer More...
 
 QualityImprover ()
 
const MeshSetget_mesh_set () const
 
MeshSetget_mesh_set ()
 
void set_mesh_set (MeshSet *ms)
 
TerminationCriterionget_outer_termination_criterion ()
 return the outer termination criterion pointer More...
 
TerminationCriterionget_inner_termination_criterion ()
 return the inner termination criterion pointer More...
 
- Protected Member Functions inherited from PatchDataUser
 PatchDataUser ()
 
 PatchDataUser ()
 

Private Attributes

MeshSetmMeshSet
 
msq_std::string qualityImproverName
 
int patchDepth
 
TerminationCriterioninnerTerminationCriterion
 
TerminationCriterionouterTerminationCriterion
 
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
}
 

Detailed Description

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.

Constructor & Destructor Documentation

virtual ~QualityImprover ( )
inlinevirtual

Definition at line 64 of file includeLinks/QualityImprover.hpp.

64 { };
QualityImprover ( )
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.

96  : mMeshSet(0), qualityImproverName("noname")
97  {
98  //Temporary solution to not having an err object
99  MsqError temp_err;
103  }
TerminationCriterion * outerTerminationCriterion
TerminationCriterion * innerTerminationCriterion
Terminates when the number of iterations exceeds a given integer.
void add_criterion_type_with_int(TCType tc_type, int bound, MsqError &err)
Sets the criterion by specifing the TCType and the integer value.

Here is the call graph for this function:

virtual ~QualityImprover ( )
inlinevirtual

Definition at line 64 of file src/QualityImprover/QualityImprover.hpp.

64 { };
QualityImprover ( )
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.

96  : mMeshSet(0), qualityImproverName("noname")
97  {
98  //Temporary solution to not having an err object
99  MsqError temp_err;
103  }
TerminationCriterion * outerTerminationCriterion
TerminationCriterion * innerTerminationCriterion
Terminates when the number of iterations exceeds a given integer.
void add_criterion_type_with_int(TCType tc_type, int bound, MsqError &err)
Sets the criterion by specifing the TCType and the integer value.

Here is the call graph for this function:

Member Function Documentation

virtual AlgorithmType get_algorithm_type ( )
inlinevirtual

Return the algorithm type (to avoid RTTI use).

Implements PatchDataUser.

Definition at line 76 of file includeLinks/QualityImprover.hpp.

References PatchDataUser::QUALITY_IMPROVER.

virtual AlgorithmType get_algorithm_type ( )
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.

TerminationCriterion* get_inner_termination_criterion ( )
inlineprotected
TerminationCriterion* get_inner_termination_criterion ( )
inlineprotected

return the inner termination criterion pointer

Definition at line 123 of file src/QualityImprover/QualityImprover.hpp.

References QualityImprover::innerTerminationCriterion.

124  { return innerTerminationCriterion; }
TerminationCriterion * innerTerminationCriterion
const MeshSet* get_mesh_set ( ) const
inlineprotected
const MeshSet* get_mesh_set ( ) const
inlineprotected

Definition at line 109 of file includeLinks/QualityImprover.hpp.

References QualityImprover::mMeshSet.

Referenced by NonSmoothSteepestDescent::optimize_vertex_positions().

Here is the caller graph for this function:

MeshSet* get_mesh_set ( )
inlineprotected
MeshSet* get_mesh_set ( )
inlineprotected

Definition at line 111 of file includeLinks/QualityImprover.hpp.

References QualityImprover::mMeshSet.

virtual msq_std::string get_name ( )
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.

virtual msq_std::string get_name ( )
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.

TerminationCriterion* get_outer_termination_criterion ( )
inlineprotected

return the outer termination criterion pointer

Definition at line 120 of file src/QualityImprover/QualityImprover.hpp.

References QualityImprover::outerTerminationCriterion.

121  { return outerTerminationCriterion; }
TerminationCriterion * outerTerminationCriterion
TerminationCriterion* get_outer_termination_criterion ( )
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().

121  { return outerTerminationCriterion; }
TerminationCriterion * outerTerminationCriterion

Here is the caller graph for this function:

virtual double loop_over_mesh ( MeshSet ms,
MsqError err 
)
pure virtual

This is the "run" function of PatchDataUser. It can do anything really.

Implements PatchDataUser.

Implemented in VertexMover, VertexMover, TopologyModifier, and TopologyModifier.

virtual double loop_over_mesh ( MeshSet ms,
MsqError err 
)
pure virtual

This is the "run" function of PatchDataUser. It can do anything really.

Implements PatchDataUser.

Implemented in VertexMover, VertexMover, TopologyModifier, and TopologyModifier.

void set_inner_termination_criterion ( TerminationCriterion crit)
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.

81  {
83  }
TerminationCriterion * innerTerminationCriterion
void set_inner_termination_criterion ( TerminationCriterion crit)
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().

81  {
83  }
TerminationCriterion * innerTerminationCriterion

Here is the caller graph for this function:

void set_mesh_set ( MeshSet ms)
inlineprotected

Definition at line 115 of file src/QualityImprover/QualityImprover.hpp.

References QualityImprover::mMeshSet.

116  {
117  mMeshSet=ms;
118  }
void set_mesh_set ( MeshSet ms)
inlineprotected

Definition at line 115 of file includeLinks/QualityImprover.hpp.

References QualityImprover::mMeshSet.

Referenced by VertexMover::loop_over_mesh().

116  {
117  mMeshSet=ms;
118  }

Here is the caller graph for this function:

void set_name ( msq_std::string  name)
inline

provides a name to the QualityImprover (use it in constructor).

Definition at line 69 of file src/QualityImprover/QualityImprover.hpp.

References QualityImprover::qualityImproverName.

70  {
71  qualityImproverName = name;
72  };
void set_outer_termination_criterion ( TerminationCriterion crit)
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().

87  {
89  }
TerminationCriterion * outerTerminationCriterion

Here is the caller graph for this function:

void set_outer_termination_criterion ( TerminationCriterion crit)
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.

87  {
89  }
TerminationCriterion * outerTerminationCriterion

Friends And Related Function Documentation

MeshSet
friend

Definition at line 105 of file includeLinks/QualityImprover.hpp.

Member Data Documentation

TerminationCriterion defaultInnerCriterion
private

Definition at line 136 of file includeLinks/QualityImprover.hpp.

Referenced by QualityImprover::QualityImprover().

TerminationCriterion defaultOuterCriterion
private

Definition at line 134 of file includeLinks/QualityImprover.hpp.

Referenced by QualityImprover::QualityImprover().

MeshSet * mMeshSet
private
int patchDepth
private

Definition at line 129 of file includeLinks/QualityImprover.hpp.

msq_std::string qualityImproverName
private

The documentation for this class was generated from the following files: