35 #ifndef PatchDataUser_hpp
36 #define PatchDataUser_hpp
42 #ifndef MSQ_USE_OLD_C_HEADERS
85 int patch_param1=0,
int patch_param2=0);
155 int param1=0,
int param2=0) {
204 virtual msq_std::string
get_name() = 0;
228 MSQ_SETERR(err)(
"VERTICES_ON_ELEMENT_PATCH not supported yet.",
235 if (patch_param1 < 0)
237 MSQ_SETERR(err)(
"ELEMENTS_ON_VERTEX_PATCH not supported yet.",
297 MSQ_SETERR(err)(
"Trying to set a global patch whereas the "
298 "PatchType is set to something else\n."
299 "Consider using the function no_global_patch().",
309 #endif // PatchDataUser_hpp
void set_global_patch(PatchData *pd, MsqError &err)
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser.
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.
void add_culling_method(enum PatchData::culling_method cm)
Sets on the culling method passed as argument.
virtual void set_patch_type(PatchData::PatchType patch_type, MsqError &err, int param1=0, int param2=0)
Sets the Patch Type.
long unsigned int cullingMethodBits
type of cullings are contained in this bitset.
Used to hold the error state and return it to the application.
PatchDataParameters & get_all_parameters()
Returns the PatchDataParameters object.
requested functionality is not (yet) implemented
void remove_culling_method(enum PatchData::culling_method cm)
Sets off the culling method passed as argument.
void add_culling_method(enum PatchData::culling_method cm)
Sets on a culling criterion.
This should be the parent class of all algorithms retrieving information from a MeshSet object...
long unsigned int get_culling_method_bits()
Returns the bitset containing culling methods flags.
void set_global_patch(PatchData *pd, MsqError &err)
Sets the Global Patch, so that it can be use by contiguoug PatchDataUser.
void set_all_parameters(PatchDataParameters ¶ms)
PatchData * globalPatch
Allows storage of global patch through successive PatchDataUsers.
void no_global_patch()
Sets the Global Patch pointer to NULL.
PatchDataParameters(const PatchDataParameters &A)
PatchDataParameters mParams
Contains Patch parameters.
int get_nb_layers(MsqError &err)
Returns number of layers (if relevant for partition algorythm).
int get_nb_layers(MsqError &err)
Returns numbers of layers for local patch.
int mParam2
For general use in conjunction with PatchType.
#define MSQ_SETERR(err)
Macro to set error - use err.clear() to clear.
long unsigned int get_culling_method_bits()
returns the bitset.
PatchData::PatchType get_patch_type()
Returns the Patch Type.
PatchType
Tells MeshSet how to retrieve the mesh entities that will be stored in PatchData. ...
void set_global_patch_type()
void no_culling_method()
No culling performed (sets off all culling criteria).
void remove_culling_method(enum PatchData::culling_method cm)
Sets off a certain culling criteria.
void set_element_on_vertex_patch_type(unsigned num_layers)
virtual msq_std::string get_name()=0
Returns the algorithm name.
PatchData * get_global_patch()
Returns the Global Patch.
virtual double loop_over_mesh(MeshSet &ms, MsqError &err)=0
This is the "run" function of PatchDataUser. It can do anything really.
PatchData::PatchType get_patch_type()
Returns Patch Type (local around vertices, local around elements, global)
void no_culling_method()
Sets off all culling methods.
object is in an invalid state
virtual enum AlgorithmType get_algorithm_type()=0
Return the algorithm type (to avoid RTTI use).
PatchData * get_global_patch()
Returns the Global Patch.
The MeshSet class stores one or more Mesquite::Mesh pointers and manages access to the mesh informati...
PatchData::PatchType mType
see the enum ...
void no_global_patch()
Sets the Global Patch pointer to NULL.