Class ZonoIntersectHPoly

template<typename Zonotope, typename HPolytope>
class ZonoIntersectHPoly

This class represents the intersection of a Zonotope with an H-polytope

Template Parameters:

Public Types

typedef HPolytope::NT NT
typedef HPolytope::VT VT
typedef HPolytope::MT MT
typedef Zonotope::PointType PointType

Public Functions

inline ZonoIntersectHPoly()
inline ZonoIntersectHPoly(Zonotope &Z1, HPolytope &HP1)
inline Zonotope first() const
inline HPolytope second() const
inline int is_in(const PointType &p) const
inline int num_of_hyperplanes() const
inline unsigned int dimension() const
inline unsigned int num_of_generators() const
inline MT get_mat() const
inline MT get_T() const
inline MT get_vec() const
inline VT get_row(int generator_index) const
inline bool is_normalized()
inline void normalize()
inline std::pair<PointType, NT> InnerBall() const
inline std::pair<NT, NT> line_intersect(PointType const &r, PointType const &v) const
inline std::pair<NT, NT> line_intersect(PointType const &r, PointType const &v, VT &Ar, VT &Av) const
inline std::pair<NT, NT> line_intersect(PointType const &r, PointType const &v, VT &Ar, VT &Av, NT const &lambda_prev) const
inline std::pair<NT, NT> line_intersect_coord(PointType const &r, unsigned int const &rand_coord, VT &lamdas) const
inline std::pair<NT, int> line_positive_intersect(PointType const &r, PointType const &v, VT &Ar, VT &Av) const
inline std::pair<NT, int> line_positive_intersect(PointType const &r, PointType const &v, VT &Ar, VT &Av, NT const &lambda_prev) const
template<typename update_parameters>
inline std::pair<NT, int> line_first_positive_intersect(PointType const &r, PointType const &v, VT &Ar, VT &Av, update_parameters &params) const
template<typename update_parameters>
inline std::pair<NT, int> line_positive_intersect(PointType const &r, PointType const &v, VT &Ar, VT &Av, NT const &lambda_prev, MT const &AA, update_parameters &params) const
template<typename update_parameters>
inline std::pair<NT, int> line_positive_intersect(PointType const &r, PointType const &v, VT &Ar, VT &Av, NT const &lambda_prev, update_parameters &params) const
inline std::pair<NT, NT> line_intersect_coord(PointType const &r, PointType const &r_prev, unsigned int const &rand_coord, unsigned int const &rand_coord_prev, VT &lamdas) const
inline std::pair<NT, NT> query_dual(PointType const &p, unsigned int const &rand_coord) const
inline void compute_reflection(PointType &v, PointType const &p, int const &facet) const
template<typename update_parameters>
inline void compute_reflection(PointType &v, const PointType &p, update_parameters const &params) const