MeshKit  1.0
ProjectShell Class Reference

#include <ProjectShell.hpp>

Inheritance diagram for ProjectShell:

List of all members.

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
Edgeps_edges
int m_numEdges
Nodeps_nodes
Triangle3Dps_triangles
double * m_xy
Triangle2Dm_redMesh
Triangle2Dm_blueMesh
std::vector< FinalTrianglem_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

Detailed Description

Definition at line 35 of file ProjectShell.hpp.


Constructor & Destructor Documentation

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.


Member Function Documentation

double area2D ( Vector< 2 >  a,
Vector< 2 >  b,
Vector< 2 >  c 
) [inline, private]

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.

Vector<3>& direction ( ) [inline]

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.

Parameters:
mesh_typesTypes 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.


Member Data Documentation

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.

Vector<3> m_dirX [private]

Definition at line 134 of file ProjectShell.hpp.

Vector<3> m_dirY [private]

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.

Edge* ps_edges [private]

Definition at line 142 of file ProjectShell.hpp.

Node* ps_nodes [private]

Definition at line 144 of file ProjectShell.hpp.

Definition at line 145 of file ProjectShell.hpp.


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