Struct BilliardShakeAndBakeWalk::Walk

template<typename Polytope, typename RandomNumberGenerator>
struct Walk : public ShakeAndBakeWalk::Walk<Polytope, RandomNumberGenerator>

Public Types

using ShakeAndBake = ShakeAndBakeWalk::Walk<Polytope, RandomNumberGenerator>
using Point = typename Polytope::PointType
using VT = typename Polytope::VT
using NT = typename Point::FT
using MT = typename Polytope::MT
typedef Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> DenseMT

Public Functions

template<typename GenericPolytope>
inline Walk(GenericPolytope &P, Point const &p, RandomNumberGenerator &rng, int facet_idx, int nr, NT eps = kDefaultEpsilon, ReflectionMode mode = kDefaultMode)
inline NT get_epsilon() const noexcept
inline ReflectionMode get_mode() const noexcept
inline void apply(Polytope &P, unsigned int walk_len, RandomNumberGenerator &rng)
inline const Point &getCurrentPoint() const noexcept
inline void initialize(Polytope &P, const Point &boundary_pt, int facet_idx, RandomNumberGenerator &rng)

Public Static Attributes

static constexpr NT kDefaultEpsilon = NT(1e-10)
static constexpr ReflectionMode kDefaultMode = ReflectionMode::InverseExponential