|
Gamp v0.0.7-54-gccdc599
Gamp: Graphics, Audio, Multimedia and Processing
|
Gamp Graph Implementation Detail. More...
Classes | |
| class | gamp::graph::tess::impl::CDTriangulator2D |
| Constrained Delaunay Triangulation implementation of a list of Outlines that define a set of Closed Regions with optional n holes. More... | |
| class | gamp::graph::tess::impl::GraphOutline |
| class | gamp::graph::tess::impl::GraphVertex |
| class | gamp::graph::tess::impl::HEdge |
| class | gamp::graph::tess::impl::Loop |
Typedefs | |
| typedef std::shared_ptr< GraphOutline > | gamp::graph::tess::impl::GraphOutlineRef |
| typedef jau::darray< GraphOutlineRef, uint32_t > | gamp::graph::tess::impl::GraphOutlineRefList |
| typedef std::shared_ptr< GraphVertex > | gamp::graph::tess::impl::GraphVertexRef |
| typedef std::vector< GraphVertexRef > | gamp::graph::tess::impl::GraphVertexRefList |
| typedef HEdge * | gamp::graph::tess::impl::HEdgePtr |
| <Unique HEdge reference (pointer) w/ ownership, help at caller site | |
| typedef std::vector< HEdgePtr > | gamp::graph::tess::impl::HEdgePtrList |
| <Plain naked HEdge pointer w/o ownership for simplification and efficiency | |
| typedef std::unique_ptr< HEdge > | gamp::graph::tess::impl::HEdgeRef |
| typedef std::shared_ptr< Loop > | gamp::graph::tess::impl::LoopRef |
| typedef std::vector< LoopRef > | gamp::graph::tess::impl::LoopRefList |
Functions | |
| constexpr double | gamp::graph::impl::area2D (const VertexList &vertices) noexcept |
| Computes the area of a list of vertices via shoelace formula. | |
| constexpr Winding | gamp::graph::impl::getWinding (const VertexList &vertices) noexcept |
| Compute the winding using the area2D() function over all vertices for complex shapes. | |
| static constexpr bool | gamp::graph::impl::isConvex1 (const VertexList &polyline, bool shortIsConvex) noexcept |
Returns whether the given on-curve polyline points denotes a convex shape with O(n) complexity. | |
| constexpr bool | gamp::graph::impl::testTri2SegIntersection2D (const Vertex &a, const Vertex &b, const Vertex &c, const Vertex &d, const Vertex &e) |
Check if a segment intersects with a triangle using FloatUtil#EPSILON w/o considering collinear-case. | |
| bool | gamp::graph::tess::impl::HEdge::vertexOnCurveVertex () const noexcept |
Gamp Graph Implementation Detail.
| typedef std::shared_ptr<GraphOutline> gamp::graph::tess::impl::GraphOutlineRef |
Definition at line 38 of file GraphOutline.hpp.
| typedef jau::darray<GraphOutlineRef, uint32_t> gamp::graph::tess::impl::GraphOutlineRefList |
Definition at line 39 of file GraphOutline.hpp.
| typedef std::shared_ptr<GraphVertex> gamp::graph::tess::impl::GraphVertexRef |
| typedef std::vector<GraphVertexRef> gamp::graph::tess::impl::GraphVertexRefList |
| typedef std::unique_ptr<HEdge> gamp::graph::tess::impl::HEdgeRef |
| typedef HEdge* gamp::graph::tess::impl::HEdgePtr |
| typedef std::vector<HEdgePtr> gamp::graph::tess::impl::HEdgePtrList |
| typedef std::shared_ptr<Loop> gamp::graph::tess::impl::LoopRef |
| typedef std::vector<LoopRef> gamp::graph::tess::impl::LoopRefList |
|
constexprnoexcept |
Computes the area of a list of vertices via shoelace formula.
This method is utilized e.g. to reliably compute the Winding of complex shapes.
Implementation uses double precision.
| vertices |
Definition at line 50 of file VertexMath.hpp.
|
constexprnoexcept |
Compute the winding using the area2D() function over all vertices for complex shapes.
Uses the area(List) function over all points on complex shapes for a reliable result!
Implementation uses double precision.
| vertices | array of Vertices |
Definition at line 73 of file VertexMath.hpp.
|
staticconstexprnoexcept |
Returns whether the given on-curve polyline points denotes a convex shape with O(n) complexity.
See Determine whether a polygon is convex based on its vertices
All off-curve points are ignored.
| polyline | connected Vert2fImmutable, i.e. a poly-line |
| shortIsConvex | return value if vertices have less than three elements, allows simplification |
Definition at line 88 of file VertexMath.hpp.
|
constexpr |
Check if a segment intersects with a triangle using FloatUtil#EPSILON w/o considering collinear-case.
Implementation uses float precision.
| a | vertex 1 of the triangle |
| b | vertex 2 of the triangle |
| c | vertex 3 of the triangle |
| d | vertex 1 of first segment |
| e | vertex 2 of first segment |
Definition at line 232 of file VertexMath.hpp.
|
inlinenoexcept |