template <class T, int N>
class vtb::geometry::Polygon
Base classes
  • public std::vector< Vertex< T, N > >
Types
  • using triangle_array = std::vector< Triangle< T, N > >
  • using const_reverse_iterator = typename base_type::const_reverse_iterator
  • using reverse_iterator = typename base_type::reverse_iterator
  • using difference_type = typename base_type::difference_type
  • using size_type = typename base_type::size_type
  • using const_iterator = typename base_type::const_iterator
  • using iterator = typename base_type::iterator
  • using const_reference = typename base_type::const_reference
  • using reference = typename base_type::reference
  • using const_pointer = typename base_type::const_pointer
  • using pointer = typename base_type::pointer
  • using value_type = typename base_type::value_type
  • using scalar_type = T
Fields
  • constexpr const int dimensions
Methods
  • triangles() const -> auto
  • plane() const -> vtb::geometry::Plane< T, 3 >
  • gnuplot(std::ostream & out) const -> void
  • gift_wrap(scalar_type eps, size_type count) -> void
  • simplify(T eps) -> void
  • triangles() const -> triangle_array

    Uses ear-clipping triangulation.

    Date
    2019-04-09
    Author
    Ivan Gankevich
    See
    https://www.geometrictools.com/Documentation/TriangulationByEarClipping.pdf
  • triangle_fan() const -> triangle_array
  • triangle_fan(triangle_array & triangles) const -> void
  • degenerate(scalar_type eps) const -> bool
  • polyline() const -> Polyline< T, N >
  • plane() const -> Plane< T, N >
  • flip() -> void
  • find(const value_type & vertex) const -> size_t
  • make_closed() -> void
  • closed() const -> bool
template <class T, int N>
struct vtb::geometry::is_figure< Polygon< T, N > >
Base classes
  • public true_type
template <class T>
centroid(const Polygon< T, 2 > & p) -> Vertex< T, 2 >