ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
Shapes::SpheroCylinder Class Reference

#include <SpheroCylinder.hpp>

+ Inheritance diagram for Shapes::SpheroCylinder:
+ Collaboration diagram for Shapes::SpheroCylinder:

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::Vector3dcenter ()
 
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.
 

Detailed Description

Definition at line 29 of file shapes/include/shapes/SpheroCylinder.hpp.

Constructor & Destructor Documentation

◆ SpheroCylinder()

Shapes::SpheroCylinder::SpheroCylinder ( )
inline

Definition at line 70 of file shapes/include/shapes/SpheroCylinder.hpp.

Member Function Documentation

◆ axis()

Utils::Vector3d const & Shapes::SpheroCylinder::axis ( ) const
inline

Definition at line 88 of file shapes/include/shapes/SpheroCylinder.hpp.

References m_axis.

Referenced by set_axis().

◆ calculate_dist()

void Shapes::SpheroCylinder::calculate_dist ( const Utils::Vector3d pos,
double &  dist,
Utils::Vector3d vec 
) const
overridevirtual

◆ center()

Utils::Vector3d & Shapes::SpheroCylinder::center ( )
inline

Definition at line 94 of file shapes/include/shapes/SpheroCylinder.hpp.

References m_center.

◆ direction()

double & Shapes::SpheroCylinder::direction ( )
inline

Definition at line 95 of file shapes/include/shapes/SpheroCylinder.hpp.

References m_direction.

◆ length()

double Shapes::SpheroCylinder::length ( ) const
inline

Definition at line 82 of file shapes/include/shapes/SpheroCylinder.hpp.

References m_length.

Referenced by set_length().

◆ precalc()

void Shapes::SpheroCylinder::precalc ( )
inline

◆ radius()

double Shapes::SpheroCylinder::radius ( ) const
inline

Definition at line 76 of file shapes/include/shapes/SpheroCylinder.hpp.

References m_rad.

Referenced by set_radius().

◆ set_axis()

void Shapes::SpheroCylinder::set_axis ( Utils::Vector3d const &  axis)
inline

Definition at line 89 of file shapes/include/shapes/SpheroCylinder.hpp.

References axis(), m_axis, and precalc().

◆ set_length()

void Shapes::SpheroCylinder::set_length ( double const &  length)
inline

Definition at line 83 of file shapes/include/shapes/SpheroCylinder.hpp.

References length(), m_length, and precalc().

◆ set_radius()

void Shapes::SpheroCylinder::set_radius ( double const &  radius)
inline

Definition at line 77 of file shapes/include/shapes/SpheroCylinder.hpp.

References m_rad, precalc(), and radius().

Member Data Documentation

◆ e_r_axis

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().

◆ e_z

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().

◆ m_axis

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().

◆ m_center

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().

◆ m_direction

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().

◆ m_half_length

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().

◆ m_length

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().

◆ m_rad

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().


The documentation for this class was generated from the following files: