20#ifndef __stir_Shape_CombinedShape3D_h__
21#define __stir_Shape_CombinedShape3D_h__
32 inline bool operator()(
const T& x,
const T& y)
const {
return x && !y; }
38 inline bool operator()(
const T& x,
const T& y)
const {
return x || y; }
47template <
class operation = logical_and<
bool>>
54 inline CombinedShape3D(shared_ptr<Shape3D> object1_v, shared_ptr<Shape3D> object2_v);
61 shared_ptr<Shape3D> object1_ptr;
62 shared_ptr<Shape3D> object2_ptr;
Inline implementations of class stir::CombinedShape3D.
Declaration of class stir::RegisteredParsingObject.
Declaration of class stir::Shape3D.
a templated class for 3-dimensional coordinates.
Definition CartesianCoordinate3D.h:53
void translate(const CartesianCoordinate3D< float > &direction)
translate the whole shape by shifting its origin
Definition CombinedShape3D.inl:52
bool is_inside_shape(const CartesianCoordinate3D< float > &coord) const
determine if a point is inside the shape or not (up to floating point errors)
Definition CombinedShape3D.inl:30
Shape3D * clone() const
Allocate a new Shape3D object which is a copy of the current one.
Definition CombinedShape3D.inl:37
void scale(const CartesianCoordinate3D< float > &scale3D)
scale the whole shape
Definition CombinedShape3D.inl:65
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
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast into the stir names...