This should be the parent class of all algorithms retrieving information from a MeshSet object. More...
#include <PatchDataUser.hpp>
Public Member Functions | |
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 double | loop_over_mesh (MeshSet &ms, MsqError &err)=0 |
This is the "run" function of PatchDataUser. It can do anything really. More... | |
virtual msq_std::string | get_name ()=0 |
Returns the algorithm name. More... | |
virtual enum AlgorithmType | get_algorithm_type ()=0 |
Return the algorithm type (to avoid RTTI use). 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... | |
virtual double | loop_over_mesh (MeshSet &ms, MsqError &err)=0 |
This is the "run" function of PatchDataUser. It can do anything really. More... | |
virtual msq_std::string | get_name ()=0 |
Returns the algorithm name. More... | |
virtual enum AlgorithmType | get_algorithm_type ()=0 |
Return the algorithm type (to avoid RTTI use). More... | |
Protected Member Functions | |
PatchDataUser () | |
PatchDataUser () | |
Private Attributes | |
PatchDataParameters | mParams |
Contains Patch parameters. More... | |
This should be the parent class of all algorithms retrieving information from a MeshSet object.
It makes sure that the Patch settings are accessed uniformaly across all those algorithms. Children of PatchDataUser are, among others, thw QualityImprover and QualityAssessor classes. PatchDataUser delegates all settings to its PatchDataParameter member.
Alternatively, a PatchDataParameters object can be copied directly (see set_all_parameters).
Definition at line 144 of file includeLinks/PatchDataUser.hpp.
enum AlgorithmType |
Enumerator | |
---|---|
QUALITY_IMPROVER | |
QUALITY_ASSESSOR | |
MESH_TRANSFORM | |
TARGET_CALCULATOR | |
QUALITY_IMPROVER | |
QUALITY_ASSESSOR | |
MESH_TRANSFORM | |
TARGET_CALCULATOR |
Definition at line 205 of file includeLinks/PatchDataUser.hpp.
enum AlgorithmType |
Enumerator | |
---|---|
QUALITY_IMPROVER | |
QUALITY_ASSESSOR | |
MESH_TRANSFORM | |
TARGET_CALCULATOR | |
QUALITY_IMPROVER | |
QUALITY_ASSESSOR | |
MESH_TRANSFORM | |
TARGET_CALCULATOR |
Definition at line 205 of file src/Mesh/PatchDataUser.hpp.
|
inlineprotected |
Definition at line 147 of file includeLinks/PatchDataUser.hpp.
|
inlinevirtual |
Definition at line 150 of file includeLinks/PatchDataUser.hpp.
|
inlineprotected |
Definition at line 147 of file src/Mesh/PatchDataUser.hpp.
|
inlinevirtual |
Definition at line 150 of file src/Mesh/PatchDataUser.hpp.
|
inline |
Sets on the culling method passed as argument.
Definition at line 165 of file includeLinks/PatchDataUser.hpp.
References PatchDataParameters::add_culling_method(), and PatchDataUser::mParams.
Referenced by LaplacianIQ::LaplacianIQ(), and ShapeImprovementWrapper::ShapeImprovementWrapper().
|
inline |
Sets on the culling method passed as argument.
Definition at line 165 of file src/Mesh/PatchDataUser.hpp.
References PatchDataParameters::add_culling_method(), and PatchDataUser::mParams.
|
pure virtual |
Return the algorithm type (to avoid RTTI use).
Implemented in TargetCalculator, TargetCalculator, QualityAssessor, QualityAssessor, QualityImprover, QualityImprover, MeshTransform, MeshTransform, MeanMidNodeMover, and MeanMidNodeMover.
|
pure virtual |
Return the algorithm type (to avoid RTTI use).
Implemented in TargetCalculator, TargetCalculator, QualityAssessor, QualityAssessor, QualityImprover, QualityImprover, MeshTransform, MeshTransform, MeanMidNodeMover, and MeanMidNodeMover.
|
inline |
Returns the PatchDataParameters object.
Definition at line 181 of file includeLinks/PatchDataUser.hpp.
References PatchDataUser::mParams.
Referenced by TargetCalculator::compute_reference_corner_matrices(), WTargetCalculator::compute_target_matrices(), LVQDTargetCalculator::compute_target_matrices(), MeshSet::get_next_patch(), and TargetCalculator::TargetCalculator().
|
inline |
Returns the PatchDataParameters object.
Definition at line 181 of file src/Mesh/PatchDataUser.hpp.
References PatchDataUser::mParams.
|
inline |
Returns the bitset containing culling methods flags.
Definition at line 174 of file src/Mesh/PatchDataUser.hpp.
References PatchDataParameters::get_culling_method_bits(), and PatchDataUser::mParams.
|
inline |
Returns the bitset containing culling methods flags.
Definition at line 174 of file includeLinks/PatchDataUser.hpp.
References PatchDataParameters::get_culling_method_bits(), and PatchDataUser::mParams.
|
inline |
Returns the Global Patch.
Will be 0 if not available. Make sure not to use that function if a local patch algorithm has been used since the last access to the global patch, making it invalid.
Definition at line 190 of file includeLinks/PatchDataUser.hpp.
References PatchDataParameters::get_global_patch(), and PatchDataUser::mParams.
Referenced by MeanMidNodeMover::loop_over_mesh(), VertexMover::loop_over_mesh(), and TargetCalculator::loop_over_mesh().
|
inline |
Returns the Global Patch.
Will be 0 if not available. Make sure not to use that function if a local patch algorithm has been used since the last access to the global patch, making it invalid.
Definition at line 190 of file src/Mesh/PatchDataUser.hpp.
References PatchDataParameters::get_global_patch(), and PatchDataUser::mParams.
|
pure virtual |
Returns the algorithm name.
Implemented in TargetCalculator, TargetCalculator, QualityAssessor, QualityAssessor, QualityImprover, QualityImprover, MeshTransform, MeshTransform, MeanMidNodeMover, and MeanMidNodeMover.
|
pure virtual |
Returns the algorithm name.
Implemented in TargetCalculator, TargetCalculator, QualityAssessor, QualityAssessor, QualityImprover, QualityImprover, MeshTransform, MeshTransform, MeanMidNodeMover, and MeanMidNodeMover.
|
inline |
Returns number of layers (if relevant for partition algorythm).
Definition at line 161 of file includeLinks/PatchDataUser.hpp.
References PatchDataParameters::get_nb_layers(), and PatchDataUser::mParams.
|
inline |
Returns number of layers (if relevant for partition algorythm).
Definition at line 161 of file src/Mesh/PatchDataUser.hpp.
References PatchDataParameters::get_nb_layers(), and PatchDataUser::mParams.
|
inline |
Returns the Patch Type.
Definition at line 158 of file src/Mesh/PatchDataUser.hpp.
References PatchDataParameters::get_patch_type(), and PatchDataUser::mParams.
|
inline |
Returns the Patch Type.
Definition at line 158 of file includeLinks/PatchDataUser.hpp.
References PatchDataParameters::get_patch_type(), and PatchDataUser::mParams.
Referenced by MeanMidNodeMover::loop_over_mesh(), VertexMover::loop_over_mesh(), MeshTransform::loop_over_mesh(), and TargetCalculator::loop_over_mesh().
This is the "run" function of PatchDataUser. It can do anything really.
Implemented in QualityAssessor, QualityAssessor, TargetCalculator, TargetCalculator, MeshTransform, MeshTransform, QualityImprover, QualityImprover, VertexMover, VertexMover, MeanMidNodeMover, MeanMidNodeMover, TopologyModifier, and TopologyModifier.
This is the "run" function of PatchDataUser. It can do anything really.
Implemented in QualityAssessor, QualityAssessor, TargetCalculator, TargetCalculator, MeshTransform, MeshTransform, QualityImprover, QualityImprover, VertexMover, VertexMover, MeanMidNodeMover, MeanMidNodeMover, TopologyModifier, and TopologyModifier.
|
inline |
Sets off all culling methods.
Definition at line 168 of file src/Mesh/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::no_culling_method().
|
inline |
Sets off all culling methods.
Definition at line 168 of file includeLinks/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::no_culling_method().
Referenced by MeshTransform::MeshTransform().
|
inline |
Sets the Global Patch pointer to NULL.
Make sure to call that function before modifying the mesh with local patches. Memory handling (creation/deletion) should be done outside PatchDataUSer, typically in InstructionQueue
Definition at line 196 of file src/Mesh/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::no_global_patch().
|
inline |
Sets the Global Patch pointer to NULL.
Make sure to call that function before modifying the mesh with local patches. Memory handling (creation/deletion) should be done outside PatchDataUSer, typically in InstructionQueue
Definition at line 196 of file includeLinks/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::no_global_patch().
|
inline |
Sets off the culling method passed as argument.
Definition at line 171 of file src/Mesh/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::remove_culling_method().
|
inline |
Sets off the culling method passed as argument.
Definition at line 171 of file includeLinks/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::remove_culling_method().
|
inline |
Sets all parameters at once by copying a PatchDataParameters object
Definition at line 178 of file includeLinks/PatchDataUser.hpp.
References PatchDataUser::mParams.
|
inline |
Sets all parameters at once by copying a PatchDataParameters object
Definition at line 178 of file src/Mesh/PatchDataUser.hpp.
References PatchDataUser::mParams.
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser.
Definition at line 185 of file includeLinks/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::set_global_patch().
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser.
Definition at line 185 of file src/Mesh/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::set_global_patch().
|
inlinevirtual |
Sets the Patch Type.
Reimplemented in MeshTransform, MeshTransform, ConjugateGradient, ConjugateGradient, MeanMidNodeMover, and MeanMidNodeMover.
Definition at line 154 of file includeLinks/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::set_patch_type().
Referenced by FeasibleNewton::FeasibleNewton(), Randomize::initialize(), NonSmoothSteepestDescent::initialize(), LaplacianSmoother::LaplacianSmoother(), MeanMidNodeMover::MeanMidNodeMover(), ConjugateGradient::set_patch_type(), MeshTransform::set_patch_type(), ShapeImprovementWrapper::ShapeImprovementWrapper(), SmartLaplacianSmoother::SmartLaplacianSmoother(), and SteepestDescent::SteepestDescent().
|
inlinevirtual |
Sets the Patch Type.
Reimplemented in MeshTransform, MeshTransform, ConjugateGradient, ConjugateGradient, MeanMidNodeMover, and MeanMidNodeMover.
Definition at line 154 of file src/Mesh/PatchDataUser.hpp.
References PatchDataUser::mParams, and PatchDataParameters::set_patch_type().
|
private |
Contains Patch parameters.
Definition at line 210 of file includeLinks/PatchDataUser.hpp.
Referenced by PatchDataUser::add_culling_method(), PatchDataUser::get_all_parameters(), PatchDataUser::get_culling_method_bits(), PatchDataUser::get_global_patch(), PatchDataUser::get_nb_layers(), PatchDataUser::get_patch_type(), PatchDataUser::no_culling_method(), PatchDataUser::no_global_patch(), PatchDataUser::remove_culling_method(), PatchDataUser::set_all_parameters(), PatchDataUser::set_global_patch(), and PatchDataUser::set_patch_type().