|
| constexpr double | area2D (const Vec3fList &vertices) noexcept |
| | Computes the area of a list of vertices via shoelace formula.
|
| |
| constexpr Winding | get2DWinding (const Vec3f &a, const Vec3f &b, const Vec3f &c) noexcept |
| | Compute the winding of the 3 given points.
|
| |
| constexpr Winding | getArea2DWinding (const Vec3fList &vertices) noexcept |
| | Compute the winding using the area2D() function over all vertices for complex shapes.
|
| |
| constexpr double | inCircle2DVal (const Vec3f &a, const Vec3f &b, const Vec3f &c, const Vec3f &d) noexcept |
| |
| constexpr bool | is2DCCW (const Vec3f &a, const Vec3f &b, const Vec3f &c) noexcept |
| | Check if points are in ccw order.
|
| |
| constexpr bool | isInCircle2D (const Vec3f &a, const Vec3f &b, const Vec3f &c, const Vec3f &d) noexcept |
| | Check if vertices in triangle circumcircle given d vertex, from paper by Guibas and Stolfi (1985).
|
| |
| constexpr bool | isInTriangle3 (const Vec3f &a, const Vec3f &b, const Vec3f &c, const Vec3f &p1, const Vec3f &p2, const Vec3f &p3) noexcept |
| | Check if one of three vertices are in triangle using barycentric coordinates computation.
|
| |
| | JAU_MAKE_ENUM_STRING (orientation_t, COL, CW, CCW) |
| |
| | JAU_MAKE_ENUM_STRING (Winding, CW, CCW) |
| |
| constexpr Vec3f | midpoint (const Vec3f &a, const Vec3f &b) noexcept |
| |
| constexpr orientation_t | orientation (const Point2f &a, const Point2f &b, const Point2f &c) noexcept |
| | Return the orientation of the given point triplet a, b and c using triArea()
|
| |
| constexpr double | sqlend (double x, double y) noexcept |
| |
| constexpr bool | testSeg2SegIntersection2D (const Vec3f &p, const Vec3f &p2, const Vec3f &q, const Vec3f &q2) noexcept |
| | 2D line segment intersection test w/o considering collinear-case
|
| |
| constexpr bool | testSeg2SegIntersection2D (Vec2f *result, const Vec2f &p, const Vec2f &p2, const Vec2f &q, const Vec2f &q2, const bool do_collinear=false) noexcept |
| | See p + t r = q + u s and its terse C# implementation
|
| |
| constexpr bool | testTri2SegIntersection2D (const Vec3f &a, const Vec3f &b, const Vec3f &c, const Vec3f &d, const Vec3f &e) |
| | Check if a segment intersects with a triangle using FloatUtil#EPSILON w/o considering collinear-case.
|
| |
| constexpr double | tri_area (const Point2f &a, const Point2f &b, const Point2f &c) |
| | Computes oriented double area of a triangle, i.e.
|
| |
| constexpr double | triArea (double ax, double ay, double bx, double by, double cx, double cy) noexcept |
| |
| constexpr double | triArea (float ax, float ay, float bx, float by, float cx, float cy) noexcept |
| |
| constexpr double | triArea2D (const Vec3f &a, const Vec3f &b, const Vec3f &c) noexcept |
| | Computes oriented double area of a triangle, i.e.
|
| |