ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
#include <SpheroCylinder.hpp>
Public Member Functions | |
void | precalc () |
Calculate derived parameters. | |
SpheroCylinder () | |
double | radius () const |
void | set_radius (double const &radius) |
double | length () const |
void | set_length (double const &length) |
Utils::Vector3d const & | axis () const |
void | set_axis (Utils::Vector3d const &axis) |
Utils::Vector3d & | center () |
double & | direction () |
void | calculate_dist (const Utils::Vector3d &pos, double &dist, Utils::Vector3d &vec) const override |
Public Member Functions inherited from Shapes::Shape | |
virtual bool | is_inside (Utils::Vector3d const &pos) const |
Check whether the given point is inside the shape or not. | |
std::vector< int > | rasterize (Utils::Vector3i const &grid_size, double grid_spacing, double grid_offset) const |
Rasterize a shape on a regular grid. | |
virtual | ~Shape ()=default |
Public Attributes | |
Utils::Vector3d | m_center |
center of the cylinder. | |
Utils::Vector3d | m_axis |
Axis of the cylinder. | |
double | m_rad |
cylinder radius. | |
double | m_length |
cylinder length. | |
double | m_half_length |
Center of smoothing circle. | |
double | m_direction |
direction -1: inside, +1 outside | |
Utils::Vector3d | e_z |
Unit vector in z direction. | |
Utils::Vector3d | e_r_axis |
Alternative e_r for corner case. | |
Definition at line 29 of file shapes/include/shapes/SpheroCylinder.hpp.
|
inline |
Definition at line 70 of file shapes/include/shapes/SpheroCylinder.hpp.
|
inline |
Definition at line 88 of file shapes/include/shapes/SpheroCylinder.hpp.
References m_axis.
Referenced by set_axis().
|
overridevirtual |
Implements Shapes::Shape.
Definition at line 30 of file SpheroCylinder.cpp.
References e_r_axis, e_z, m_center, m_direction, m_half_length, m_rad, Utils::Vector< T, N >::norm(), and Utils::Vector< T, N >::normalize().
|
inline |
Definition at line 94 of file shapes/include/shapes/SpheroCylinder.hpp.
References m_center.
|
inline |
Definition at line 95 of file shapes/include/shapes/SpheroCylinder.hpp.
References m_direction.
|
inline |
Definition at line 82 of file shapes/include/shapes/SpheroCylinder.hpp.
References m_length.
Referenced by set_length().
|
inline |
Calculate derived parameters.
Definition at line 51 of file shapes/include/shapes/SpheroCylinder.hpp.
References e_r_axis, e_z, m_axis, m_half_length, m_length, Utils::Vector< T, N >::norm(), and Utils::Vector< T, N >::normalize().
Referenced by set_axis(), set_length(), and set_radius().
|
inline |
Definition at line 76 of file shapes/include/shapes/SpheroCylinder.hpp.
References m_rad.
Referenced by set_radius().
|
inline |
Definition at line 89 of file shapes/include/shapes/SpheroCylinder.hpp.
|
inline |
Definition at line 83 of file shapes/include/shapes/SpheroCylinder.hpp.
|
inline |
Definition at line 77 of file shapes/include/shapes/SpheroCylinder.hpp.
Utils::Vector3d Shapes::SpheroCylinder::e_r_axis |
Alternative e_r for corner case.
Definition at line 48 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by calculate_dist(), and precalc().
Utils::Vector3d Shapes::SpheroCylinder::e_z |
Unit vector in z direction.
Definition at line 45 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by calculate_dist(), and precalc().
Utils::Vector3d Shapes::SpheroCylinder::m_axis |
Axis of the cylinder.
Definition at line 34 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by axis(), precalc(), and set_axis().
Utils::Vector3d Shapes::SpheroCylinder::m_center |
center of the cylinder.
Definition at line 32 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by calculate_dist(), and center().
double Shapes::SpheroCylinder::m_direction |
direction -1: inside, +1 outside
Definition at line 43 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by calculate_dist(), and direction().
double Shapes::SpheroCylinder::m_half_length |
Center of smoothing circle.
Definition at line 41 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by calculate_dist(), and precalc().
double Shapes::SpheroCylinder::m_length |
cylinder length.
Definition at line 38 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by length(), precalc(), and set_length().
double Shapes::SpheroCylinder::m_rad |
cylinder radius.
Definition at line 36 of file shapes/include/shapes/SpheroCylinder.hpp.
Referenced by calculate_dist(), radius(), and set_radius().