Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
randomize.hpp File Reference

Namespaces

namespace  mundy

Functions

template<typename Scalar, typename RNG>
Point< Scalarmundy::generate_random_point (const AABB< Scalar > &box, RNG &rng)
 Generate a random point within a given bounding box.
template<typename Scalar, typename RNG>
Point< Scalarmundy::generate_random_unit_vector (RNG &rng)
 Generate a random unit vector (uniformly distributed on the unit sphere).
template<typename Scalar, typename RNG>
Quaternion< Scalarmundy::generate_random_unit_quaternion (RNG &rng)
 Generate a random unit quaternion mapping the z-axis to a random unit vector via parallel transport.
template<typename Scalar, typename RNG>
Line< Scalarmundy::generate_random_line (const AABB< Scalar > &box, RNG &rng)
 Generate a random line with a center point within a given bounding box and a random direction.
template<typename Scalar, typename RNG>
LineSegment< Scalarmundy::generate_random_line_segment (const AABB< Scalar > &box, RNG &rng)
 Generate a random line segment with endpoints within a given bounding box.
template<typename Scalar, typename RNG>
LineSegment< Scalarmundy::generate_random_line_segment (const AABB< Scalar > &box, Scalar min_length, Scalar max_length, RNG &rng)
 Generate a random line segment with center in the given bounding box, random length within the given bounds, and random orientation.
template<typename Scalar, typename RNG>
VSegment< Scalarmundy::generate_random_vsegment (const AABB< Scalar > &box, RNG &rng)
 Generate a random v-segment with endpoints and middle point within a given bounding box.
template<typename Scalar, typename RNG>
VSegment< Scalarmundy::generate_random_vsegment (const AABB< Scalar > &box, Scalar min_length, Scalar max_length, RNG &rng)
 Generate a random v-segment with center in the given bounding box, random edge lengths within the given bounds, and random edge orientations.
template<typename Scalar, typename RNG>
Circle3D< Scalarmundy::generate_random_circle3D (const AABB< Scalar > &box, Scalar min_radius, Scalar max_radius, RNG &rng)
 Generate a random circle3D with center point within a given bounding box, random radius, and random orientation.
template<typename Scalar, typename RNG>
AABB< Scalarmundy::generate_random_aabb (const AABB< Scalar > &box, RNG &rng)
 Generate a random AABB within a given bounding box with both points inside the box.
template<typename Scalar, typename RNG>
AABB< Scalarmundy::generate_random_aabb (const AABB< Scalar > &box, const Vector3< Scalar > &min_sizes, const Vector3< Scalar > &max_sizes, RNG &rng)
 Generate a random AABB with random size and center point inside the box.
template<typename Scalar, typename RNG>
Sphere< Scalarmundy::generate_random_sphere (const AABB< Scalar > &box, Scalar min_radius, Scalar max_radius, RNG &rng)
 Generate a random sphere with center point within a given bounding box and random radius.
template<typename Scalar, typename RNG>
Spherocylinder< Scalarmundy::generate_random_spherocylinder (const AABB< Scalar > &box, Scalar min_radius, Scalar max_radius, RNG &rng)
 Generate a random spherocylinder with endpoints within a given bounding box and random radius.
template<typename Scalar, typename RNG>
Spherocylinder< Scalarmundy::generate_random_spherocylinder (const AABB< Scalar > &box, Scalar min_radius, Scalar max_radius, Scalar min_length, Scalar max_length, RNG &rng)
 Generate a random spherocylinder with center point within a given bounding box, random radius, random length, and random orientation.
template<typename Scalar, typename RNG>
SpherocylinderSegment< Scalarmundy::generate_random_spherocylinder_segment (const AABB< Scalar > &box, Scalar min_radius, Scalar max_radius, RNG &rng)
 Generate a random spherocylinder segment with endpoints within a given bounding box and random radius.
template<typename Scalar, typename RNG>
SpherocylinderSegment< Scalarmundy::generate_random_spherocylinder_segment (const AABB< Scalar > &box, Scalar min_radius, Scalar max_radius, Scalar min_length, Scalar max_length, RNG &rng)
 Generate a random spherocylinder segment with center point within a given bounding box, random radius, random length, and random orientation.
template<typename Scalar, typename RNG>
Ring< Scalarmundy::generate_random_ring (const AABB< Scalar > &box, Scalar min_major_radius, Scalar max_major_radius, Scalar min_minor_radius, Scalar max_minor_radius, RNG &rng)
 Generate a random ring with center point within a given bounding box, random major and minor radii, and random orientation.
template<typename Scalar, typename RNG>
Ellipsoid< Scalarmundy::generate_random_ellipsoid (const AABB< Scalar > &box, const Vector3< Scalar > &min_radii, const Vector3< Scalar > &max_radii, RNG &rng)
 Generate a random ellipsoid with center point within a given bounding box, random semi-axis radii, and random orientation.