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

This should be the parent class of all algorithms retrieving information from a MeshSet object. More...

#include <PatchDataUser.hpp>

Inheritance diagram for PatchDataUser:
Collaboration diagram for PatchDataUser:

Public Types

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
}
 

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 &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 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 &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 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...
 

Detailed Description

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.

Member Enumeration Documentation

Constructor & Destructor Documentation

PatchDataUser ( )
inlineprotected

Definition at line 147 of file includeLinks/PatchDataUser.hpp.

147  : mParams()
148  {}
PatchDataParameters mParams
Contains Patch parameters.
virtual ~PatchDataUser ( )
inlinevirtual

Definition at line 150 of file includeLinks/PatchDataUser.hpp.

151  {}
PatchDataUser ( )
inlineprotected

Definition at line 147 of file src/Mesh/PatchDataUser.hpp.

147  : mParams()
148  {}
PatchDataParameters mParams
Contains Patch parameters.
virtual ~PatchDataUser ( )
inlinevirtual

Definition at line 150 of file src/Mesh/PatchDataUser.hpp.

151  {}

Member Function Documentation

void add_culling_method ( enum PatchData::culling_method  cm)
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().

165  {
void add_culling_method(enum PatchData::culling_method cm)
Sets on a culling criterion.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

Here is the caller graph for this function:

void add_culling_method ( enum PatchData::culling_method  cm)
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.

165  {
void add_culling_method(enum PatchData::culling_method cm)
Sets on a culling criterion.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

virtual enum AlgorithmType get_algorithm_type ( )
pure virtual
virtual enum AlgorithmType get_algorithm_type ( )
pure virtual
PatchDataParameters& get_all_parameters ( )
inline
PatchDataParameters& get_all_parameters ( )
inline

Returns the PatchDataParameters object.

Definition at line 181 of file src/Mesh/PatchDataUser.hpp.

References PatchDataUser::mParams.

182  { return mParams; }
PatchDataParameters mParams
Contains Patch parameters.
long unsigned int get_culling_method_bits ( )
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.

174  {
175  return mParams.get_culling_method_bits(); }
PatchDataParameters mParams
Contains Patch parameters.
long unsigned int get_culling_method_bits()
returns the bitset.

Here is the call graph for this function:

long unsigned int get_culling_method_bits ( )
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.

174  {
175  return mParams.get_culling_method_bits(); }
PatchDataParameters mParams
Contains Patch parameters.
long unsigned int get_culling_method_bits()
returns the bitset.

Here is the call graph for this function:

PatchData* get_global_patch ( )
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().

191  { return mParams.get_global_patch(); }
PatchDataParameters mParams
Contains Patch parameters.
PatchData * get_global_patch()
Returns the Global Patch.

Here is the call graph for this function:

Here is the caller graph for this function:

PatchData* get_global_patch ( )
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.

191  { return mParams.get_global_patch(); }
PatchDataParameters mParams
Contains Patch parameters.
PatchData * get_global_patch()
Returns the Global Patch.

Here is the call graph for this function:

virtual msq_std::string get_name ( )
pure virtual
virtual msq_std::string get_name ( )
pure virtual
int get_nb_layers ( MsqError err)
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.

161  {
162  return mParams.get_nb_layers(err); }
PatchDataParameters mParams
Contains Patch parameters.
int get_nb_layers(MsqError &err)
Returns numbers of layers for local patch.

Here is the call graph for this function:

int get_nb_layers ( MsqError err)
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.

161  {
162  return mParams.get_nb_layers(err); }
PatchDataParameters mParams
Contains Patch parameters.
int get_nb_layers(MsqError &err)
Returns numbers of layers for local patch.

Here is the call graph for this function:

PatchData::PatchType get_patch_type ( )
inline

Returns the Patch Type.

Definition at line 158 of file src/Mesh/PatchDataUser.hpp.

References PatchDataParameters::get_patch_type(), and PatchDataUser::mParams.

158  {
159  return mParams.get_patch_type(); }
PatchDataParameters mParams
Contains Patch parameters.
PatchData::PatchType get_patch_type()
Returns Patch Type (local around vertices, local around elements, global)

Here is the call graph for this function:

PatchData::PatchType get_patch_type ( )
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().

158  {
159  return mParams.get_patch_type(); }
PatchDataParameters mParams
Contains Patch parameters.
PatchData::PatchType get_patch_type()
Returns Patch Type (local around vertices, local around elements, global)

Here is the call graph for this function:

Here is the caller graph for this function:

virtual double loop_over_mesh ( MeshSet ms,
MsqError err 
)
pure virtual
virtual double loop_over_mesh ( MeshSet ms,
MsqError err 
)
pure virtual
void no_culling_method ( )
inline

Sets off all culling methods.

Definition at line 168 of file src/Mesh/PatchDataUser.hpp.

References PatchDataUser::mParams, and PatchDataParameters::no_culling_method().

168  {
PatchDataParameters mParams
Contains Patch parameters.
void no_culling_method()
No culling performed (sets off all culling criteria).

Here is the call graph for this function:

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

168  {
PatchDataParameters mParams
Contains Patch parameters.
void no_culling_method()
No culling performed (sets off all culling criteria).

Here is the call graph for this function:

Here is the caller graph for this function:

void 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 src/Mesh/PatchDataUser.hpp.

References PatchDataUser::mParams, and PatchDataParameters::no_global_patch().

197  { mParams.no_global_patch(); }
void no_global_patch()
Sets the Global Patch pointer to NULL.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

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

197  { mParams.no_global_patch(); }
void no_global_patch()
Sets the Global Patch pointer to NULL.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

void remove_culling_method ( enum PatchData::culling_method  cm)
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().

171  {
PatchDataParameters mParams
Contains Patch parameters.
void remove_culling_method(enum PatchData::culling_method cm)
Sets off a certain culling criteria.

Here is the call graph for this function:

void remove_culling_method ( enum PatchData::culling_method  cm)
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().

171  {
PatchDataParameters mParams
Contains Patch parameters.
void remove_culling_method(enum PatchData::culling_method cm)
Sets off a certain culling criteria.

Here is the call graph for this function:

void set_all_parameters ( PatchDataParameters params)
inline

Sets all parameters at once by copying a PatchDataParameters object

Definition at line 178 of file includeLinks/PatchDataUser.hpp.

References PatchDataUser::mParams.

179  { mParams = params; }
PatchDataParameters mParams
Contains Patch parameters.
void set_all_parameters ( PatchDataParameters params)
inline

Sets all parameters at once by copying a PatchDataParameters object

Definition at line 178 of file src/Mesh/PatchDataUser.hpp.

References PatchDataUser::mParams.

179  { mParams = params; }
PatchDataParameters mParams
Contains Patch parameters.
void set_global_patch ( PatchData pd,
MsqError err 
)
inline

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().

186  { mParams.set_global_patch(pd, err); }
void set_global_patch(PatchData *pd, MsqError &err)
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

void set_global_patch ( PatchData pd,
MsqError err 
)
inline

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().

186  { mParams.set_global_patch(pd, err); }
void set_global_patch(PatchData *pd, MsqError &err)
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

virtual void set_patch_type ( PatchData::PatchType  patch_type,
MsqError err,
int  param1 = 0,
int  param2 = 0 
)
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().

155  {
156  mParams.set_patch_type(patch_type, err, param1, param2); }
void set_patch_type(PatchData::PatchType patch_type, MsqError &err, int patch_param1=0, int patch_param2=0)
Tells the MeshSet what kind of data the patches should include.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

Here is the caller graph for this function:

virtual void set_patch_type ( PatchData::PatchType  patch_type,
MsqError err,
int  param1 = 0,
int  param2 = 0 
)
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().

155  {
156  mParams.set_patch_type(patch_type, err, param1, param2); }
void set_patch_type(PatchData::PatchType patch_type, MsqError &err, int patch_param1=0, int patch_param2=0)
Tells the MeshSet what kind of data the patches should include.
PatchDataParameters mParams
Contains Patch parameters.

Here is the call graph for this function:

Member Data Documentation


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