codac
List of all members
codac::TubePaving Class Reference

Multi-dimensional paving as projection of a vector tube. More...

#include <codac_TubePaving.h>

Inheritance diagram for codac::TubePaving:
Inheritance graph
[legend]
Collaboration diagram for codac::TubePaving:
Collaboration graph
[legend]

Public Member Functions

Basics
 TubePaving (const ibex::IntervalVector &init_box)
 Initializes a tube paving. More...
 
void compute (float precision, const TubeVector &x)
 Computes the paving from the tube \([\mathbf{x}](\cdot)\). More...
 
void compute (float precision, const Tube &x)
 Computes the 2d paving from the 1d tube \([x](\cdot)\). More...
 
- Public Member Functions inherited from codac::Paving
 Paving (const IntervalVector &box, SetValue value=SetValue::UNKNOWN)
 Creates a paving. More...
 
 Paving (const Paving &p)
 
 ~Paving ()
 Paving destructor.
 
Pavingoperator= (const Paving &p)
 
Pavingget_first_subpaving ()
 Points to the first subpaving of the binary tree implementing this paving set. More...
 
const Pavingget_first_subpaving () const
 Points to the first subpaving of the binary tree implementing this paving set. More...
 
Pavingget_second_subpaving ()
 Points to the second subpaving of the binary tree implementing this paving set. More...
 
const Pavingget_second_subpaving () const
 Points to the second subpaving of the binary tree implementing this paving set. More...
 
Pavingget_root ()
 Returns a pointer to the root of the paving structure. More...
 
const Pavingget_root () const
 Returns a pointer to the root of the paving structure. More...
 
Pavingget_first_leaf (SetValue val, bool without_flag=false)
 Points to the first leaf of the specified value. More...
 
const Pavingget_first_leaf (SetValue val, bool without_flag=false) const
 Points to the first leaf of the paving structure. More...
 
void bisect (float ratio=0.49)
 Bisects this paving into two subpavings with some ratio bisection. More...
 
bool is_leaf () const
 Returns true if this paving is made of two subpavings. More...
 
bool flag () const
 Tests whether this paving has been flagged or not. More...
 
void set_flag () const
 Flags this paving and all its children.
 
void reset_flags () const
 Removes the flags of this Paving and all its children.
 
void reset_paving (SetValue value=SetValue::UNKNOWN)
 Same as building a new Paving object. More...
 
void get_boxes (std::list< IntervalVector > &l_subpavings, SetValue val, SetValue neg_val=SetValue::DEFAULT) const
 Returns a set of boxes leaves of some value. More...
 
void get_pavings_intersecting (SetValue val, const IntervalVector &box_to_intersect, std::vector< const Paving *> &v_subpavings, bool no_degenerated_intersection=false) const
 Returns a set of Paving leaves of some value and intersecting a given box. More...
 
void get_neighbours (std::vector< const Paving *> &v_neighbours, SetValue val=SetValue::IN|SetValue::OUT|SetValue::UNKNOWN, bool without_flag=false) const
 Returns the neighbors (adjacent items) of this Paving, having some value. More...
 
std::vector< ConnectedSubsetget_connected_subsets (bool sort_by_size=false, SetValue val=SetValue::UNKNOWN|SetValue::IN) const
 Returns the set of connected subsets of this paving. More...
 
- Public Member Functions inherited from codac::Set
 Set (const IntervalVector &box, SetValue value=SetValue::UNKNOWN)
 Creates a set. More...
 
 ~Set ()
 Set destructor.
 
SetValue value () const
 Returns the value of this set. More...
 
int size () const
 Returns the dimension of the paving. More...
 
const IntervalVector & box () const
 Returns the n-dimensional box representing this set. More...
 
void set_value (SetValue value)
 Sets the integer value for this set. More...
 

Additional Inherited Members

- Public Attributes inherited from codac::Paving
bool m_flag = false
 optional flag, can be used by search algorithms
 
Pavingm_root = nullptr
 pointer to the root
 
Pavingm_second_subpaving = nullptr
 tree structure
 
- Protected Attributes inherited from codac::Set
SetValue m_value
 integer value of this set
 
IntervalVector m_box
 box representing this set
 

Detailed Description

Multi-dimensional paving as projection of a vector tube.

The temporal information is lost.

Constructor & Destructor Documentation

◆ TubePaving()

codac::TubePaving::TubePaving ( const ibex::IntervalVector &  init_box)

Initializes a tube paving.

Parameters
init_boxn-dimensional box defining the hull of the paving

Member Function Documentation

◆ compute() [1/2]

void codac::TubePaving::compute ( float  precision,
const TubeVector x 
)

Computes the paving from the tube \([\mathbf{x}](\cdot)\).

Parameters
precisionprecision \(\epsilon\) of the SIVIA approximation
xTubeVector \([\mathbf{x}](\cdot)\)

◆ compute() [2/2]

void codac::TubePaving::compute ( float  precision,
const Tube x 
)

Computes the 2d paving from the 1d tube \([x](\cdot)\).

Axes of the paving are time and codomain.

Parameters
precisionprecision \(\epsilon\) of the SIVIA approximation
xTube \([x](\cdot)\)

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