20#ifndef VGM_I_BOOLEAN_SOLID_H
21#define VGM_I_BOOLEAN_SOLID_H
48 virtual std::string
Name()
const = 0;
69 virtual std::ostream&
Put(std::ostream& out)
const = 0;
std::ostream & operator<<(std::ostream &out, const VGM::IBooleanSolid &solid)
The VGM interface to Boolean solids.
virtual std::string Name() const =0
Return the name of this solid.
virtual ISolid * ConstituentSolidB() const =0
Return the second constituent solid.
virtual bool ToBeReflected() const =0
Return true if the solid has to be first reflected before being placed.
virtual std::ostream & Put(std::ostream &out) const =0
Put the printing of the solid parameters in the out stream.
virtual ISolid * ConstituentSolidA() const =0
Return the first constituent solid.
virtual SolidType Type() const =0
Return the type of this solid.
virtual BooleanType BoolType() const =0
Return the Boolean type of this solid.
virtual Transform Displacement() const =0
Return the 3D displacement of the second constituent solid with respect to the first one.
The VGM interface to solids.
std::vector< double > Transform
std::string BooleanTypeName(BooleanType typeId)