ActiveLib
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
active::geometry::XList Class Reference

#include <XList.h>

Public Types

typedef container::List< XPointbase
 The list container type.
 
typedef base::iterator iterator
 The list iterator type.
 
typedef base::const_iterator const_iterator
 The list const_iterator type.
 
typedef base::size_type size_type
 The list size type.
 

Public Member Functions

 XList (const XInfo &targetFilter=XInfo(), const XInfo &bladeFilter=XInfo())
 
const_iterator begin () const
 
const_iterator end () const
 
const XPointfront () const
 
const XPointback () const
 
size_type size () const
 
bool empty () const
 
const XInfogetFilter (XPoint::Role role) const
 
bool withPos (XPoint::Role role, Position pos) const
 
bool isPos (XPoint::Role role) const
 
void setFilter (XPoint::Role role, const XInfo &filter)
 
iterator begin ()
 
iterator end ()
 
XPointfront ()
 
XPointback ()
 
bool insert (XPoint &&pt)
 
bool insert (XPoint::Unique &&pt)
 
iterator erase (iterator iter)
 
auto release (iterator &iter)
 
void clear ()
 
void removeDuplicates (double prec=math::eps)
 
template<class Compare >
void sort (Compare comp)
 
void reverse ()
 
void addPos (XPoint::Role role, Position pos)
 
void setVertex (XPoint::Role role, vertOption vertexIndex)
 
void setPart (XPoint::Role role, partOption partIndex)
 
void swapFilters ()
 

Detailed Description

Class to represent a list of intersection points

NB: The word "intersection" is generally abbreviated to "X" in class names, e.g. XPoint, XInfo etc. Refer to the documentation for XInfo and Xpoint for a better understanding of the terminology and management of intersections, e.g. blade and target (defined in XPoint).

Constructor & Destructor Documentation

◆ XList()

XList::XList ( const XInfo & targetFilter = XInfo(),
const XInfo & bladeFilter = XInfo() )

Constructor

Parameters
targetFilterA filter for intersections with the target
bladeFilterA filter for intersections with the blade

Member Function Documentation

◆ addPos()

void XList::addPos ( XPoint::Role role,
Position pos )

Add an intersection type to the target filter

Parameters
roleThe component role
posThe relative position of the point with respect to the component

◆ back() [1/2]

XPoint * active::geometry::XList::back ( )
inline

Get the back intersection in the list

Returns
The back intersection

◆ back() [2/2]

const XPoint * active::geometry::XList::back ( ) const
inline

Get the back intersection in the list

Returns
The back intersection

◆ begin() [1/2]

iterator active::geometry::XList::begin ( )
inline

Get an iterator at the first intersection

Returns
An iterator at the first intersection

◆ begin() [2/2]

const_iterator active::geometry::XList::begin ( ) const
inline

Get an iterator at the first intersection

Returns
An iterator at the first intersection
Here is the caller graph for this function:

◆ clear()

void active::geometry::XList::clear ( )
inline

Clear the list of intersections

◆ empty()

bool active::geometry::XList::empty ( ) const
inline

Determine if the intersection list is empty

Returns
True if the list is empty

◆ end() [1/2]

iterator active::geometry::XList::end ( )
inline

Get an iterator one beyond the last intersection

Returns
An iterator one beyond the last intersection

◆ end() [2/2]

const_iterator active::geometry::XList::end ( ) const
inline

Get an iterator one beyond the last intersection

Returns
An iterator one beyond the last intersection
Here is the caller graph for this function:

◆ erase()

iterator active::geometry::XList::erase ( iterator iter)
inline

Erase the intersection at the specified iterator

Parameters
iterThe iterator pointing to the intersection to erase
Returns
A interator at the next intersection in the list
Here is the caller graph for this function:

◆ front() [1/2]

XPoint * active::geometry::XList::front ( )
inline

Get the front intersection in the list

Returns
The front intersection

◆ front() [2/2]

const XPoint * active::geometry::XList::front ( ) const
inline

Get the front intersection in the list

Returns
The front intersection

◆ getFilter()

const XInfo & active::geometry::XList::getFilter ( XPoint::Role role) const
inline

Get the intersection filter for a specified role

Returns
The requested intersection filter
Here is the caller graph for this function:

◆ insert() [1/2]

bool XList::insert ( XPoint && pt)

Insert an intersection point

Parameters
ptA new intersection point
Returns
True if the point was inserted
Here is the call graph for this function:
Here is the caller graph for this function:

◆ insert() [2/2]

bool XList::insert ( XPoint::Unique && pt)

Insert an intersection point

Parameters
ptA new intersection point
Returns
True if the point was inserted
Here is the call graph for this function:

◆ isPos()

bool XList::isPos ( XPoint::Role role) const

Determine if the list filters intersections for a specified role based on its relative position

Parameters
roleThe component role
Returns
True if the list has a defined filter for this role
Here is the caller graph for this function:

◆ release()

auto active::geometry::XList::release ( iterator & iter)
inline

Release the intersection at the specified iterator

Parameters
iterThe iterator pointing to the intersection to release
Returns
The release intersection
Here is the call graph for this function:

◆ removeDuplicates()

void XList::removeDuplicates ( double prec = math::eps)

Remove duplicate intersections

Parameters
precThe comparison precision
Here is the call graph for this function:
Here is the caller graph for this function:

◆ reverse()

void active::geometry::XList::reverse ( )
inline

Reverse the order of intersections in the list

◆ setFilter()

void active::geometry::XList::setFilter ( XPoint::Role role,
const XInfo & filter )
inline

Set the current target intersection filter

Parameters
filterThe target intersection filter
Here is the caller graph for this function:

◆ setPart()

void active::geometry::XList::setPart ( XPoint::Role role,
partOption partIndex )
inline

Set the current blade object ID

Parameters
partIndexThe current blade part index
Here is the caller graph for this function:

◆ setVertex()

void active::geometry::XList::setVertex ( XPoint::Role role,
vertOption vertexIndex )
inline

Set the current target vertex index

Parameters
vertexIndexThe current target vertex index
Here is the caller graph for this function:

◆ size()

size_type active::geometry::XList::size ( ) const
inline

Get the list size

Returns
The list size
Here is the caller graph for this function:

◆ sort()

template<class Compare >
void active::geometry::XList::sort ( Compare comp)
inline

Template method to sort the list of intersections

Parameters
compThe object to make the sort comparisons
Here is the caller graph for this function:

◆ swapFilters()

void XList::swapFilters ( )

Swap the target and blade filters

Here is the caller graph for this function:

◆ withPos()

bool XList::withPos ( XPoint::Role role,
Position pos ) const

Determine if the list accepts intersections having a relative position to a component with a specified role

Parameters
roleThe component role
posThe relative position of the point with respect to the component
Returns
True if the list accepts this relative position for the role
Here is the caller graph for this function:

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