VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
VGM
include
VGM
solids
IMultiUnion.h
Go to the documentation of this file.
1
// $Id$
2
3
// -----------------------------------------------------------------------
4
// The VGM package of the Virtual Geometry Model
5
// Copyright (C) 2007, Ivana Hrivnacova
6
// All rights reserved.
7
//
8
// For the licensing terms see vgm/LICENSE.
9
// Contact: ivana@ipno.in2p3.fr
10
// -----------------------------------------------------------------------
11
19
20
#ifndef VGM_I_MULTI_UNION_H
21
#define VGM_I_MULTI_UNION_H
22
23
#include "
VGM/common/Transform.h
"
24
#include "
VGM/solids/ISolid.h
"
25
26
#include <iostream>
27
28
namespace
VGM
{
29
30
class
IMultiUnion
:
public
virtual
ISolid
31
{
32
public
:
33
virtual
~IMultiUnion
() {}
34
35
// methods
36
37
virtual
SolidType
Type
()
const
= 0;
38
virtual
std::string
Name
()
const
= 0;
39
42
virtual
int
NofSolids
()
const
= 0;
45
virtual
ISolid
*
ConstituentSolid
(
int
index)
const
= 0;
48
virtual
Transform
Transformation
(
int
index)
const
= 0;
52
virtual
bool
ToBeReflected
()
const
= 0;
53
54
// streaming
55
virtual
std::ostream&
Put
(std::ostream& out)
const
= 0;
56
};
57
58
}
// namespace VGM
59
60
std::ostream&
operator<<
(std::ostream& out,
const
VGM::IMultiUnion
& solid);
61
62
#endif
// VGM_I_MULTI_UNION_H
operator<<
std::ostream & operator<<(std::ostream &out, const VGM::IMultiUnion &solid)
Definition
VMultiUnion.cxx:25
ISolid.h
Transform.h
VGM::IMultiUnion
The VGM interface to Boolean solids.
Definition
IMultiUnion.h:31
VGM::IMultiUnion::Put
virtual std::ostream & Put(std::ostream &out) const =0
Put the printing of the solid parameters in the out stream.
VGM::IMultiUnion::ToBeReflected
virtual bool ToBeReflected() const =0
Return true if the solid has to be first reflected before being placed.
VGM::IMultiUnion::Type
virtual SolidType Type() const =0
Return the type of this solid.
VGM::IMultiUnion::Name
virtual std::string Name() const =0
Return the name of this solid.
VGM::IMultiUnion::~IMultiUnion
virtual ~IMultiUnion()
Definition
IMultiUnion.h:33
VGM::IMultiUnion::Transformation
virtual Transform Transformation(int index) const =0
Return the displacement of the ith constituent solid.
VGM::IMultiUnion::NofSolids
virtual int NofSolids() const =0
Return the number of constituent solids.
VGM::IMultiUnion::ConstituentSolid
virtual ISolid * ConstituentSolid(int index) const =0
Return the i-th constituent solid.
VGM::ISolid
The VGM interface to solids.
Definition
ISolid.h:58
VGM
VGM interfaces.
Definition
VMedium.h:28
VGM::Transform
std::vector< double > Transform
Definition
Transform.h:40
VGM::SolidType
SolidType
Definition
ISolid.h:29
Generated on
for VGM by
1.17.0