OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
|
#include <Mesher.h>
Public Member Functions | |
Mesher (std::vector< Vector_t > &vertices) | |
std::vector< mslang::Triangle > | getTriangles () const |
Private Member Functions | |
void | orientVerticesCCW () |
bool | isConvex (unsigned int i) const |
double | crossProduct (const Vector_t &a, const Vector_t &b) const |
bool | isPointOnLine (unsigned int i, unsigned int j, const Vector_t &pt) const |
bool | isPointRightOfLine (unsigned int i, unsigned int j, const Vector_t &pt) const |
bool | lineSegmentTouchesOrCrossesLine (unsigned int i, unsigned int j, unsigned int k, unsigned int l) const |
bool | isPotentialEdgeIntersected (unsigned int i) const |
double | dotProduct (unsigned int i, unsigned int j, const Vector_t &pt) const |
bool | isPointInsideCone (unsigned int i, unsigned int j, unsigned int jPlusOne, unsigned int jMinusOne) const |
bool | isEar (unsigned int i) const |
std::vector< unsigned int > | findAllEars () const |
double | computeMinimumAngle (unsigned int i) const |
unsigned int | selectBestEar (std::vector< unsigned int > &ears) const |
void | apply () |
Private Attributes | |
std::vector< mslang::Triangle > | triangles_m |
std::vector< Vector_t > | vertices_m |
Mesher::Mesher | ( | std::vector< Vector_t > & | vertices | ) |
Definition at line 3 of file Mesher.cpp.
References apply().
|
private |
Definition at line 219 of file Mesher.cpp.
References findAllEars(), mslang::Triangle::nodes_m, orientVerticesCCW(), selectBestEar(), triangles_m, and vertices_m.
Referenced by Mesher().
|
private |
Definition at line 182 of file Mesher.cpp.
References acos(), mslang::euclidean_norm2D(), min(), and vertices_m.
Referenced by selectBestEar().
Definition at line 44 of file Mesher.cpp.
References a.
Referenced by isPointOnLine(), and isPointRightOfLine().
|
private |
Definition at line 124 of file Mesher.cpp.
References vertices_m.
Referenced by isPointInsideCone().
|
private |
Definition at line 169 of file Mesher.cpp.
References isEar(), and vertices_m.
Referenced by apply().
std::vector< mslang::Triangle > Mesher::getTriangles | ( | ) | const |
Definition at line 9 of file Mesher.cpp.
References triangles_m.
Referenced by mslang::Polygon::triangulize().
|
private |
|
private |
Definition at line 150 of file Mesher.cpp.
References isConvex(), isPointInsideCone(), isPotentialEdgeIntersected(), and vertices_m.
Referenced by findAllEars().
|
private |
Definition at line 138 of file Mesher.cpp.
References dotProduct(), isPointRightOfLine(), and vertices_m.
Referenced by isEar().
|
private |
Definition at line 49 of file Mesher.cpp.
References abs(), crossProduct(), Physics::e, and vertices_m.
Referenced by lineSegmentTouchesOrCrossesLine().
|
private |
Definition at line 60 of file Mesher.cpp.
References crossProduct(), and vertices_m.
Referenced by isPointInsideCone(), and lineSegmentTouchesOrCrossesLine().
|
private |
Definition at line 79 of file Mesher.cpp.
References abs(), mslang::BoundingBox::center_m, mslang::BoundingBox::doesIntersect(), mslang::BoundingBox::height_m, lineSegmentTouchesOrCrossesLine(), vertices_m, and mslang::BoundingBox::width_m.
Referenced by isEar().
|
private |
Definition at line 69 of file Mesher.cpp.
References isPointOnLine(), isPointRightOfLine(), and vertices_m.
Referenced by isPotentialEdgeIntersected().
|
private |
Definition at line 13 of file Mesher.cpp.
References sum(), and vertices_m.
Referenced by apply().
|
private |
Definition at line 201 of file Mesher.cpp.
References computeMinimumAngle().
Referenced by apply().
|
private |
Definition at line 42 of file Mesher.h.
Referenced by apply(), and getTriangles().
|
private |
Definition at line 43 of file Mesher.h.
Referenced by apply(), computeMinimumAngle(), dotProduct(), findAllEars(), isConvex(), isEar(), isPointInsideCone(), isPointOnLine(), isPointRightOfLine(), isPotentialEdgeIntersected(), lineSegmentTouchesOrCrossesLine(), and orientVerticesCCW().