File vpolytope.h
-
template<typename Point>
class VPolytope - #include <vpolytope.h>
This class describes a polytope in V-representation or an V-polytope i.e. a polytope defined as a convex combination of points
- Template Parameters:
Point – Point type
Public Functions
-
inline VPolytope()
-
inline VPolytope(const VPolytope &other)
-
inline VPolytope(VPolytope &&other)
-
inline ~VPolytope()
-
inline void set_interior_point(Point const &r)
-
inline unsigned int dimension() const
-
inline int num_of_hyperplanes() const
-
inline int num_of_generators() const
-
inline unsigned int upper_bound_of_hyperplanes() const
-
inline int num_of_vertices() const
-
inline MT get_mat() const
-
inline VT get_vec() const
-
inline VT get_row(int vertex_index) const
-
inline bool is_normalized()
-
inline void set_mat(const MT &V2)
-
inline void set_vec(const VT &b2)
-
inline MT get_T() const
-
inline void print()
-
inline Point get_mean_of_vertices()
-
inline NT get_max_vert_norm()
-
inline void normalize()
-
inline std::pair<Point, NT> get_center_radius_inscribed_simplex(const typename std::vector<Point>::iterator it_beg, const typename std::vector<Point>::iterator it_end)
-
inline std::pair<NT, NT> line_intersect(const Point &r, const Point &v, const VT &Ar, const VT &Av) const
-
inline std::pair<NT, NT> line_intersect(const Point &r, const Point &v, const VT &Ar, const VT &Av, const NT &lambda_prev) const
-
inline std::pair<NT, int> line_positive_intersect(const Point &r, const Point &v, const VT &Ar, const VT &Av) const
-
inline std::pair<NT, int> line_positive_intersect(const Point &r, const Point &v, const VT &Ar, const VT &Av, const NT &lambda_prev) const
-
template<typename update_parameters>
inline std::pair<NT, int> line_first_positive_intersect(Point const &r, Point const &v, VT &Ar, VT &Av, update_parameters ¶ms) const
-
template<typename update_parameters>
inline std::pair<NT, int> line_positive_intersect(Point const &r, Point const &v, VT &Ar, VT &Av, NT const &lambda_prev, MT const &AA, update_parameters ¶ms) const
-
template<typename update_parameters>
inline std::pair<NT, int> line_positive_intersect(Point const &r, Point const &v, VT &Ar, VT &Av, NT const &lambda_prev, update_parameters ¶ms) const
-
inline std::pair<NT, NT> line_intersect_coord(const Point &r, const unsigned int rand_coord, const VT &lamdas) const
-
inline std::pair<NT, NT> line_intersect_coord(const Point &r, const Point &r_prev, const unsigned int rand_coord, const unsigned int rand_coord_prev, const VT &lamdas) const
-
inline std::pair<NT, int> quadratic_positive_intersect(Point const &r, Point const &v, VT const &Ac, NT const &T, VT &Ar, VT &Av, int &facet_prev) const
-
inline std::pair<NT, int> quadratic_positive_intersect(Point const &r, Point const &v, VT const &Ac, NT const &T, VT &Ar, VT &Av, NT const &lambda_prev, int &facet_prev) const
-
inline std::pair<NT, int> trigonometric_positive_intersect(Point const &r, Point const &v, NT const &omega, int &facet_prev) const
-
inline void shift(const VT &c)
-
inline void linear_transformIt(const MT &T)
-
template<class PointList>
inline bool get_points_for_rounding(PointList &randPoints)
-
template<typename update_parameters>
inline void compute_reflection(Point &v, const Point &p, update_parameters const ¶ms) const
-
inline void resetFlags()
-
inline void update_position_internal(NT&)