20#ifndef VGM_I_MULTI_UNION_H
21#define VGM_I_MULTI_UNION_H
38 virtual std::string
Name()
const = 0;
55 virtual std::ostream&
Put(std::ostream& out)
const = 0;
std::ostream & operator<<(std::ostream &out, const VGM::IMultiUnion &solid)
The VGM interface to Boolean solids.
virtual std::ostream & Put(std::ostream &out) const =0
Put the printing of the solid parameters in the out stream.
virtual bool ToBeReflected() const =0
Return true if the solid has to be first reflected before being placed.
virtual SolidType Type() const =0
Return the type of this solid.
virtual std::string Name() const =0
Return the name of this solid.
virtual Transform Transformation(int index) const =0
Return the displacement of the ith constituent solid.
virtual int NofSolids() const =0
Return the number of constituent solids.
virtual ISolid * ConstituentSolid(int index) const =0
Return the i-th constituent solid.
The VGM interface to solids.
std::vector< double > Transform