|
MeshKit
1.0
|
Generate the mesh for edges. More...
#include <EdgeMesher.hpp>

Classes | |
| struct | Point3D |
Public Types | |
| enum | EdgeSchemeType { EQUAL = 0, BIAS, DUAL, CURVATURE, VARIABLE, EQUIGNOMONIC } |
Public Member Functions | |
| EdgeMesher (MKCore *mk_core, const MEntVector &me_vec) | |
| 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. | |
| EdgeSchemeType | get_edge_scheme () const |
| void | set_edge_scheme (EdgeSchemeType scheme) |
| void | set_ratio (double q) |
| double | get_ratio () |
| ~EdgeMesher () | |
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 | |
| Point3D | getXYZCoords (ModelEnt *ent, double u) const |
| double | getUCoord (ModelEnt *ent, double ustart, double dist, double uguess, double umin, double umax) const |
| void | DivideIntoMore (ModelEnt *ent, Point3D p0, Point3D pMid, Point3D p1, double u0, double u1, double uMid, int &index, vector< double > &nodes, vector< double > &URecord) |
| bool | ErrorCalculate (ModelEnt *ent, Point3D p0, Point3D p1, Point3D pMid) |
| void | RapidSorting (vector< double > &nodes, vector< double > &URecord, int left, int right) |
| void | QuickSorting (vector< double > &nodes, vector< double > &URecord, int count) |
| void | EqualMeshing (ModelEnt *ent, int num_edges, std::vector< double > &coords) |
| void | BiasMeshing (ModelEnt *ent, int num_edges, std::vector< double > &coords) |
| void | DualBiasMeshing (ModelEnt *ent, int &num_edges, std::vector< double > &coords) |
| void | CurvatureMeshing (ModelEnt *ent, int &num_edges, std::vector< double > &coords) |
| void | VariableMeshing (ModelEnt *ent, int &num_edges, std::vector< double > &coords) |
| void | EquiAngleGnomonic (ModelEnt *ent, int num_edges, std::vector< double > &coords) |
Private Attributes | |
| EdgeSchemeType | schemeType |
| double | ratio |
Generate the mesh for edges.
EdgeMesher generates a mesh for edges, creating the nodes and line segments on edges. There are four schemes for edge mesher: equal meshing, Bias Meshing Dual Bias Meshing, Curvature-Based Meshing
Definition at line 41 of file EdgeMesher.hpp.
| enum EdgeSchemeType |
Definition at line 45 of file EdgeMesher.hpp.
| EdgeMesher | ( | MKCore * | mk_core, |
| const MEntVector & | me_vec | ||
| ) |
Definition at line 22 of file EdgeMesher.cpp.
| ~EdgeMesher | ( | ) |
Definition at line 252 of file EdgeMesher.cpp.
| void BiasMeshing | ( | ModelEnt * | ent, |
| int | num_edges, | ||
| std::vector< double > & | coords | ||
| ) | [private] |
Definition at line 458 of file EdgeMesher.cpp.
| 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 66 of file EdgeMesher.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 75 of file EdgeMesher.hpp.
| void CurvatureMeshing | ( | ModelEnt * | ent, |
| int & | num_edges, | ||
| std::vector< double > & | coords | ||
| ) | [private] |
Definition at line 289 of file EdgeMesher.cpp.
| void DivideIntoMore | ( | ModelEnt * | ent, |
| Point3D | p0, | ||
| Point3D | pMid, | ||
| Point3D | p1, | ||
| double | u0, | ||
| double | u1, | ||
| double | uMid, | ||
| int & | index, | ||
| vector< double > & | nodes, | ||
| vector< double > & | URecord | ||
| ) | [private] |
Definition at line 493 of file EdgeMesher.cpp.
| void DualBiasMeshing | ( | ModelEnt * | ent, |
| int & | num_edges, | ||
| std::vector< double > & | coords | ||
| ) | [private] |
Definition at line 397 of file EdgeMesher.cpp.
| void EqualMeshing | ( | ModelEnt * | ent, |
| int | num_edges, | ||
| std::vector< double > & | coords | ||
| ) | [private] |
Definition at line 259 of file EdgeMesher.cpp.
| void EquiAngleGnomonic | ( | ModelEnt * | ent, |
| int | num_edges, | ||
| std::vector< double > & | coords | ||
| ) | [private] |
Definition at line 724 of file EdgeMesher.cpp.
| bool ErrorCalculate | ( | ModelEnt * | ent, |
| Point3D | p0, | ||
| Point3D | p1, | ||
| Point3D | pMid | ||
| ) | [private] |
Definition at line 884 of file EdgeMesher.cpp.
| void execute_this | ( | ) | [virtual] |
Pure virtual, derived class must define.
Implements GraphNode.
Definition at line 133 of file EdgeMesher.cpp.
| EdgeMesher::EdgeSchemeType get_edge_scheme | ( | ) | const [inline] |
Definition at line 158 of file EdgeMesher.hpp.
| double get_ratio | ( | ) | [inline] |
Definition at line 170 of file EdgeMesher.hpp.
| double getUCoord | ( | ModelEnt * | ent, |
| double | ustart, | ||
| double | dist, | ||
| double | uguess, | ||
| double | umin, | ||
| double | umax | ||
| ) | const [private] |
Definition at line 836 of file EdgeMesher.cpp.
| EdgeMesher::Point3D getXYZCoords | ( | ModelEnt * | ent, |
| double | u | ||
| ) | const [private] |
Definition at line 818 of file EdgeMesher.cpp.
| 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 87 of file EdgeMesher.hpp.
| static const char* name | ( | ) | [inline, static] |
Get class name.
Definition at line 59 of file EdgeMesher.hpp.
| const moab::EntityType * output_types | ( | ) | [static] |
Get list of mesh entity types that can be generated.
moab::MBMAXTYPE Definition at line 17 of file EdgeMesher.cpp.
| void QuickSorting | ( | vector< double > & | nodes, |
| vector< double > & | URecord, | ||
| int | count | ||
| ) | [private] |
Definition at line 810 of file EdgeMesher.cpp.
| void RapidSorting | ( | vector< double > & | nodes, |
| vector< double > & | URecord, | ||
| int | left, | ||
| int | right | ||
| ) | [private] |
Definition at line 758 of file EdgeMesher.cpp.
| void set_edge_scheme | ( | EdgeMesher::EdgeSchemeType | scheme | ) | [inline] |
Definition at line 152 of file EdgeMesher.hpp.
| void set_ratio | ( | double | q | ) | [inline] |
Definition at line 164 of file EdgeMesher.hpp.
| void setup_this | ( | ) | [virtual] |
Pure virtual, derived class must define.
Implements GraphNode.
Definition at line 53 of file EdgeMesher.cpp.
| void VariableMeshing | ( | ModelEnt * | ent, |
| int & | num_edges, | ||
| std::vector< double > & | coords | ||
| ) | [private] |
Definition at line 553 of file EdgeMesher.cpp.
double ratio [private] |
Definition at line 109 of file EdgeMesher.hpp.
EdgeSchemeType schemeType [private] |
Definition at line 108 of file EdgeMesher.hpp.