Mantid
Loading...
Searching...
No Matches
Public Member Functions | List of all members
Mantid::Geometry::IObject Class Referenceabstract

IObject : Interface for geometry objects. More...

#include <IObject.h>

Inheritance diagram for Mantid::Geometry::IObject:
Mantid::Geometry::CSGObject Mantid::Geometry::Container Mantid::Geometry::MeshObject Mantid::Geometry::MeshObject2D

Public Member Functions

virtual IObjectclone () const =0
 
virtual IObjectcloneWithMaterial (const Kernel::Material &material) const =0
 
virtual double distance (const Geometry::Track &) const =0
 
virtual void draw () const =0
 
virtual boost::optional< Kernel::V3DgeneratePointInObject (Kernel::PseudoRandomNumberGenerator &rng, const BoundingBox &activeRegion, const size_t) const =0
 
virtual boost::optional< Kernel::V3DgeneratePointInObject (Kernel::PseudoRandomNumberGenerator &rng, const size_t) const =0
 
virtual const BoundingBoxgetBoundingBox () const =0
 Return cached value of axis-aligned bounding box. More...
 
virtual void getBoundingBox (double &xmax, double &ymax, double &zmax, double &xmin, double &ymin, double &zmin) const =0
 Calculate (or return cached value of) Axis Aligned Bounding box (DEPRECATED) More...
 
virtual std::shared_ptr< GeometryHandlergetGeometryHandler () const =0
 
virtual int getName () const =0
 
virtual void GetObjectGeom (detail::ShapeInfo::GeometryShape &type, std::vector< Kernel::V3D > &vectors, double &innerRadius, double &radius, double &height) const =0
 
virtual int getPointInObject (Kernel::V3D &point) const =0
 
virtual bool hasValidShape () const =0
 
virtual const std::string & id () const =0
 
virtual void initDraw () const =0
 
virtual int interceptSurface (Geometry::Track &) const =0
 
virtual bool isFiniteGeometry () const
 
virtual bool isOnSide (const Kernel::V3D &) const =0
 
virtual bool isValid (const Kernel::V3D &) const =0
 
virtual const Kernel::Materialmaterial () const =0
 
virtual void setFiniteGeometryFlag (bool)
 
virtual void setID (const std::string &id)=0
 
virtual void setMaterial (const Kernel::Material &material)=0
 
virtual detail::ShapeInfo::GeometryShape shape () const =0
 
virtual const detail::ShapeInfoshapeInfo () const =0
 
virtual double solidAngle (const Kernel::V3D &observer) const =0
 
virtual double solidAngle (const Kernel::V3D &observer, const Kernel::V3D &scaleFactor) const =0
 
virtual double volume () const =0
 
virtual ~IObject ()=default
 

Detailed Description

IObject : Interface for geometry objects.

Interface for Geometry Objects

Definition at line 41 of file IObject.h.

Constructor & Destructor Documentation

◆ ~IObject()

virtual Mantid::Geometry::IObject::~IObject ( )
virtualdefault

Member Function Documentation

◆ clone()

virtual IObject * Mantid::Geometry::IObject::clone ( ) const
pure virtual

◆ cloneWithMaterial()

virtual IObject * Mantid::Geometry::IObject::cloneWithMaterial ( const Kernel::Material material) const
pure virtual

◆ distance()

virtual double Mantid::Geometry::IObject::distance ( const Geometry::Track ) const
pure virtual

◆ draw()

virtual void Mantid::Geometry::IObject::draw ( ) const
pure virtual

◆ generatePointInObject() [1/2]

virtual boost::optional< Kernel::V3D > Mantid::Geometry::IObject::generatePointInObject ( Kernel::PseudoRandomNumberGenerator rng,
const BoundingBox activeRegion,
const  size_t 
) const
pure virtual

◆ generatePointInObject() [2/2]

virtual boost::optional< Kernel::V3D > Mantid::Geometry::IObject::generatePointInObject ( Kernel::PseudoRandomNumberGenerator rng,
const  size_t 
) const
pure virtual

◆ getBoundingBox() [1/2]

virtual const BoundingBox & Mantid::Geometry::IObject::getBoundingBox ( ) const
pure virtual

◆ getBoundingBox() [2/2]

virtual void Mantid::Geometry::IObject::getBoundingBox ( double &  xmax,
double &  ymax,
double &  zmax,
double &  xmin,
double &  ymin,
double &  zmin 
) const
pure virtual

Calculate (or return cached value of) Axis Aligned Bounding box (DEPRECATED)

Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.

◆ getGeometryHandler()

virtual std::shared_ptr< GeometryHandler > Mantid::Geometry::IObject::getGeometryHandler ( ) const
pure virtual

◆ getName()

virtual int Mantid::Geometry::IObject::getName ( ) const
pure virtual

◆ GetObjectGeom()

virtual void Mantid::Geometry::IObject::GetObjectGeom ( detail::ShapeInfo::GeometryShape type,
std::vector< Kernel::V3D > &  vectors,
double &  innerRadius,
double &  radius,
double &  height 
) const
pure virtual

◆ getPointInObject()

virtual int Mantid::Geometry::IObject::getPointInObject ( Kernel::V3D point) const
pure virtual

◆ hasValidShape()

virtual bool Mantid::Geometry::IObject::hasValidShape ( ) const
pure virtual

◆ id()

virtual const std::string & Mantid::Geometry::IObject::id ( ) const
pure virtual

◆ initDraw()

virtual void Mantid::Geometry::IObject::initDraw ( ) const
pure virtual

◆ interceptSurface()

virtual int Mantid::Geometry::IObject::interceptSurface ( Geometry::Track ) const
pure virtual

◆ isFiniteGeometry()

virtual bool Mantid::Geometry::IObject::isFiniteGeometry ( ) const
inlinevirtual

Reimplemented in Mantid::Geometry::CSGObject.

Definition at line 46 of file IObject.h.

◆ isOnSide()

virtual bool Mantid::Geometry::IObject::isOnSide ( const Kernel::V3D ) const
pure virtual

◆ isValid()

virtual bool Mantid::Geometry::IObject::isValid ( const Kernel::V3D ) const
pure virtual

◆ material()

virtual const Kernel::Material & Mantid::Geometry::IObject::material ( ) const
pure virtual

◆ setFiniteGeometryFlag()

virtual void Mantid::Geometry::IObject::setFiniteGeometryFlag ( bool  )
inlinevirtual

Reimplemented in Mantid::Geometry::CSGObject.

Definition at line 47 of file IObject.h.

◆ setID()

virtual void Mantid::Geometry::IObject::setID ( const std::string &  id)
pure virtual

◆ setMaterial()

virtual void Mantid::Geometry::IObject::setMaterial ( const Kernel::Material material)
pure virtual

◆ shape()

virtual detail::ShapeInfo::GeometryShape Mantid::Geometry::IObject::shape ( ) const
pure virtual

◆ shapeInfo()

virtual const detail::ShapeInfo & Mantid::Geometry::IObject::shapeInfo ( ) const
pure virtual

◆ solidAngle() [1/2]

virtual double Mantid::Geometry::IObject::solidAngle ( const Kernel::V3D observer) const
pure virtual

◆ solidAngle() [2/2]

virtual double Mantid::Geometry::IObject::solidAngle ( const Kernel::V3D observer,
const Kernel::V3D scaleFactor 
) const
pure virtual

◆ volume()

virtual double Mantid::Geometry::IObject::volume ( ) const
pure virtual

The documentation for this class was generated from the following file: