MeshKit  1.0
SubMapping Class Reference

Generate the structural mesh for linking surface. More...

#include <SubMapping.hpp>

Inheritance diagram for SubMapping:

List of all members.

Public Member Functions

 SubMapping (MKCore *mk_core, const MEntVector &me_vec)
 ~SubMapping ()
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 SetupMeshSize (double size=1.0)

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 VertexClassification (ModelEnt *ent)
void EdgeClassification ()
void EdgeDiscretization (ModelEnt *me)
void VerEdgOrganize (std::set< iBase_EntityHandle > edge_set, std::vector< iBase_EntityHandle > g_edge, iBase_EntityHandle surf)
void InteriorNodeInterpolation (ModelEnt *me)
void GetAngle (iBase_EntityHandle surf, vector< double > &angle)
void AssignIJCoords (double &u, double &v, EdgeTypes type, int index)
void VtxClassificationLP ()
bool isOutSideSurf (vector< Vertex > corner, int i, int j)
double Angle2D (double x1, double y1, double x2, double y2)
void MeshSmoothing (ModelEnt *ent)
void buildAssociation ()
bool isCurved (int vtx_index, vector< double > u1, vector< double > u2, vector< double > u3, vector< double > u4, vector< vector< double > > tang_pre, vector< vector< double > > tang_next)
void LinearProgramming ()

Private Attributes

vector< VertexTypesvertices_types
vector< Vertexnodes
vector< Vertexvertices
vector< Edgeedges
vector< double > interior_angle
vector< int > sorted_vertex_list
vector< int > sorted_node_list
vector< int > sorted_edge_list
vector< EdgeTypesedges_types
iBase_TagHandle g_taghandle
iBase_TagHandle m_taghandle
vector< vector< int > > coordinate_i_j
double size_low_bound
unsigned int start_index
vector< int > edge_size
map< int, int > geom_mesh_node
map< int, int > mesh_geom_vertex
vector< Facequads

Detailed Description

Generate the structural mesh for linking surface.

SubMapping generates the structural mesh 3 steps: vertex classification, assign each node on the bounary i-j coordinates subdivide the surface

Definition at line 53 of file SubMapping.hpp.


Constructor & Destructor Documentation

SubMapping ( MKCore mk_core,
const MEntVector me_vec 
)

Definition at line 35 of file SubMapping.cpp.

~SubMapping ( )

Definition at line 43 of file SubMapping.cpp.


Member Function Documentation

double Angle2D ( double  x1,
double  y1,
double  x2,
double  y2 
) [private]

Definition at line 1570 of file SubMapping.cpp.

void AssignIJCoords ( double &  u,
double &  v,
EdgeTypes  type,
int  index 
) [private]

Definition at line 1155 of file SubMapping.cpp.

void buildAssociation ( ) [private]
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 72 of file SubMapping.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 81 of file SubMapping.hpp.

void EdgeClassification ( ) [private]

Definition at line 581 of file SubMapping.cpp.

void EdgeDiscretization ( ModelEnt me) [private]

Definition at line 687 of file SubMapping.cpp.

void execute_this ( ) [virtual]

Pure virtual, derived class must define.

Implements GraphNode.

Definition at line 97 of file SubMapping.cpp.

void GetAngle ( iBase_EntityHandle  surf,
vector< double > &  angle 
) [private]

Definition at line 395 of file SubMapping.cpp.

void InteriorNodeInterpolation ( ModelEnt me) [private]

Definition at line 1179 of file SubMapping.cpp.

bool isCurved ( int  vtx_index,
vector< double >  u1,
vector< double >  u2,
vector< double >  u3,
vector< double >  u4,
vector< vector< double > >  tang_pre,
vector< vector< double > >  tang_next 
) [private]

Definition at line 468 of file SubMapping.cpp.

bool isOutSideSurf ( vector< Vertex corner,
int  i,
int  j 
) [private]

Definition at line 1544 of file SubMapping.cpp.

void LinearProgramming ( ) [private]
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 SubMapping.hpp.

void MeshSmoothing ( ModelEnt ent) [private]

Definition at line 1378 of file SubMapping.cpp.

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

Get class name.

Definition at line 65 of file SubMapping.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 30 of file SubMapping.cpp.

void setup_this ( ) [virtual]

Pure virtual, derived class must define.

Implements GraphNode.

Definition at line 50 of file SubMapping.cpp.

void SetupMeshSize ( double  size = 1.0)

Definition at line 147 of file SubMapping.cpp.

void VerEdgOrganize ( std::set< iBase_EntityHandle >  edge_set,
std::vector< iBase_EntityHandle >  g_edge,
iBase_EntityHandle  surf 
) [private]

Definition at line 516 of file SubMapping.cpp.

void VertexClassification ( ModelEnt ent) [private]

Definition at line 158 of file SubMapping.cpp.

void VtxClassificationLP ( ) [private]

Definition at line 273 of file SubMapping.cpp.


Member Data Documentation

vector<vector<int> > coordinate_i_j [private]

Definition at line 148 of file SubMapping.hpp.

vector<int> edge_size [private]

Definition at line 154 of file SubMapping.hpp.

vector<Edge> edges [private]

Definition at line 140 of file SubMapping.hpp.

vector<EdgeTypes> edges_types [private]

Definition at line 144 of file SubMapping.hpp.

iBase_TagHandle g_taghandle [private]

Definition at line 146 of file SubMapping.hpp.

map<int, int> geom_mesh_node [private]

Definition at line 155 of file SubMapping.hpp.

vector<double> interior_angle [private]

Definition at line 142 of file SubMapping.hpp.

iBase_TagHandle m_taghandle [private]

Definition at line 146 of file SubMapping.hpp.

map<int, int> mesh_geom_vertex [private]

Definition at line 156 of file SubMapping.hpp.

vector<Vertex> nodes [private]

Definition at line 139 of file SubMapping.hpp.

vector<Face> quads [private]

Definition at line 158 of file SubMapping.hpp.

double size_low_bound [private]

Definition at line 150 of file SubMapping.hpp.

vector<int> sorted_edge_list [private]

Definition at line 143 of file SubMapping.hpp.

vector<int> sorted_node_list [private]

Definition at line 143 of file SubMapping.hpp.

vector<int> sorted_vertex_list [private]

Definition at line 143 of file SubMapping.hpp.

unsigned int start_index [private]

Definition at line 152 of file SubMapping.hpp.

vector<Vertex> vertices [private]

Definition at line 139 of file SubMapping.hpp.

vector<VertexTypes> vertices_types [private]

Definition at line 138 of file SubMapping.hpp.


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