MeshKit  1.0
CopyMesh Class Reference

A simple class for meshing copy moving meshes. More...

#include <meshkit/CopyMesh.hpp>

Inheritance diagram for CopyMesh:

List of all members.

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

Public Attributes

bool flag_process_ce_set

Private Member Functions

void do_copy (iMesh::EntitySetHandle set_handle)
void get_copy_expand_sets (iMesh::EntitySetHandle *&copy_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

iMeshmesh
LocalTag copyTag
Copy::Transformtransform
CESets copySets
CESets expandSets

Detailed Description

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.

Examples:
example_copymesh.cpp.

Definition at line 38 of file CopyMesh.hpp.


Constructor & Destructor Documentation

CopyMesh ( MKCore mkcore,
const MEntVector me_vec 
)

Bare constructor.

Definition at line 29 of file CopyMesh.cpp.

~CopyMesh ( ) [virtual]

Destructor.

Definition at line 40 of file CopyMesh.cpp.


Member Function Documentation

bool add_modelent ( ModelEnt model_ent) [virtual]

Re-implemented here so we can check topological dimension of model_ent.

Parameters:
model_entModelEnt being added

Reimplemented from MeshOp.

Definition at line 46 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.

Parameters:
dimentity dimension

Definition at line 177 of file CopyMesh.hpp.

bool can_mesh ( ModelEnt me) [inline, static]

Function returning whether this scheme can mesh the specified entity.

Used by MeshOpFactory to find scheme for an entity.

Parameters:
meModelEnt being queried
Returns:
If true, this scheme can mesh the specified ModelEnt

Definition at line 184 of file CopyMesh.hpp.

CESets & copy_sets ( ) [inline]

Definition at line 211 of file CopyMesh.hpp.

iBase_TagHandle copy_tag ( ) [inline]

Definition at line 200 of file CopyMesh.hpp.

void do_copy ( iMesh::EntitySetHandle  set_handle) [private]

Definition at line 153 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 216 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 81 of file CopyMesh.cpp.

const moab::EntityType * mesh_types_arr ( ) const [inline, virtual]

Return the mesh entity types operated on by this scheme.

Returns:
array terminated with moab::MBMAXTYPE

Implements MeshOp.

Definition at line 189 of file CopyMesh.hpp.

const char * name ( ) [inline, static]

Get class name.

Definition at line 172 of file CopyMesh.hpp.

const moab::EntityType * output_types ( ) [static]

Get list of mesh entity types that can be generated.

Returns:
array terminated with moab::MBMAXTYPE

Definition at line 26 of file CopyMesh.cpp.

void reset_sets ( ) [inline]

Definition at line 205 of file CopyMesh.hpp.

void set_transform ( const Copy::Transform transform) [inline]

Definition at line 194 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 51 of file CopyMesh.cpp.

void tag_copied_sets ( const char **  tag_names,
const char **  tag_vals,
const int  num_tags 
)

Definition at line 200 of file CopyMesh.cpp.

void tag_copied_sets ( iMesh::TagHandle *  tags,
const char **  tag_vals,
const int  num_tags 
)

Definition at line 212 of file CopyMesh.cpp.

void update_sets ( )

Definition at line 194 of file CopyMesh.cpp.


Member Data Documentation

CESets copySets [private]

Definition at line 148 of file CopyMesh.hpp.

LocalTag copyTag [private]

Definition at line 145 of file CopyMesh.hpp.

CESets expandSets [private]

Definition at line 149 of file CopyMesh.hpp.

Definition at line 117 of file CopyMesh.hpp.

iMesh* mesh [private]

Definition at line 144 of file CopyMesh.hpp.

Definition at line 146 of file CopyMesh.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines