ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Conical frustum shape with rounded corners and finite thickness. More...
#include <HollowConicalFrustum.hpp>
Public Member Functions | |
HollowConicalFrustum (double const r1, double const r2, double const length, double const thickness, int const direction, double const central_angle, std::shared_ptr< Utils::CylindricalTransformationParameters > cyl_transform_params) | |
void | set_r1 (double const radius) |
void | set_r2 (double const radius) |
void | set_length (double const length) |
void | set_thickness (double const thickness) |
void | set_direction (int const dir) |
void | set_central_angle (double const central_angle) |
double | radius1 () const |
Get radius 1 perpendicular to axis. | |
double | radius2 () const |
Get radius 2 perpendicular to axis. | |
double | length () const |
Get length of the frustum (without thickness). | |
double | thickness () const |
Get thickness of the frustum. | |
int | direction () const |
Get direction. | |
double | central_angle () const |
Get central angle. | |
void | calculate_dist (const Utils::Vector3d &pos, double &dist, Utils::Vector3d &vec) const override |
Calculate the distance vector and its norm between a given position and the cone. | |
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 |
Conical frustum shape with rounded corners and finite thickness.
-------->r1 ^ a \ | x \ | i \ | s \ *pos * center \ | \ | \ | \ | \ ----------------->r2
Definition at line 51 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
inline |
Definition at line 53 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
overridevirtual |
Calculate the distance vector and its norm between a given position and the cone.
[in] | pos | Position for which distance to the cone is calculated. |
[out] | dist | Distance between cone and pos . |
[out] | vec | Distance vector (dist = || vec ||). |
Implements Shapes::Shape.
Definition at line 28 of file HollowConicalFrustum.cpp.
References Utils::basis_change(), Utils::transform_coordinate_cartesian_to_cylinder(), Utils::transform_coordinate_cylinder_to_cartesian(), and Utils::vector_product().
|
inline |
Get central angle.
Definition at line 82 of file shapes/include/shapes/HollowConicalFrustum.hpp.
Referenced by set_central_angle().
|
inline |
Get direction.
Definition at line 80 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
inline |
Get length of the frustum (without thickness).
Definition at line 76 of file shapes/include/shapes/HollowConicalFrustum.hpp.
Referenced by set_length().
|
inline |
Get radius 1 perpendicular to axis.
Definition at line 72 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
inline |
Get radius 2 perpendicular to axis.
Definition at line 74 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
inline |
Definition at line 67 of file shapes/include/shapes/HollowConicalFrustum.hpp.
References central_angle().
|
inline |
Definition at line 66 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
inline |
Definition at line 64 of file shapes/include/shapes/HollowConicalFrustum.hpp.
References length().
|
inline |
Definition at line 62 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
inline |
Definition at line 63 of file shapes/include/shapes/HollowConicalFrustum.hpp.
|
inline |
Definition at line 65 of file shapes/include/shapes/HollowConicalFrustum.hpp.
References thickness().
|
inline |
Get thickness of the frustum.
Definition at line 78 of file shapes/include/shapes/HollowConicalFrustum.hpp.
Referenced by set_thickness().