MeshKit  1.0
MeshOp Class Reference

An operation that operates on mesh data. More...

#include <meshkit/MeshOp.hpp>

Inheritance diagram for MeshOp:

List of all members.

Public Member Functions

 MeshOp (const MeshOp &mesh_op)
 Copy constructor.
 MeshOp (MKCore *mkcore, const MEntVector &me_vec=MEntVector())
 Bare constructor.
virtual ~MeshOp ()
 Destructor.
virtual bool add_modelent (ModelEnt *model_ent)
 Add a ModelEnt to this operation's MEntSelection The MEntSelection is a map, and can only have a given entity once.
virtual bool remove_modelent (ModelEnt *model_ent)
 Removes a ModelEnt from this operation's MEntSelection.
virtual MEntSelectionme_selection ()
 Return a reference to the MEntSelection list.
virtual const MEntSelectionme_selection () const
 Return a const reference to the MEntSelection list.
MKCoremk_core () const
 Get the associated MKCore object; this applies a dynamic_cast to the parent's MKGraph member.
virtual const moab::EntityType * mesh_types_arr () const =0
 Return the mesh entity types operated on by this scheme.
void mesh_types (std::vector< moab::EntityType > &mesh_types)
 Return what types of mesh entities this algorithm generates; pure virtual so every scheme must define them.
void setup_boundary ()
 Check that bounding entities have an assigned MeshOp, and create them for ones that don't.
void create_model_ents_from_previous_ops ()

Static Public Member Functions

static bool canmesh_vertex (ModelEnt *model_ent)
 Helper function for meshop registration, returns true if specified ModelEnt is a vertex.
static bool canmesh_edge (ModelEnt *model_ent)
 Helper function for meshop registration, returns true if specified ModelEnt is an edge.
static bool canmesh_face (ModelEnt *model_ent)
 Helper function for meshop registration, returns true if specified ModelEnt is a face.
static bool canmesh_region (ModelEnt *model_ent)
 Helper function for meshop registration, returns true if specified ModelEnt is a region.

Protected Attributes

MEntSelection mentSelection
 MEntSelection that stores what this operation generated or otherwise worked on.

Detailed Description

An operation that operates on mesh data.

The class encapsulating setup/execute mesh operations on collections of entities. MeshOp objects derive from GraphNode, which encapsulates all graph-related operations on a MeshOp.

Examples:
example_graph.cpp.

Definition at line 21 of file MeshOp.hpp.


Constructor & Destructor Documentation

MeshOp ( const MeshOp mesh_op)

Copy constructor.

Definition at line 12 of file MeshOp.cpp.

MeshOp ( MKCore mkcore,
const MEntVector me_vec = MEntVector() 
)

Bare constructor.

Definition at line 17 of file MeshOp.cpp.

~MeshOp ( ) [virtual]

Destructor.

Definition at line 110 of file MeshOp.cpp.


Member Function Documentation

bool add_modelent ( ModelEnt model_ent) [virtual]

Add a ModelEnt to this operation's MEntSelection The MEntSelection is a map, and can only have a given entity once.

Parameters:
model_entModelEnt being added
Returns:
Returns true if model_ent was actually added, false otherwise

Reimplemented in EBMesher, CoreGen, PostBL, AssyGen, MergeMesh, ExtrudeMesh, CopyMesh, CopyGeom, MeshOpTemplate, and VertexMesher.

Definition at line 87 of file MeshOp.cpp.

bool canmesh_edge ( ModelEnt model_ent) [static]

Helper function for meshop registration, returns true if specified ModelEnt is an edge.

Parameters:
model_entModel entity being evaluated
Returns:
True if model_ent has dimension() == 1

Definition at line 72 of file MeshOp.cpp.

bool canmesh_face ( ModelEnt model_ent) [static]

Helper function for meshop registration, returns true if specified ModelEnt is a face.

Parameters:
model_entModel entity being evaluated
Returns:
True if model_ent has dimension() == 2

Definition at line 77 of file MeshOp.cpp.

bool canmesh_region ( ModelEnt model_ent) [static]

Helper function for meshop registration, returns true if specified ModelEnt is a region.

Parameters:
model_entModel entity being evaluated
Returns:
True if model_ent has dimension() == 3

Definition at line 82 of file MeshOp.cpp.

bool canmesh_vertex ( ModelEnt model_ent) [static]

Helper function for meshop registration, returns true if specified ModelEnt is a vertex.

Parameters:
model_entModel entity being evaluated
Returns:
True if model_ent has dimension() == 0

Definition at line 67 of file MeshOp.cpp.

brief mesh-based geometry model ents based on previous ops it will be used for Camal advancing front meshers

MEntSelection & me_selection ( ) [inline, virtual]

Return a reference to the MEntSelection list.

Examples:
example_mbvolop.cpp, and example_setpnt2quad.cpp.

Definition at line 116 of file MeshOp.hpp.

const MEntSelection & me_selection ( ) const [inline, virtual]

Return a const reference to the MEntSelection list.

Definition at line 111 of file MeshOp.hpp.

void mesh_types ( std::vector< moab::EntityType > &  mesh_types)

Return what types of mesh entities this algorithm generates; pure virtual so every scheme must define them.

Parameters:
mesh_typesTypes handled by this meshop

Reimplemented in MyScheme, MyScheme, and ProjectShell.

Definition at line 114 of file MeshOp.cpp.

MKCore * mk_core ( ) const [inline]

Get the associated MKCore object; this applies a dynamic_cast to the parent's MKGraph member.

Definition at line 121 of file MeshOp.hpp.

bool remove_modelent ( ModelEnt model_ent) [virtual]

Removes a ModelEnt from this operation's MEntSelection.

Parameters:
model_entModelEnt being removed
Returns:
Returns true if model_ent was in the map and was actually removed, false if model_ent wasn't in the map

Definition at line 100 of file MeshOp.cpp.

void setup_boundary ( )

Check that bounding entities have an assigned MeshOp, and create them for ones that don't.

Uses default MeshOp for a given dimension from MeshOpFactory. If there isn't a registered MeshOp for the dimension requested, this function throws an exception with mode MK_MESHOP_NOT_FOUND.

Definition at line 26 of file MeshOp.cpp.


Member Data Documentation

MEntSelection that stores what this operation generated or otherwise worked on.

Definition at line 105 of file MeshOp.hpp.


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