MeshKit
1.0
|
A simple class for meshing copy moving meshes. More...
#include <meshkit/CopyMesh.hpp>
Public Member Functions | |
CopyMesh (MKCore *mkcore, const MEntVector &me_vec) | |
Bare constructor. | |
virtual | ~CopyMesh () |
Destructor. | |
virtual const moab::EntityType * | mesh_types_arr () const |
Return the mesh entity types operated on by this scheme. | |
virtual bool | add_modelent (ModelEnt *model_ent) |
Re-implemented here so we can check topological dimension of model_ent. | |
virtual void | setup_this () |
Setup is a no-op, but must be provided since it's pure virtual. | |
virtual void | execute_this () |
The only setup/execute function we need, since meshing vertices is trivial. | |
iBase_TagHandle | copy_tag () |
void | set_transform (const Copy::Transform &transform) |
void | update_sets () |
void | reset_sets () |
CESets & | copy_sets () |
CESets & | expand_sets () |
void | tag_copied_sets (const char **tag_names, const char **tag_vals, const int num_tags) |
void | tag_copied_sets (iMesh::TagHandle *tags, const char **tag_vals, const int num_tags) |
Static Public Member Functions | |
static const char * | name () |
Get class name. | |
static bool | can_mesh (iBase_EntityType dim) |
Function returning whether this scheme can mesh entities of t the specified dimension. | |
static bool | can_mesh (ModelEnt *me) |
Function returning whether this scheme can mesh the specified entity. | |
static const moab::EntityType * | output_types () |
Get list of mesh entity types that can be generated. | |
Private Member Functions | |
void | do_copy (iMesh::EntitySetHandle set_handle) |
void | get_copy_expand_sets (iMesh::EntitySetHandle *©_sets, int &num_copy_sets, iMesh::EntitySetHandle *&expand_sets, int &num_expand_sets) |
void | get_tagged_sets (iMesh::EntitySetHandle from_set, iMesh::TagHandle *tag_handles, const char **tag_vals, int num_tags, iMesh::EntitySetHandle *&tagged_sets, int &num_tagged_sets) |
int | getStructure (iMesh_Instance instance, iBase_EntitySetHandle set, std::vector< iBase_EntityHandle > &ents, std::vector< iBase_EntityHandle > &unique_adj, std::vector< int > &indices, std::vector< int > &offsets) |
Private Attributes | |
iMesh * | mesh |
LocalTag | copyTag |
Copy::Transform * | transform |
CESets | copySets |
CESets | expandSets |
A simple class for meshing copy moving meshes.
INPUT: ModelEnts representing meshes MESH TYPE(S): ALL TYPES OUTPUT: Copied mesh along with the existing mesh DEPENDENCIES: (none) CONSTRAINTS: (none)
This class performs the trivial task of copy moving meshes. There can be multiple instances of this class, and therefore it is pointed to and managed by ....
Each instance of this class stores all the ModelEnt's representing the mesh data, and after execution after meshing new entities are created and tag propagation happens.
Definition at line 38 of file CopyMesh.hpp.
CopyMesh | ( | MKCore * | mkcore, |
const MEntVector & | me_vec | ||
) |
Bare constructor.
Definition at line 29 of file CopyMesh.cpp.
~CopyMesh | ( | ) | [virtual] |
Destructor.
Definition at line 38 of file CopyMesh.cpp.
bool add_modelent | ( | ModelEnt * | model_ent | ) | [virtual] |
Re-implemented here so we can check topological dimension of model_ent.
model_ent | ModelEnt being added |
Reimplemented from MeshOp.
Definition at line 44 of file CopyMesh.cpp.
bool can_mesh | ( | iBase_EntityType | dim | ) | [inline, static] |
Function returning whether this scheme can mesh entities of t the specified dimension.
dim | entity dimension |
Definition at line 174 of file CopyMesh.hpp.
Function returning whether this scheme can mesh the specified entity.
Used by MeshOpFactory to find scheme for an entity.
me | ModelEnt being queried |
Definition at line 181 of file CopyMesh.hpp.
Definition at line 208 of file CopyMesh.hpp.
iBase_TagHandle copy_tag | ( | ) | [inline] |
Definition at line 197 of file CopyMesh.hpp.
void do_copy | ( | iMesh::EntitySetHandle | set_handle | ) | [private] |
Definition at line 157 of file CopyMesh.cpp.
void execute_this | ( | ) | [virtual] |
The only setup/execute function we need, since meshing vertices is trivial.
Implements GraphNode.
Definition at line 55 of file CopyMesh.cpp.
CESets & expand_sets | ( | ) | [inline] |
Definition at line 213 of file CopyMesh.hpp.
void get_copy_expand_sets | ( | iMesh::EntitySetHandle *& | copy_sets, |
int & | num_copy_sets, | ||
iMesh::EntitySetHandle *& | expand_sets, | ||
int & | num_expand_sets | ||
) | [private] |
void get_tagged_sets | ( | iMesh::EntitySetHandle | from_set, |
iMesh::TagHandle * | tag_handles, | ||
const char ** | tag_vals, | ||
int | num_tags, | ||
iMesh::EntitySetHandle *& | tagged_sets, | ||
int & | num_tagged_sets | ||
) | [private] |
int getStructure | ( | iMesh_Instance | instance, |
iBase_EntitySetHandle | set, | ||
std::vector< iBase_EntityHandle > & | ents, | ||
std::vector< iBase_EntityHandle > & | unique_adj, | ||
std::vector< int > & | indices, | ||
std::vector< int > & | offsets | ||
) | [private] |
Definition at line 85 of file CopyMesh.cpp.
const moab::EntityType * mesh_types_arr | ( | ) | const [inline, virtual] |
Return the mesh entity types operated on by this scheme.
moab::MBMAXTYPE
Implements MeshOp.
Definition at line 186 of file CopyMesh.hpp.
const char * name | ( | ) | [inline, static] |
Get class name.
Definition at line 169 of file CopyMesh.hpp.
const moab::EntityType * output_types | ( | ) | [static] |
Get list of mesh entity types that can be generated.
moab::MBMAXTYPE
Definition at line 26 of file CopyMesh.cpp.
void reset_sets | ( | ) | [inline] |
Definition at line 202 of file CopyMesh.hpp.
void set_transform | ( | const Copy::Transform & | transform | ) | [inline] |
Definition at line 191 of file CopyMesh.hpp.
void setup_this | ( | ) | [virtual] |
Setup is a no-op, but must be provided since it's pure virtual.
Implements GraphNode.
Definition at line 49 of file CopyMesh.cpp.
void tag_copied_sets | ( | const char ** | tag_names, |
const char ** | tag_vals, | ||
const int | num_tags | ||
) |
Definition at line 203 of file CopyMesh.cpp.
void tag_copied_sets | ( | iMesh::TagHandle * | tags, |
const char ** | tag_vals, | ||
const int | num_tags | ||
) |
Definition at line 215 of file CopyMesh.cpp.
void update_sets | ( | ) |
Definition at line 197 of file CopyMesh.cpp.
Definition at line 145 of file CopyMesh.hpp.
Definition at line 142 of file CopyMesh.hpp.
CESets expandSets [private] |
Definition at line 146 of file CopyMesh.hpp.
Definition at line 141 of file CopyMesh.hpp.
Copy::Transform* transform [private] |
Definition at line 143 of file CopyMesh.hpp.