8#include "MantidGeometry/DllConfig.h"
15#pragma warning(disable : 4250)
31 using comp_it = std::vector<ObjComponent *>::iterator;
35 std::string
type()
const override {
return "ObjCompAssembly"; }
50 int nelements()
const override;
56 int addCopy(
IComponent *,
const std::string &)
override;
59 std::shared_ptr<IComponent>
getChild(
const int i)
const override {
return (*
this)[i]; }
61 void getChildren(std::vector<IComponent_const_sptr> &outVector,
bool recursive)
const override;
64 std::shared_ptr<const IComponent> getComponentByName(
const std::string &cname,
int nlevels = 0)
const override;
66 std::shared_ptr<IComponent> operator[](
int i)
const override;
68 void printChildren(std::ostream &)
const override;
69 void printTree(std::ostream &)
const override;
75 std::shared_ptr<IObject> createOutline();
76 void setOutline(std::shared_ptr<const IObject>
obj);
80 void testIntersectionWithChildren(
Track & ,
81 std::deque<IComponent_const_sptr> & )
const override;
double obj
the value of the quadratic function
ComponentVisitor : Visitor for IComponents.
Class for Assembly of geometric components.
base class for Geometric IComponent
Class for Assembly of geometric components.
ObjCompAssembly & operator=(const ICompAssembly &)
Private copy assignment operator.
std::vector< ObjComponent * >::iterator comp_it
Iterator type.
std::vector< ObjComponent * >::const_iterator const_comp_it
Const iterator type.
std::shared_ptr< IComponent > getChild(const int i) const override
Get a pointer to the ith component within the assembly. Easier to use than.
std::vector< ObjComponent * > m_group
the group of child components
std::string type() const override
String description of the type of component.
Object Component class, this class brings together the physical attributes of the component to the po...
Defines a track as a start point and a direction.
std::shared_ptr< ObjCompAssembly > ObjCompAssembly_sptr
Shared pointer to ObjCompAssembly.
MANTID_GEOMETRY_DLL std::ostream & operator<<(std::ostream &stream, const PointGroup &self)
Returns a streamed representation of the PointGroup object.
std::shared_ptr< const ObjCompAssembly > ObjCompAssembly_const_sptr
Shared pointer to ObjCompAssembly (const version)
Helper class which provides the Collimation Length for SANS instruments.