MeshKit
1.0
|
Generate the structural mesh for linking surface. More...
#include <SubMapping.hpp>
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< VertexTypes > | vertices_types |
vector< Vertex > | nodes |
vector< Vertex > | vertices |
vector< Edge > | edges |
vector< double > | interior_angle |
vector< int > | sorted_vertex_list |
vector< int > | sorted_node_list |
vector< int > | sorted_edge_list |
vector< EdgeTypes > | edges_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< Face > | quads |
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.
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.
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.
dim | entity dimension |
Definition at line 72 of file SubMapping.hpp.
Function returning whether this scheme can mesh the specified entity.
Used by MeshOpFactory to find scheme for an entity.
me | ModelEnt being queried |
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.
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.
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.
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.
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.
Definition at line 139 of file SubMapping.hpp.
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.
Definition at line 139 of file SubMapping.hpp.
vector<VertexTypes> vertices_types [private] |
Definition at line 138 of file SubMapping.hpp.