20#ifndef __stir_Shape_Shape3DWithOrientation__H__
21#define __stir_Shape_Shape3DWithOrientation__H__
60 typedef Shape3D base_type;
63 bool operator==(
const Shape3D& s)
const override;
80 float get_angle_alpha()
const;
81 float get_angle_beta()
const;
82 float get_angle_gamma()
const;
100 set_directions_from_Euler_angles(
108 float get_volume_of_unit_cell()
const;
115 void set_defaults()
override;
116 void initialise_keymap()
override;
117 bool post_processing()
override;
118 void set_key_values()
override;
123 float alpha_in_degrees;
124 float beta_in_degrees;
125 float gamma_in_degrees;
Declaration of functions for matrices.
Declaration of class stir::Shape3D.
This class defines multi-dimensional (numeric) arrays.
Definition Array.h:78
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
Class for shapes with orientation.
Definition Shape3DWithOrientation.h:59
const Array< 2, float > & get_direction_vectors() const
get direction vectors currently in use
Definition Shape3DWithOrientation.h:68
Shape3DWithOrientation()
default constructor (NO initialisation of values)
Definition Shape3DWithOrientation.cxx:65
bool operator==(const Shape3D &s) const override
Compare shapes.
Definition Shape3DWithOrientation.cxx:95
void scale(const CartesianCoordinate3D< float > &scale3D) override
scale the whole shape
Definition Shape3DWithOrientation.cxx:119
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition Succeeded.h:44
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