MeshKit  1.0
OneToOneSwept Class Reference

Generate the all-hexahedral mesh by sweeping. More...

#include <OneToOneSwept.hpp>

Inheritance diagram for OneToOneSwept:

List of all members.

Public Member Functions

 OneToOneSwept (MKCore *mk_core, const MEntVector &me_vec)
 ~OneToOneSwept ()
virtual void setup_this ()
 Pure virtual, derived class must define.
virtual void execute_this ()
 Pure virtual, derived class must define.
virtual const moab::EntityType * mesh_types_arr () const
 Return the mesh entity types operated on by this scheme.
void SetSourceSurface (int index)
void SetTargetSurface (int index)

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

bool isConcave ()
void BuildLateralBoundaryLayers (ModelEnt *me, std::vector< moab::EntityHandle > &layers)
moab::ErrorCode NodeAbove (moab::EntityHandle node1, moab::EntityHandle node2, moab::Range &quadsOnLateralSurfaces, moab::EntityHandle &node3, moab::EntityHandle &node4)
moab::ErrorCode FourthNodeInQuad (moab::EntityHandle node1, moab::EntityHandle node2, moab::EntityHandle node3, moab::Range &quadsOnLateralSurfaces, moab::EntityHandle &node4)
int TargetSurfProjection (std::vector< moab::EntityHandle > &boundLayers)
int ProjectInteriorLayers (std::vector< moab::EntityHandle > &boundLayers, vector< vector< Vertex > > &linkVertexList)
int CreateElements (vector< vector< Vertex > > &linkVertexList)
void computeTransformationFromSourceToTarget (std::vector< Vector3D > &sNodes, Vector3D &sc, std::vector< Vector3D > &tNodes, Vector3D &tc, Matrix3D &transMatrix)

Private Attributes

iBase_EntityHandle sourceSurface
iBase_EntityHandle targetSurface
iBase_EntityHandle volume
moab::Interface * mb
int numLayers
int numLoops
int sizeBLayer
iGeomigeom_inst
int index_src
int index_tar
iBase_TagHandle geom_id_tag
std::vector< VertexNodeList
std::vector< VertexTVertexList
std::vector< FaceFaceList
iBase_EntitySetHandle volumeSet
std::set< moab::EntityHandle > markedMoabEnts

Detailed Description

Generate the all-hexahedral mesh by sweeping.

OneToOneSwept generates the all-hexahedral mesh by sweeping the source mesh to the target surface

Examples:
example_basic.cpp, example_onetooneswept.cpp, and example_volice.cpp.

Definition at line 49 of file OneToOneSwept.hpp.


Constructor & Destructor Documentation

OneToOneSwept ( MKCore mk_core,
const MEntVector me_vec 
)

Definition at line 32 of file OneToOneSwept.cpp.

Definition at line 39 of file OneToOneSwept.cpp.


Member Function Documentation

void BuildLateralBoundaryLayers ( ModelEnt me,
std::vector< moab::EntityHandle > &  layers 
) [private]

Definition at line 229 of file OneToOneSwept.cpp.

static 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 68 of file OneToOneSwept.hpp.

static 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 79 of file OneToOneSwept.hpp.

void computeTransformationFromSourceToTarget ( std::vector< Vector3D > &  sNodes,
Vector3D sc,
std::vector< Vector3D > &  tNodes,
Vector3D tc,
Matrix3D transMatrix 
) [private]

Definition at line 823 of file OneToOneSwept.cpp.

int CreateElements ( vector< vector< Vertex > > &  linkVertexList) [private]

Definition at line 966 of file OneToOneSwept.cpp.

void execute_this ( ) [virtual]

Pure virtual, derived class must define.

Implements GraphNode.

Definition at line 189 of file OneToOneSwept.cpp.

moab::ErrorCode FourthNodeInQuad ( moab::EntityHandle  node1,
moab::EntityHandle  node2,
moab::EntityHandle  node3,
moab::Range &  quadsOnLateralSurfaces,
moab::EntityHandle &  node4 
) [private]

Definition at line 493 of file OneToOneSwept.cpp.

bool isConcave ( ) [private]

Definition at line 563 of file OneToOneSwept.cpp.

virtual 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 92 of file OneToOneSwept.hpp.

static const char* name ( ) [inline, static]

Get class name.

Definition at line 59 of file OneToOneSwept.hpp.

moab::ErrorCode NodeAbove ( moab::EntityHandle  node1,
moab::EntityHandle  node2,
moab::Range &  quadsOnLateralSurfaces,
moab::EntityHandle &  node3,
moab::EntityHandle &  node4 
) [private]

Definition at line 440 of file OneToOneSwept.cpp.

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 25 of file OneToOneSwept.cpp.

int ProjectInteriorLayers ( std::vector< moab::EntityHandle > &  boundLayers,
vector< vector< Vertex > > &  linkVertexList 
) [private]

Definition at line 856 of file OneToOneSwept.cpp.

void SetSourceSurface ( int  index)
void SetTargetSurface ( int  index)
void setup_this ( ) [virtual]

Pure virtual, derived class must define.

Implements GraphNode.

Definition at line 60 of file OneToOneSwept.cpp.

int TargetSurfProjection ( std::vector< moab::EntityHandle > &  boundLayers) [private]

Definition at line 610 of file OneToOneSwept.cpp.


Member Data Documentation

std::vector<Face> FaceList [private]

Definition at line 155 of file OneToOneSwept.hpp.

iBase_TagHandle geom_id_tag [private]

Definition at line 150 of file OneToOneSwept.hpp.

iGeom* igeom_inst [private]

Definition at line 148 of file OneToOneSwept.hpp.

int index_src [private]

Definition at line 149 of file OneToOneSwept.hpp.

int index_tar [private]

Definition at line 149 of file OneToOneSwept.hpp.

std::set<moab::EntityHandle> markedMoabEnts [private]

Definition at line 158 of file OneToOneSwept.hpp.

moab::Interface* mb [private]

Definition at line 144 of file OneToOneSwept.hpp.

std::vector<Vertex> NodeList [private]

Definition at line 152 of file OneToOneSwept.hpp.

int numLayers [private]

Definition at line 145 of file OneToOneSwept.hpp.

int numLoops [private]

Definition at line 146 of file OneToOneSwept.hpp.

int sizeBLayer [private]

Definition at line 147 of file OneToOneSwept.hpp.

iBase_EntityHandle sourceSurface [private]

Definition at line 141 of file OneToOneSwept.hpp.

iBase_EntityHandle targetSurface [private]

Definition at line 142 of file OneToOneSwept.hpp.

std::vector<Vertex> TVertexList [private]

Definition at line 153 of file OneToOneSwept.hpp.

iBase_EntityHandle volume [private]

Definition at line 143 of file OneToOneSwept.hpp.

iBase_EntitySetHandle volumeSet [private]

Definition at line 156 of file OneToOneSwept.hpp.


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