Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Dash_Spline Struct Reference

#include <eepicgeom.H>

Inheritance diagram for Dash_Spline:
[legend]
Collaboration diagram for Dash_Spline:
[legend]

Public Member Functions

 Dash_Spline ()
 
 Dash_Spline (const Polygon &p)
 
- Public Member Functions inherited from Aleph::Polygon
 Polygon ()
 Default constructor. Creates an empty, open polygon.
 
 ~Polygon ()
 Destructor. Frees all vertices.
 
 Polygon (const Polygon &poly)
 Copy constructor.
 
 Polygon (Polygon &&poly) noexcept
 Move constructor.
 
 Polygon (const Regular_Polygon &poly)
 Construct from a Regular_Polygon.
 
Polygonoperator= (const Polygon &poly)
 Copy assignment operator.
 
Polygonoperator= (Polygon &&poly) noexcept
 Move assignment operator.
 
Polygonoperator= (const Regular_Polygon &poly)
 Assignment from a Regular_Polygon.
 
const Pointlowest_point () const
 Get the vertex with the minimum y-coordinate.
 
const Pointhighest_point () const
 Get the vertex with the maximum y-coordinate.
 
const Pointleftmost_point () const
 Get the vertex with the minimum x-coordinate.
 
const Pointrightmost_point () const
 Get the vertex with the maximum x-coordinate.
 
const boolis_closed () const
 Check if the polygon is closed.
 
const size_t & size () const
 Get the number of vertices.
 
bool vertex_belong_polygon (const Vertex &v) const
 Check if a vertex belongs to this polygon.
 
const Vertexget_first_vertex () const
 Get the first vertex of the polygon.
 
const Vertexget_last_vertex () const
 Get the last vertex of the polygon.
 
const Vertexget_next_vertex (const Vertex &v) const
 Get the vertex following v in the polygon.
 
const Vertexget_prev_vertex (const Vertex &v) const
 Get the vertex preceding v in the polygon.
 
Segment get_first_segment () const
 Get the first edge (segment) of the polygon.
 
Segment get_last_segment () const
 Get the last edge (segment) of the polygon.
 
bool intersects_with (const Segment &sg) const
 Check if a segment intersects with any edge of the polygon.
 
void add_vertex (const Point &point)
 Add a vertex to the polygon.
 
void add_vertex (const Geom_Number &x, const Geom_Number &y)
 Add a vertex using coordinates.
 
void append (const Point &point)
 Append a vertex (Aleph container protocol).
 
template<template< typename > class List>
 Polygon (const List< Point > &l)
 
template<class It >
 Polygon (It b, It e)
 
 Polygon (std::initializer_list< Point > l)
 
void remove_vertex (const Vertex &v)
 Remove a vertex from the polygon.
 
void close ()
 Close the polygon.
 
PointLocation locate_point (const Point &p) const
 Classify a point against this closed polygon.
 
bool contains (const Point &p) const
 Check if a point is inside the polygon (or on its boundary).
 
bool contains_to (const Point &p) const
 
Geom_Number signed_area () const
 Compute the signed area of the polygon using the shoelace formula.
 
Geom_Number area () const
 Compute the absolute area of the polygon.
 
Geom_Number perimeter () const
 Compute the perimeter of the polygon.
 
Point centroid () const
 Compute the centroid (center of mass) of the polygon.
 
bool is_convex () const
 Check if the polygon is convex.
 
 Polygon (const Triangle &tr)
 Construct a polygon from a Triangle.
 
- Public Member Functions inherited from Aleph::Geom_Object
 Geom_Object ()=default
 
virtual ~Geom_Object ()=default
 
- Public Member Functions inherited from GenericTraverse< Polygon >
bool traverse (Operation &operation) noexcept(traverse_is_noexcept< Operation >())
 Traverse the container via its iterator and performs a conditioned operation on each item.
 
bool traverse (Operation &operation) const noexcept(traverse_is_noexcept< Operation >())
 Const overload of traverse(Operation&).
 
bool traverse (Operation &&operation) const noexcept(traverse_is_noexcept< Operation >())
 Overload of traverse(Operation&) const that accepts rvalues.
 
bool traverse (Operation &&operation) noexcept(traverse_is_noexcept< Operation >())
 Overload of traverse(Operation&) that accepts rvalues.
 
- Public Member Functions inherited from FunctionalMethods< Polygon, Point >
void emplace (Args &&... args)
 Appends a new element into the container by constructing it in-place with the given args.
 
void emplace_end (Args &&... args)
 
void emplace_ins (Args &&... args)
 Insert a new element into the container by constructing it in-place with the given args.
 
size_t ninsert (Args ... args)
 Insert n variadic items.
 
size_t nappend (Args ... args)
 Append n variadic items.
 
void for_each (Operation &operation)
 Traverse all the container and performs an operation on each element.
 
void for_each (Operation &operation) const
 Const overload of for_each(Operation&).
 
void for_each (Operation &&operation) const
 Overload of for_each() const that accepts rvalues.
 
void for_each (Operation &&operation)
 Overload of for_each() that accepts rvalues.
 
void each (Operation &operation)
 Alias of for_each(Operation&).
 
void each (Operation &operation) const
 Const alias of for_each(Operation&).
 
void each (Operation &&operation) const
 Const alias of each() that accepts rvalues.
 
void each (Operation &&operation)
 Alias of each() that accepts rvalues.
 
void each (size_t pos, const size_t slice, Operation &operation) const
 Traverse the container starting at pos taking one item every slice, performing a mutable operation on each visited element.
 
void each (const size_t pos, const size_t slice, Operation &&operation) const
 
void mutable_for_each (Operation &operation)
 Apply a mutable operation to each element of the container.
 
void mutable_for_each (Operation &&operation)
 
bool all (Operation &operation) const
 Check if all the elements of the container satisfy a condition.
 
bool all (Operation &&operation) const
 Overload of all() that accepts rvalues.
 
bool exists (Operation &op) const
 Test for existence in the container of an element satisfying a criterion.
 
bool exists (Operation &&op) const
 Overload of exists() that accepts rvalues.
 
Aleph::DynList< __T > maps (Operation &op) const
 Map the elements of the container.
 
Aleph::DynList< __T > maps (Operation &&op) const
 Overload of maps() that accepts rvalues.
 
Aleph::DynList< __T > maps_if (Prop prop, Operation &op) const
 Conditional mapping of the elements of the container.
 
Aleph::DynList< __T > maps_if (Prop prop, Operation &&op) const
 Overload of maps_if() that accepts rvalues.
 
Aleph::DynList< Pointto_dynlist () const
 Convert container to DynList.
 
std::vector< Pointto_vector () const
 Convert container to std::vector.
 
__T foldl (const __T &init, Op &op) const
 Fold the elements of the container to a specific result.
 
__T foldl (const __T &init, Op &&op=Op()) const
 Overload of foldl() that accepts rvalues.
 
__T fold_left (const __T &init, Op &op) const
 Alias for foldl with the same accumulator type.
 
__T fold_left (const __T &init, Op &&op=Op()) const
 Overload of fold_left() that accepts rvalues.
 
Point fold (const Point &init, Operation &operation) const
 Simplified version of foldl() where the folded type is the same type of elements stored in the container.
 
Point fold (const Point &init, Operation &&operation) const
 Overload of fold() that accepts rvalues.
 
Aleph::DynList< Pointfilter (Operation &operation) const
 Filter the elements of a container according to a matching criterion.
 
Aleph::DynList< Pointfilter (Operation &&operation) const
 Overload of filter() that accepts rvalues.
 
Aleph::DynList< const Point * > ptr_filter (Operation &operation) const
 Filter the elements of a container according to a matching criterion and return a pointer to the matched items in the container.
 
Aleph::DynList< const Point * > ptr_filter (Operation &&operation) const
 Overload of ptr_filter() that accepts rvalues.
 
Aleph::DynList< std::tuple< Point, size_t > > pfilter (Operation &operation) const
 Filter the elements of a container according to a matching criterion and determine its positions respect to the traversal of container.
 
Aleph::DynList< std::tuple< Point, size_t > > pfilter (Operation &&operation) const
 Overload of pfilter() that accepts rvalues.
 
std::pair< Aleph::DynList< Point >, Aleph::DynList< Point > > partition (Operation &op) const
 Exclusive partition of container according to a filter criterion.
 
std::pair< Aleph::DynList< Point >, Aleph::DynList< Point > > partition (Operation &&op) const
 Overload of partition() that accepts rvalues.
 
std::pair< Aleph::DynList< Point >, Aleph::DynList< Point > > partition (size_t n) const
 Exclusive partition of container in the nth item.
 
std::pair< Aleph::DynList< Point >, Aleph::DynList< Point > > split_half () const
 Split the container into two halves by alternating elements.
 
std::tuple< Aleph::DynList< Point >, Aleph::DynList< Point > > tpartition (Operation &op) const
 Exclusive partition of container according to a filter criterion.
 
std::tuple< Aleph::DynList< Point >, Aleph::DynList< Point > > tpartition (Operation &&op) const
 Overload of tpartition() that accepts rvalues.
 
size_t length () const noexcept
 Count the number of elements of a container.
 
Aleph::DynList< Pointrev () const
 Return a list with the elements of container in reverse order respect to its traversal order.
 
Aleph::DynList< Pointtake (const size_t n) const
 Return a list with the first n elements seen in the container during its traversal.
 
Aleph::DynList< Pointtake (size_t i, const size_t j, const size_t step=1) const
 Return a list with elements seen in the container between i and j position respect to its traversal.
 
Aleph::DynList< Pointdrop (const size_t n) const
 Drop the first n elements seen in the container during its traversal.
 
void mutable_drop (const size_t n)
 Drop the first n elements seen from container.
 
- Public Member Functions inherited from LocateFunctions< Polygon, Point >
auto get_it () const
 Return a properly initialized iterator positioned at the first item on the container.
 
auto get_it (const size_t pos) const
 Return a properly initialized iterator positioned at the pos item on the container.
 
auto get_itor () const
 Alias of get_it().
 
Pointnth_ne (const size_t n) noexcept
 Return the n‑th element without bounds checking.
 
const Pointnth_ne (const size_t n) const noexcept
 Const overload of nth_ne(size_t).
 
Pointnth (const size_t n)
 Return the n-th item of the container.
 
const Pointnth (const size_t n) const
 Const overload of nth(size_t).
 
Pointfind_ptr (Operation &operation) noexcept(operation_is_noexcept< Operation >())
 Find a pointer to an item in the container according to a searching criterion.
 
const Pointfind_ptr (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 Const overload of find_ptr(Operation&).
 
const Pointfind_ptr (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_ptr() const that accepts rvalues.
 
Pointfind_ptr (Operation &&operation) noexcept(operation_is_noexcept< Operation >())
 Overload of find_ptr() that accepts rvalues.
 
size_t find_index (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 Find the position of an item in the container according to a searching criterion.
 
size_t find_index (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_index() that accepts rvalues.
 
std::tuple< bool, Pointfind_item (Operation &operation) noexcept(operation_is_noexcept< Operation >())
 Safe sequential searching of an item matching a criterion.
 
std::tuple< bool, Pointfind_item (Operation &operation) const noexcept(operation_is_noexcept< Operation >())
 
std::tuple< bool, Pointfind_item (Operation &&operation) noexcept(operation_is_noexcept< Operation >())
 Overload of find_item() that accepts rvalues.
 
std::tuple< bool, Pointfind_item (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Overload of find_item() const that accepts rvalues.
 
bool contains_if (Operation &&operation) const noexcept(operation_is_noexcept< Operation >())
 Test if an item satisfying a criterion is present in the container.
 
bool contains (const Point &item) const
 Test if an item is present in the container using equality.
 
- Public Member Functions inherited from StlAlephIterator< Polygon >
iterator begin () noexcept
 Return an STL-compatible iterator to the first element.
 
const_iterator begin () const noexcept
 Return a const iterator to the first element.
 
iterator end () noexcept
 Return an STL-compatible end iterator.
 
const_iterator end () const noexcept
 Return a const end iterator.
 
const_iterator cbegin () const noexcept
 Return a const iterator to the first element.
 
const_iterator cend () const noexcept
 Return a const end iterator.
 

Additional Inherited Members

- Public Types inherited from Aleph::Polygon
enum class  PointLocation { Outside , Boundary , Inside }
 
using Item_Type = Point
 The type of elements iterated over.
 
using Key_Type = Point
 Alias for Item_Type.
 
- Public Types inherited from StlAlephIterator< Polygon >
using iterator = StlIterator< Polygon >
 
using const_iterator = StlConstIterator< Polygon >
 

Detailed Description

Definition at line 1376 of file eepicgeom.H.

Constructor & Destructor Documentation

◆ Dash_Spline() [1/2]

Dash_Spline::Dash_Spline ( )
inline

Definition at line 1376 of file eepicgeom.H.

◆ Dash_Spline() [2/2]

Dash_Spline::Dash_Spline ( const Polygon p)
inline

Definition at line 1376 of file eepicgeom.H.


The documentation for this struct was generated from the following file: