| 53 | \*---------------------------------------------------------------------------*/ |
| 54 | |
| 55 | class triangleFuncs |
| 56 | { |
| 57 | |
| 58 | public: |
| 59 | |
| 60 | // Public data types |
| 61 | |
| 62 | //- Enumeration defining nearness classification |
| 63 | enum proxType |
| 64 | { |
| 65 | NONE, |
| 66 | POINT, |
| 67 | EDGE |
| 68 | }; |
| 69 | |
| 70 | |
| 71 | private: |
| 72 | |
| 73 | // Private Member Functions |
| 74 | |
| 75 | //- Helper function for intersect. Sets pt to be anywhere on the edge |
| 76 | // between oppositeSidePt and thisSidePt depending on both signs. |
| 77 | static void setIntersection |
| 78 | ( |
| 79 | const point& oppositeSidePt, |
| 80 | const scalar oppositeSign, |
| 81 | const point& thisSidePt, |
| 82 | const scalar thisSign, |
| 83 | const scalar tol, |
| 84 | point& pt |
| 85 | ); |
| 86 | |
| 87 | //- Helper function. |
| 88 | static void selectPt |
| 89 | ( |
| 90 | const bool select0, |
| 91 | const point& p0, |
| 92 | const point& p1, |
| 93 | point& min |
| 94 | ); |
| 95 | |
| 96 | public: |
| 97 | |
| 98 | //- Intersect triangle with parallel edges aligned with axis i0. |
| 99 | // Returns true (and intersection in pInter) if any of them intersects |
| 100 | // triangle. Used in intersectBb. |
| 101 | static bool intersectAxesBundle |
| 102 | ( |
| 103 | const point& V0, |
| 104 | const point& V10, |
| 105 | const point& V20, |
| 106 | const label i0, |
| 107 | const pointField& origin, |
| 108 | const scalar maxLength, |
| 109 | point& pInter |
| 110 | ); |
| 111 | |
| 112 | //- Does triangle intersect bounding box. |
no outgoing calls
no test coverage detected