19#ifndef SRC_SHAPES_TORUS_HPP
20#define SRC_SHAPES_TORUS_HPP
Vector implementation and trait types for boost qvm interoperability.
void set_normal(Utils::Vector3d const &normal)
void set_tube_radius(double const &tube_rad)
Utils::Vector3d e_z
Unit vector in z direction.
Utils::Vector3d m_normal
Normal axis of the shape.
void calculate_dist(const Utils::Vector3d &pos, double &dist, Utils::Vector3d &vec) const override
Utils::Vector3d const & normal() const
Utils::Vector3d & center()
double tube_radius() const
Utils::Vector3d m_center
center of the shape.
void set_radius(double const &radius)
double m_direction
direction -1: inside, +1 outside
double m_tube_rad
tube radius.
void precalc()
Calculate derived parameters.