|
Mantid
|
IObject : Interface for geometry objects. More...
#include <IObject.h>
Public Member Functions | |
| virtual IObject * | clone () const =0 |
| virtual IObject * | cloneWithMaterial (const Kernel::Material &material) const =0 |
| virtual double | distance (const Geometry::Track &) const =0 |
| virtual void | draw () const =0 |
| virtual std::optional< Kernel::V3D > | generatePointInObject (Kernel::PseudoRandomNumberGenerator &rng, const BoundingBox &activeRegion, const size_t) const =0 |
| virtual std::optional< Kernel::V3D > | generatePointInObject (Kernel::PseudoRandomNumberGenerator &rng, const size_t) const =0 |
| virtual const Kernel::Matrix< double > & | getAppliedRotation () const |
| The goniometer rotation baked into this shape, i.e. | |
| virtual const BoundingBox & | getBoundingBox () const =0 |
| Return cached value of axis-aligned bounding box. | |
| 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) | |
| virtual std::shared_ptr< GeometryHandler > | getGeometryHandler () 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::Material & | material () 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::ShapeInfo & | shapeInfo () const =0 |
| virtual double | solidAngle (const SolidAngleParams ¶ms) const =0 |
| virtual double | solidAngle (const SolidAngleParams ¶ms, const Kernel::V3D &scaleFactor) const =0 |
| virtual double | volume () const =0 |
| virtual | ~IObject ()=default |
|
virtualdefault |
|
pure virtual |
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Algorithms::MultipleScatteringCorrectionDistGraber::cacheLS1(), Mantid::Algorithms::IBeamProfile::getIntersectionWithSample(), Mantid::Geometry::getLabFrameShape(), Mantid::Algorithms::AnyShapeAbsorption::initialiseCachedDistances(), and Mantid::Algorithms::PaalmanPingsAbsorptionCorrection::rasterize().
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
inlinevirtual |
The goniometer rotation baked into this shape, i.e.
how far it has been turned into the lab frame.
CopySample bakes the goniometer in but SetGoniometer leaves the shape alone, so this is what stops getLabFrameShape rotating a shape twice. Rotations within the shape's own frame (LoadSampleShape orientation, rotate-all and rotate tags, RotateSampleShape) are excluded, so identity means the shape is in its own frame. Successive bakes compose with the later one outermost.
Reimplemented in Mantid::Geometry::CSGObject, and Mantid::Geometry::MeshObject.
Definition at line 59 of file IObject.h.
Referenced by export_IObject(), Mantid::Geometry::getLabFrameShape(), and Mantid::Geometry::outstandingGoniometerRotation().
|
pure virtual |
Return cached value of axis-aligned bounding box.
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::CurveFitting::Algorithms::VesuvioCalculateMS::cacheInputs(), Mantid::Algorithms::BeamProfileFactory::createBeamProfile(), and Mantid::Algorithms::IBeamProfile::getIntersectionWithSample().
|
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.
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Algorithms::AbsorptionCorrection::constructSample(), Mantid::Algorithms::PaalmanPingsAbsorptionCorrection::constructSample(), Mantid::Algorithms::BeamProfileFactory::createBeamProfile(), Mantid::Algorithms::EstimateScatteringVolumeCentreOfMass::extractValidSampleObject(), Mantid::Algorithms::CylinderAbsorption::getShapeFromSample(), and Mantid::Algorithms::MCInteractionVolume::init().
|
pure virtual |
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Geometry::getLabFrameShape().
|
pure virtual |
|
pure virtual |
Implemented in Mantid::Geometry::MeshObject, Mantid::Geometry::Container, Mantid::Geometry::CSGObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Geometry::Rasterize::calculateCylinder(), Mantid::Algorithms::AbsorptionCorrection::calculateDistances(), Mantid::Algorithms::PaalmanPingsAbsorptionCorrection::calculateDistances(), Mantid::Geometry::Rasterize::calculateHollowCylinder(), Mantid::Algorithms::XrayAbsorptionCorrection::calculateMuonPos(), Mantid::API::DetectorSearcher::checkInteceptWithNeighbours(), Mantid::Algorithms::DetectorEfficiencyCor::distToSurface(), Mantid::Algorithms::He3TubeEfficiency::distToSurface(), Mantid::Algorithms::AddAbsorptionWeightedPathLengths::exec(), Mantid::Algorithms::XrayAbsorptionCorrection::exec(), Mantid::CurveFitting::Algorithms::VesuvioCalculateMS::generateDetectorPos(), Mantid::CurveFitting::Algorithms::VesuvioCalculateMS::generateScatter(), Mantid::Algorithms::PaalmanPingsAbsorptionCorrection::initialiseCachedDistances(), and Mantid::Algorithms::FlatPlateAbsorption::initialiseCachedDistances().
|
inlinevirtual |
Reimplemented in Mantid::Geometry::CSGObject.
|
pure virtual |
|
pure virtual |
Implemented in Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, Mantid::Geometry::Container, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Geometry::Rasterize::calculateCylinder(), Mantid::Geometry::Rasterize::calculateHollowCylinder(), Mantid::Algorithms::FlatPlateAbsorption::initialiseCachedDistances(), and Mantid::Algorithms::EstimateScatteringVolumeCentreOfMass::rasterizeLabGaugeAndCalculateMeanElementPosition().
|
pure virtual |
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Algorithms::MultipleScatteringCorrection::calculateSingleComponent(), Mantid::Geometry::getLabFrameShape(), and Mantid::Algorithms::DiscusMultipleScatteringCorrection::prepareStructureFactors().
|
inlinevirtual |
Reimplemented in Mantid::Geometry::CSGObject.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Geometry::Rasterize::calculate(), Mantid::Geometry::Rasterize::calculateCylinder(), Mantid::Geometry::Rasterize::calculateHollowCylinder(), Mantid::Algorithms::CylinderAbsorption::getShapeFromSample(), and Mantid::Algorithms::CylinderAbsorption::initialiseCachedDistances().
|
pure virtual |
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Geometry::Rasterize::calculate(), Mantid::Geometry::Rasterize::calculateCylinder(), Mantid::Geometry::Rasterize::calculateHollowCylinder(), and Mantid::Algorithms::DiscusMultipleScatteringCorrection::createCollimatorHexahedronShape().
|
pure virtual |
Implemented in Mantid::Geometry::Container, Mantid::Geometry::CSGObject, Mantid::Geometry::MeshObject, and Mantid::Geometry::MeshObject2D.
Referenced by Mantid::Geometry::ComponentInfo::solidAngle().
|
pure virtual |
|
pure virtual |