OpenWalnut  1.2.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
WLine Class Reference

A line is an ordered sequence of WPositions. More...

#include <WLine.h>

+ Inheritance diagram for WLine:

Public Member Functions

 WLine (const std::vector< WPosition > &points)
 Generates a new line out of a sequence of points.
 WLine ()
 Creates an empty line.
void resampleByNumberOfPoints (size_t numPoints)
 Resample this line so it has a number of given points afterwards.
void resampleBySegmentLength (double newSegementLength)
void reverseOrder ()
 Reverses the order of the points.
void removeAdjacentDuplicates ()
 Collapse samplepoints which are equal and neighboured.
void unifyDirectionBy (const WLine &other)
 Put the line into reverse ordering if the reverse ordering would have a similar direction to the given line.
- Public Member Functions inherited from WMixinVector< WPosition >
 WMixinVector ()
 Empty standard constructor.
 WMixinVector (size_type initial_size, const value_type &fill_value=value_type())
 Constructs a vector of initial_size size where every emlement has its default value or the given value.
 WMixinVector (InputIterator first, InputIterator last)
 Constructs a new vector out of an iterator of another vector.
 WMixinVector (const vector_type &other)
 Copy constructor for the appropriate vector type.
 WMixinVector (const WMixinVector &other)
 Copy constructor for the WMixinVector itself.
WMixinVectoroperator= (const vector_type &other)
 Assignment operator for the appropriate vector type.
WMixinVectoroperator= (const WMixinVector &other)
 Assigment operator for the WMixinVector itself.
virtual ~WMixinVector ()
 Virtual Destructor.
void clear ()
 Wrapper around std::vector member function.
void resize (size_type new_size, const value_type &fill_value=value_type())
 Wrapper around std::vector member function.
void reserve (size_type new_capacity)
 Wrapper around std::vector member function.
void swap (vector_type &other)
 Allow also swap with vectors of an appropriate type.
void swap (WMixinVector &other)
 Wrapper around std::vector member function.
bool empty () const
 Wrapper around std::vector member function.
size_type size () const
 Wrapper around std::vector member function.
size_type capacity () const
 Wrapper around std::vector member function.
size_type max_size () const
 Wrapper around std::vector member function.
allocator_type get_allocator () const
 Returns its allocator.
const_iterator begin () const
 Wrapper around std::vector member function.
iterator begin ()
 Wrapper around std::vector member function.
const_iterator end () const
 Wrapper around std::vector member function.
iterator end ()
 Wrapper around std::vector member function.
const_reverse_iterator rbegin () const
 Wrapper around std::vector member function.
reverse_iterator rbegin ()
 Wrapper around std::vector member function.
const_reverse_iterator rend () const
 Wrapper around std::vector member function.
reverse_iterator rend ()
 Wrapper around std::vector member function.
const_reference operator[] (size_type index) const
 Wrapper around std::vector member function.
reference operator[] (size_type index)
 Wrapper around std::vector member function.
const_reference at (size_type index) const
 Wrapper around std::vector member function.
reference at (size_type index)
 Wrapper around std::vector member function.
void assign (size_type count, const value_type &value)
 Wrapper around std::vector member function.
void assign (Iter first, Iter last)
 Wrapper around std::vector member function.
void push_back (const value_type &value)
 Wrapper around std::vector member function.
void pop_back ()
 Wrapper around std::vector member function.
iterator erase (iterator where)
 Wrapper around std::vector member function.
iterator erase (iterator first, iterator last)
 Wrapper around std::vector member function.
iterator insert (iterator where, const value_type &value)
 Wrapper around std::vector member function.
void insert (iterator where, InputIterator first, InputIterator last)
 Wrapper around std::vector member function.
void insert (iterator where, size_type count, const value_type &value)
 Wrapper around std::vector member function.
const_reference back () const
 Wrapper around std::vector member function.
reference back ()
 Wrapper around std::vector member function.
const_reference front () const
 Wrapper around std::vector member function.
reference front ()
 Wrapper around std::vector member function.
vector_typeasVector ()
 Return this Mixin as its underlying real vector type.
const vector_typeasVector () const
 Return this Mixin as its underlying real vector type.

Additional Inherited Members

- Public Types inherited from WMixinVector< WPosition >
typedef vector_type::allocator_type allocator_type
 Compares to std::vector type.
typedef vector_type::value_type value_type
 Compares to std::vector type.
typedef vector_type::const_pointer const_pointer
 Compares to std::vector type.
typedef vector_type::pointer pointer
 Compares to std::vector type.
typedef
vector_type::const_reference 
const_reference
 Compares to std::vector type.
typedef vector_type::reference reference
 Compares to std::vector type.
typedef vector_type::const_iterator const_iterator
 Compares to std::vector type.
typedef vector_type::iterator iterator
 Compares to std::vector type.
typedef
vector_type::const_reverse_iterator 
const_reverse_iterator
 Compares to std::vector type.
typedef
vector_type::reverse_iterator 
reverse_iterator
 Compares to std::vector type.
typedef vector_type::size_type size_type
 Compares to std::vector type.
typedef
vector_type::difference_type 
difference_type
 Compares to std::vector type.

Detailed Description

A line is an ordered sequence of WPositions.

Definition at line 43 of file WLine.h.

Constructor & Destructor Documentation

WLine::WLine ( const std::vector< WPosition > &  points)
explicit

Generates a new line out of a sequence of points.

Parameters
pointsPoint sequence

Definition at line 42 of file WLine.cpp.

WLine::WLine ( )

Creates an empty line.

Definition at line 47 of file WLine.cpp.

Member Function Documentation

void WLine::removeAdjacentDuplicates ( )
void WLine::resampleByNumberOfPoints ( size_t  numPoints)
void WLine::resampleBySegmentLength ( double  newSegementLength)
void WLine::reverseOrder ( )

Reverses the order of the points.

(mirroring)

Definition at line 61 of file WLine.cpp.

References WMixinVector< WPosition >::begin(), and WMixinVector< WPosition >::end().

Referenced by WLineTest::testReverseOrdering(), and unifyDirectionBy().

void WLine::unifyDirectionBy ( const WLine other)

Put the line into reverse ordering if the reverse ordering would have a similar direction to the given line.

That means if the start point (or multiple selected sample points) of the given line will better match to end point (or multiple selected sample points) of this line (in term of direction) the line is reordered.

Parameters
otherThe line giving the direction to align this line to.

Definition at line 249 of file WLine.cpp.

References WMixinVector< ValueT >::at(), WMixinVector< WPosition >::at(), reverseOrder(), WMixinVector< ValueT >::size(), and WMixinVector< WPosition >::size().


The documentation for this class was generated from the following files: