codac 1.5.6
|
Multi-dimensional paving as projection of a vector tube. More...
#include <codac_TubePaving.h>
Public Member Functions | |
Basics | |
TubePaving (const ibex::IntervalVector &init_box) | |
Initializes a tube paving. | |
void | compute (float precision, const TubeVector &x) |
Computes the paving from the tube \([\mathbf{x}](\cdot)\). | |
void | compute (float precision, const Tube &x) |
Computes the 2d paving from the 1d tube \([x](\cdot)\). | |
Public Member Functions inherited from codac::Paving | |
Paving (const IntervalVector &box, SetValue value=SetValue::UNKNOWN) | |
Creates a paving. | |
~Paving () | |
Paving destructor. | |
Paving * | get_first_subpaving () |
Points to the first subpaving of the binary tree implementing this paving set. | |
const Paving * | get_first_subpaving () const |
Points to the first subpaving of the binary tree implementing this paving set. | |
Paving * | get_second_subpaving () |
Points to the second subpaving of the binary tree implementing this paving set. | |
const Paving * | get_second_subpaving () const |
Points to the second subpaving of the binary tree implementing this paving set. | |
Paving * | get_root () |
Returns a pointer to the root of the paving structure. | |
const Paving * | get_root () const |
Returns a pointer to the root of the paving structure. | |
Paving * | get_first_leaf (SetValue val, bool without_flag=false) |
Points to the first leaf of the specified value. | |
const Paving * | get_first_leaf (SetValue val, bool without_flag=false) const |
Points to the first leaf of the paving structure. | |
void | bisect (float ratio=0.49) |
Bisects this paving into two subpavings with some ratio bisection. | |
bool | is_leaf () const |
Returns true if this paving is made of two subpavings. | |
bool | flag () const |
Tests whether this paving has been flagged or not. | |
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. | |
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. | |
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. | |
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. | |
std::vector< ConnectedSubset > | get_connected_subsets (bool sort_by_size=false, SetValue val=SetValue::UNKNOWN|SetValue::IN) const |
Returns the set of connected subsets of this paving. | |
Public Member Functions inherited from codac::Set | |
Set (const IntervalVector &box, SetValue value=SetValue::UNKNOWN) | |
Creates a set. | |
~Set () | |
Set destructor. | |
SetValue | value () const |
Returns the value of this set. | |
int | size () const |
Returns the dimension of the paving. | |
const IntervalVector & | box () const |
Returns the n-dimensional box representing this set. | |
void | set_value (SetValue value) |
Sets the integer value for this set. | |
Additional Inherited Members | |
Public Attributes inherited from codac::Paving | |
bool | m_flag = false |
optional flag, can be used by search algorithms | |
Paving * | m_root = nullptr |
pointer to the root | |
Paving * | m_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 | |
Multi-dimensional paving as projection of a vector tube.
The temporal information is lost.
codac::TubePaving::TubePaving | ( | const ibex::IntervalVector & | init_box | ) |
Initializes a tube paving.
init_box | n-dimensional box defining the hull of the paving |
void codac::TubePaving::compute | ( | float | precision, |
const TubeVector & | x ) |
Computes the paving from the tube \([\mathbf{x}](\cdot)\).
precision | precision \(\epsilon\) of the SIVIA approximation |
x | TubeVector \([\mathbf{x}](\cdot)\) |
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.
precision | precision \(\epsilon\) of the SIVIA approximation |
x | Tube \([x](\cdot)\) |