22#ifndef SRC_SHAPES_SPHEROCYLINDER_HPP
23#define SRC_SHAPES_SPHEROCYLINDER_HPP
Vector implementation and trait types for boost qvm interoperability.
Utils::Vector3d e_r_axis
Alternative e_r for corner case.
double m_rad
cylinder radius.
void set_length(double const &length)
Utils::Vector3d m_axis
Axis of the cylinder.
void precalc()
Calculate derived parameters.
double m_half_length
Center of smoothing circle.
Utils::Vector3d m_center
center of the cylinder.
void calculate_dist(const Utils::Vector3d &pos, double &dist, Utils::Vector3d &vec) const override
void set_axis(Utils::Vector3d const &axis)
Utils::Vector3d const & axis() const
double m_direction
direction -1: inside, +1 outside
double m_length
cylinder length.
Utils::Vector3d & center()
Utils::Vector3d e_z
Unit vector in z direction.
void set_radius(double const &radius)