MeshKit
1.0
|
A simple class for extruding meshes. More...
#include <meshkit/ExtrudeMesh.hpp>
Public Member Functions | |
ExtrudeMesh (MKCore *mkcore, const MEntVector &me_vec) | |
Bare constructor. | |
virtual | ~ExtrudeMesh () |
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 | extrude_tag () |
iBase_TagHandle | copy_tag () |
void | set_transform (const Extrude::Transform &transform) |
void | copy_faces (bool copy) |
void | update_sets () |
void | reset_sets () |
CESets & | extrude_sets () |
CESets & | copy_sets () |
CESets & | expand_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) |
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_extrude (iMesh::EntitySetHandle set_handle) |
void | get_normals (const std::vector< iBase_EntityHandle > &verts, const std::vector< int > &indices, const std::vector< int > &offsets, const Vector< 3 > &dv, std::vector< int > &normals) |
void | connect_up_dots (iBase_EntityHandle *src, int size, iBase_TagHandle local_tag, int *norms, int *inds, int *offs, iBase_EntityHandle *pre, iBase_EntityHandle *post) |
void | connect_up_dots (iBase_EntityHandle *src, int size, iBase_TagHandle local_tag, int *pre_norms, int *pre_inds, int *pre_offs, iBase_EntityHandle *pre, int *post_norms, int *post_inds, int *post_offs, iBase_EntityHandle *post) |
Private Attributes | |
iMesh * | mesh |
LocalTag | extrudeTag |
LocalTag | copyTag |
Extrude::Transform * | transform |
bool | copyFaces |
CESets | extrudeSets |
CESets | copySets |
CESets | expandSets |
A simple class for extruding 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 extruding 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 39 of file ExtrudeMesh.hpp.
ExtrudeMesh | ( | MKCore * | mkcore, |
const MEntVector & | me_vec | ||
) |
Bare constructor.
Definition at line 29 of file ExtrudeMesh.cpp.
~ExtrudeMesh | ( | ) | [virtual] |
Destructor.
Definition at line 41 of file ExtrudeMesh.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 45 of file ExtrudeMesh.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 165 of file ExtrudeMesh.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 172 of file ExtrudeMesh.hpp.
void connect_up_dots | ( | iBase_EntityHandle * | src, |
int | size, | ||
iBase_TagHandle | local_tag, | ||
int * | norms, | ||
int * | inds, | ||
int * | offs, | ||
iBase_EntityHandle * | pre, | ||
iBase_EntityHandle * | post | ||
) | [inline, private] |
Definition at line 226 of file ExtrudeMesh.hpp.
void connect_up_dots | ( | iBase_EntityHandle * | src, |
int | size, | ||
iBase_TagHandle | local_tag, | ||
int * | pre_norms, | ||
int * | pre_inds, | ||
int * | pre_offs, | ||
iBase_EntityHandle * | pre, | ||
int * | post_norms, | ||
int * | post_inds, | ||
int * | post_offs, | ||
iBase_EntityHandle * | post | ||
) | [private] |
Definition at line 253 of file ExtrudeMesh.cpp.
void copy_faces | ( | bool | copy | ) | [inline] |
Definition at line 188 of file ExtrudeMesh.hpp.
Definition at line 210 of file ExtrudeMesh.hpp.
iBase_TagHandle copy_tag | ( | ) | [inline] |
Definition at line 193 of file ExtrudeMesh.hpp.
void do_extrude | ( | iMesh::EntitySetHandle | set_handle | ) | [private] |
Definition at line 148 of file ExtrudeMesh.cpp.
void execute_this | ( | ) | [virtual] |
The only setup/execute function we need, since meshing vertices is trivial.
Implements GraphNode.
Definition at line 53 of file ExtrudeMesh.cpp.
CESets & expand_sets | ( | ) | [inline] |
Definition at line 215 of file ExtrudeMesh.hpp.
CESets & extrude_sets | ( | ) | [inline] |
Definition at line 220 of file ExtrudeMesh.hpp.
iBase_TagHandle extrude_tag | ( | ) | [inline] |
Definition at line 198 of file ExtrudeMesh.hpp.
void get_normals | ( | const std::vector< iBase_EntityHandle > & | verts, |
const std::vector< int > & | indices, | ||
const std::vector< int > & | offsets, | ||
const Vector< 3 > & | dv, | ||
std::vector< int > & | normals | ||
) | [private] |
Definition at line 220 of file ExtrudeMesh.cpp.
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 | ||
) |
Definition at line 70 of file ExtrudeMesh.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 177 of file ExtrudeMesh.hpp.
const char * name | ( | ) | [inline, static] |
Get class name.
Definition at line 160 of file ExtrudeMesh.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 ExtrudeMesh.cpp.
void reset_sets | ( | ) | [inline] |
Definition at line 203 of file ExtrudeMesh.hpp.
void set_transform | ( | const Extrude::Transform & | transform | ) | [inline] |
Definition at line 182 of file ExtrudeMesh.hpp.
void setup_this | ( | ) | [virtual] |
Setup is a no-op, but must be provided since it's pure virtual.
Implements GraphNode.
Definition at line 50 of file ExtrudeMesh.cpp.
void update_sets | ( | ) |
Definition at line 142 of file ExtrudeMesh.cpp.
bool copyFaces [private] |
Definition at line 153 of file ExtrudeMesh.hpp.
Definition at line 156 of file ExtrudeMesh.hpp.
Definition at line 151 of file ExtrudeMesh.hpp.
CESets expandSets [private] |
Definition at line 157 of file ExtrudeMesh.hpp.
CESets extrudeSets [private] |
Definition at line 155 of file ExtrudeMesh.hpp.
LocalTag extrudeTag [private] |
Definition at line 150 of file ExtrudeMesh.hpp.
Definition at line 149 of file ExtrudeMesh.hpp.
Extrude::Transform* transform [private] |
Definition at line 152 of file ExtrudeMesh.hpp.