MeshKit
1.0
|
#include <ProjectShell.hpp>
Classes | |
struct | Edge |
struct | FinalTriangle |
struct | Node |
struct | Triangle2D |
struct | Triangle3D |
Public Member Functions | |
ProjectShell (MKCore *mk_core, const MEntVector &me_vec=MEntVector()) | |
void | mesh_types (std::vector< moab::EntityType > &tps) |
Return what types of mesh entities this algorithm generates; pure virtual so every scheme must define them. | |
virtual void | setup_this () |
Pure virtual, derived class must define. | |
virtual void | execute_this () |
Pure virtual, derived class must define. | |
virtual | ~ProjectShell () |
Vector< 3 > & | direction () |
bool & | dbg () |
Private Member Functions | |
int | getMesh () |
int | getShellMesh () |
int | checkMeshValidity () |
int | projectIn2D () |
int | commitMesh () |
int | commitProjectedMesh () |
int | computeIntersections () |
int | getEdge (Node &v1, Node &v2, int &edgeId, Edge *edgesArr, int sizeArr) |
int | computeIntersectionBetweenRedAndBlue (int red, int blue, double *opPoints, int &oNPoints, double &area, int *opSides) |
int | findNodes (int red, int blue, double *iP, int nP) |
int | edgeIntersections (double *red, double *blue, int mark[3], double *points, int &nPoints) |
double | area2D (Vector< 2 > a, Vector< 2 > b, Vector< 2 > c) |
Private Attributes | |
Vector< 3 > | m_direction |
Vector< 3 > | m_dirX |
Vector< 3 > | m_dirY |
int | m_numNodes |
int | m_numTriangles |
double * | m_xyz |
int * | m_triangles |
Edge * | ps_edges |
int | m_numEdges |
Node * | ps_nodes |
Triangle3D * | ps_triangles |
double * | m_xy |
Triangle2D * | m_redMesh |
Triangle2D * | m_blueMesh |
std::vector< FinalTriangle > | m_finalMesh |
int | m_numCurrentNodes |
int | m_numFinalTriangles |
int | m_numPos |
int | m_numNeg |
int | m_num2dPoints |
int | m_2dcapacity |
bool | m_dbg |
std::ofstream | m_dbg_out |
Definition at line 35 of file ProjectShell.hpp.
ProjectShell | ( | MKCore * | mk_core, |
const MEntVector & | me_vec = MEntVector() |
||
) |
Definition at line 46 of file ProjectShell.cpp.
~ProjectShell | ( | ) | [virtual] |
Definition at line 135 of file ProjectShell.cpp.
Definition at line 125 of file ProjectShell.hpp.
int checkMeshValidity | ( | ) | [private] |
Definition at line 324 of file ProjectShell.cpp.
int commitMesh | ( | ) | [inline, private] |
Definition at line 108 of file ProjectShell.hpp.
int commitProjectedMesh | ( | ) | [private] |
int computeIntersectionBetweenRedAndBlue | ( | int | red, |
int | blue, | ||
double * | opPoints, | ||
int & | oNPoints, | ||
double & | area, | ||
int * | opSides | ||
) | [private] |
Definition at line 972 of file ProjectShell.cpp.
int computeIntersections | ( | ) | [private] |
Definition at line 628 of file ProjectShell.cpp.
bool& dbg | ( | ) | [inline] |
Definition at line 55 of file ProjectShell.hpp.
Definition at line 54 of file ProjectShell.hpp.
int edgeIntersections | ( | double * | red, |
double * | blue, | ||
int | mark[3], | ||
double * | points, | ||
int & | nPoints | ||
) | [private] |
void execute_this | ( | ) | [virtual] |
Pure virtual, derived class must define.
Implements GraphNode.
Definition at line 83 of file ProjectShell.cpp.
int findNodes | ( | int | red, |
int | blue, | ||
double * | iP, | ||
int | nP | ||
) | [private] |
Definition at line 1056 of file ProjectShell.cpp.
int getEdge | ( | ProjectShell::Node & | v1, |
ProjectShell::Node & | v2, | ||
int & | edgeId, | ||
ProjectShell::Edge * | edgesArr, | ||
int | sizeArr | ||
) | [private] |
Definition at line 107 of file ProjectShell.cpp.
int getMesh | ( | ) | [inline, private] |
Definition at line 104 of file ProjectShell.hpp.
int getShellMesh | ( | ) | [private] |
void mesh_types | ( | std::vector< moab::EntityType > & | mesh_types | ) |
Return what types of mesh entities this algorithm generates; pure virtual so every scheme must define them.
mesh_types | Types handled by this meshop |
Reimplemented from MeshOp.
Definition at line 67 of file ProjectShell.cpp.
int projectIn2D | ( | ) | [private] |
Definition at line 370 of file ProjectShell.cpp.
void setup_this | ( | ) | [virtual] |
Pure virtual, derived class must define.
Implements GraphNode.
Definition at line 76 of file ProjectShell.cpp.
int m_2dcapacity [private] |
Definition at line 155 of file ProjectShell.hpp.
Triangle2D* m_blueMesh [private] |
Definition at line 149 of file ProjectShell.hpp.
bool m_dbg [private] |
Definition at line 157 of file ProjectShell.hpp.
std::ofstream m_dbg_out [private] |
Definition at line 158 of file ProjectShell.hpp.
Vector<3> m_direction [private] |
Definition at line 133 of file ProjectShell.hpp.
Definition at line 134 of file ProjectShell.hpp.
Definition at line 135 of file ProjectShell.hpp.
std::vector<FinalTriangle> m_finalMesh [private] |
Definition at line 150 of file ProjectShell.hpp.
int m_num2dPoints [private] |
Definition at line 154 of file ProjectShell.hpp.
int m_numCurrentNodes [private] |
Definition at line 151 of file ProjectShell.hpp.
int m_numEdges [private] |
Definition at line 143 of file ProjectShell.hpp.
int m_numFinalTriangles [private] |
Definition at line 152 of file ProjectShell.hpp.
int m_numNeg [private] |
Definition at line 153 of file ProjectShell.hpp.
int m_numNodes [private] |
Definition at line 137 of file ProjectShell.hpp.
int m_numPos [private] |
Definition at line 153 of file ProjectShell.hpp.
int m_numTriangles [private] |
Definition at line 138 of file ProjectShell.hpp.
Triangle2D* m_redMesh [private] |
Definition at line 148 of file ProjectShell.hpp.
int* m_triangles [private] |
Definition at line 140 of file ProjectShell.hpp.
double* m_xy [private] |
Definition at line 147 of file ProjectShell.hpp.
double* m_xyz [private] |
Definition at line 139 of file ProjectShell.hpp.
Definition at line 142 of file ProjectShell.hpp.
Definition at line 144 of file ProjectShell.hpp.
Triangle3D* ps_triangles [private] |
Definition at line 145 of file ProjectShell.hpp.