MeshKit  1.0
TFIMapping Class Reference

Generate the all-Quad mesh by TFI mapping. More...

#include <TFIMapping.hpp>

Inheritance diagram for TFIMapping:

List of all members.

Public Member Functions

 TFIMapping (MKCore *mk_core, const MEntVector &me_vec)
 ~TFIMapping ()
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 skip_improve ()

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 parametricTFI3D (double *pts, double r, double s, double pt_0s[3], double pt_1s[3], double pt_r0[3], double pt_r1[3])
int SurfMapping (ModelEnt *ent)
void computeTransformation (Vector3D &A, Vector3D &B, Vector3D &C, Vector3D &D, Matrix3D &transMatrix)
void SurfImprove (iBase_EntityHandle surface, iBase_EntitySetHandle surfMesh, iBase_EntityType entity_type)
void SmoothWinslow (std::vector< iBase_EntityHandle > &List_i, std::vector< iBase_EntityHandle > &List_ii, std::vector< iBase_EntityHandle > &List_j, std::vector< iBase_EntityHandle > &List_jj, std::vector< iBase_EntityHandle > &InteriorNodes, std::vector< iBase_EntityHandle > &quads, iBase_TagHandle &taghandle, ModelEnt *ent)

Private Attributes

bool _shapeImprove

Detailed Description

Generate the all-Quad mesh by TFI mapping.

TFIMapping generates the all-quad mesh by trans-finite interpolation with i, j parameters

Examples:
example_basic.cpp, example_intassign.cpp, and example_tfimapping.cpp.

Definition at line 46 of file TFIMapping.hpp.


Constructor & Destructor Documentation

TFIMapping ( MKCore mk_core,
const MEntVector me_vec 
)

Definition at line 31 of file TFIMapping.cpp.

~TFIMapping ( )

Definition at line 40 of file TFIMapping.cpp.


Member Function Documentation

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 65 of file TFIMapping.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 76 of file TFIMapping.hpp.

void computeTransformation ( Vector3D A,
Vector3D B,
Vector3D C,
Vector3D D,
Matrix3D transMatrix 
) [private]

Definition at line 492 of file TFIMapping.cpp.

void execute_this ( ) [virtual]

Pure virtual, derived class must define.

Implements GraphNode.

Definition at line 149 of file TFIMapping.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 89 of file TFIMapping.hpp.

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

Get class name.

Definition at line 56 of file TFIMapping.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 24 of file TFIMapping.cpp.

void parametricTFI3D ( double *  pts,
double  r,
double  s,
double  pt_0s[3],
double  pt_1s[3],
double  pt_r0[3],
double  pt_r1[3] 
) [private]
void setup_this ( ) [virtual]

Pure virtual, derived class must define.

Implements GraphNode.

Definition at line 47 of file TFIMapping.cpp.

void skip_improve ( ) [inline]

Definition at line 93 of file TFIMapping.hpp.

void SmoothWinslow ( std::vector< iBase_EntityHandle > &  List_i,
std::vector< iBase_EntityHandle > &  List_ii,
std::vector< iBase_EntityHandle > &  List_j,
std::vector< iBase_EntityHandle > &  List_jj,
std::vector< iBase_EntityHandle > &  InteriorNodes,
std::vector< iBase_EntityHandle > &  quads,
iBase_TagHandle &  taghandle,
ModelEnt ent 
) [private]

Definition at line 532 of file TFIMapping.cpp.

void SurfImprove ( iBase_EntityHandle  surface,
iBase_EntitySetHandle  surfMesh,
iBase_EntityType  entity_type 
) [private]
int SurfMapping ( ModelEnt ent) [private]

Definition at line 178 of file TFIMapping.cpp.


Member Data Documentation

bool _shapeImprove [private]

Definition at line 100 of file TFIMapping.hpp.


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