9#include "MantidGeometry/DllConfig.h"
40 std::string
type()
const override {
return "IObjComponent"; }
77 virtual void draw()
const = 0;
87 virtual const std::shared_ptr<const IObject>
shape()
const = 0;
const std::vector< double > & rhs
Handles rendering of all object Geometry.
base class for Geometric IComponent
Object Component class, this class brings together the physical attributes of the component to the po...
GeometryHandler * Handle() const
Gets the GeometryHandler.
virtual const std::shared_ptr< const IObject > shape() const =0
Returns the shape of the Object.
virtual const Kernel::Material material() const =0
Returns the material of the Object.
IComponent * clone() const override=0
Virtual Copy Constructor.
virtual bool isOnSide(const Kernel::V3D &point) const =0
Does the point given lie on the surface of this object component?
virtual int getPointInObject(Kernel::V3D &point) const =0
Try to find a point that lies within (or on) the object.
~IObjComponent() override
std::unique_ptr< GeometryHandler > handle
Geometry Handle for rendering.
virtual void initDraw() const =0
Initializes the ObjComponent for rendering, this function should be called before rendering.
virtual bool isValid(const Kernel::V3D &point) const =0
Does the point given lie within this object component?
virtual void draw() const =0
Draws the objcomponent.
virtual double solidAngle(const Kernel::V3D &observer) const =0
Finds the approximate solid angle covered by the component when viewed from the point given.
virtual int interceptSurface(Track &track) const =0
Checks whether the track given will pass through this Component.
virtual void drawObject() const =0
Draws the Object.
std::string type() const override
type string
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...
std::shared_ptr< IObjComponent > IObjComponent_sptr
Shared pointer to IObjComponent.
std::shared_ptr< const IObjComponent > IObjComponent_const_sptr
Shared pointer to IObjComponent (const version)
Helper class which provides the Collimation Length for SANS instruments.