9#include "MantidGeometry/DllConfig.h"
14#pragma warning(disable : 4250)
36 std::string
type()
const override {
return "PhysicalComponent"; }
43 explicit ObjComponent(
const std::string &name, std::shared_ptr<const IObject> shape,
IComponent *parent =
nullptr);
50 bool isValid(
const Kernel::V3D &point)
const override;
51 bool isOnSide(
const Kernel::V3D &point)
const override;
52 int interceptSurface(
Track &track)
const override;
53 double solidAngle(
const Kernel::V3D &observer)
const override;
55 void boundingBox(
double &xmax,
double &ymax,
double &zmax,
double &xmin,
double &ymin,
double &zmin)
const;
57 void getBoundingBox(
BoundingBox &absoluteBB)
const override;
59 virtual double getHeight()
const;
61 virtual double getWidth()
const;
63 virtual double getDepth()
const;
65 int getPointInObject(
Kernel::V3D &point)
const override;
67 void draw()
const override;
68 void drawObject()
const override;
69 void initDraw()
const override;
72 const std::shared_ptr<const IObject> shape()
const override;
75 void setShape(std::shared_ptr<const IObject> newShape);
79 virtual size_t registerContents(
class ComponentVisitor &componentVisitor)
const override;
A simple structure that defines an axis-aligned cuboid shaped bounding box for a geometrical object.
ComponentVisitor : Visitor for IComponents.
Component is a wrapper for a Component which can modify some of its parameters, e....
base class for Geometric IComponent
Object Component class, this class brings together the physical attributes of the component to the po...
Object Component class, this class brings together the physical attributes of the component to the po...
std::shared_ptr< const IObject > m_shape
The physical geometry representation.
void getRelativeBoundingBox(BoundingBox &RelativeBB) const
common part of the two Bounding box functions above;
void boundingBox(double &xmax, double &ymax, double &zmax, double &xmin, double &ymin, double &zmin) const
std::string type() const override
type string
IComponent * clone() const override
Virtual Copy Constructor.
Defines a track as a start point and a direction.
A material is defined as being composed of a given element, defined as a PhysicalConstants::NeutronAt...
Helper class which provides the Collimation Length for SANS instruments.