19#ifndef __stir_Shape_EllipsoidalCylinder_h__
20#define __stir_Shape_EllipsoidalCylinder_h__
109 float get_geometric_area()
const;
114 inline float get_length()
const
118 inline float get_radius_x()
const
122 inline float get_radius_y()
const
127 void set_length(
const float);
128 void set_radius_x(
const float);
129 void set_radius_y(
const float);
Declaration of class stir::RegisteredParsingObject.
Declaration of class stir::Shape3DWithOrientation.
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
static const char *const registered_name
Name which will be used when parsing a Shape3D object.
Definition EllipsoidalCylinder.h:72
EllipsoidalCylinder()
Default constructor (calls set_defaults())
Definition EllipsoidalCylinder.cxx:94
bool post_processing() override
This will be called at the end of the parsing.
Definition EllipsoidalCylinder.cxx:61
float theta_2
final theta if the shape is not rotated (in degrees)
Definition EllipsoidalCylinder.h:141
Shape3D * clone() const override
Allocate a new Shape3D object which is a copy of the current one.
Definition EllipsoidalCylinder.inl:29
void initialise_keymap() override
Initialise all keywords.
Definition EllipsoidalCylinder.cxx:37
void set_defaults() override
set defaults before parsing
Definition EllipsoidalCylinder.cxx:50
float radius_x
Radius in x-direction if the shape is not rotated.
Definition EllipsoidalCylinder.h:135
float theta_1
initial theta if the shape is not rotated (in degrees)
Definition EllipsoidalCylinder.h:139
float get_geometric_volume() const override
get volume
Definition EllipsoidalCylinder.inl:23
bool operator==(const EllipsoidalCylinder &cylinder) const
Compare cylinders.
Definition EllipsoidalCylinder.cxx:325
float radius_y
Radius in y-direction if the shape is not rotated.
Definition EllipsoidalCylinder.h:137
bool is_inside_shape(const CartesianCoordinate3D< float > &coord) const override
determine if a point is inside the shape or not (up to floating point errors)
Definition EllipsoidalCylinder.cxx:163
float length
Length of the cylinder.
Definition EllipsoidalCylinder.h:133
Parent class for all leaves in a RegisteredObject hierarchy that do parsing of parameter files.
Definition RegisteredParsingObject.h:78
The base class for all 3 dimensional shapes.
Definition Shape3D.h:66
Array< 2, elemT > diagonal_matrix(const unsigned dimension, const elemT value)
construct a diagonal matrix with all elements on the diagonal equal
Definition MatrixFunction.inl:182