VGM
Version 5.5
Toggle main menu visibility
Loading...
Searching...
No Matches
packages
VGM
include
VGM
solids
ISolid.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_SOLID_H
21
#define VGM_I_SOLID_H
22
23
#include <iostream>
24
#include <string>
25
26
namespace
VGM
{
27
28
enum
SolidType
29
{
30
kArb8
,
31
kBox
,
32
kCons
,
33
kCtubs
,
34
kEllipsoid
,
35
kEltu
,
36
kExtruded
,
37
kHype
,
38
kPara
,
39
kParaboloid
,
40
kPolycone
,
41
kPolyhedra
,
42
kSphere
,
43
kTessellated
,
44
kTorus
,
45
kTrap
,
46
kTrd
,
47
kTubs
,
48
kBoolean
,
49
kDisplaced
,
50
kMultiUnion
,
51
kScaled
,
52
kUnknownSolid
53
};
54
55
std::string
SolidTypeName
(
VGM::SolidType
typeId);
56
57
class
ISolid
58
{
59
public
:
60
virtual
~ISolid
() {}
61
62
// methods
65
virtual
SolidType
Type
()
const
= 0;
68
virtual
std::string
Name
()
const
= 0;
69
70
// streaming
73
virtual
std::ostream&
Put
(std::ostream& out)
const
= 0;
74
};
75
76
}
// namespace VGM
77
78
std::ostream&
operator<<
(std::ostream& out,
const
VGM::ISolid
& solid);
79
80
#endif
// VGM_I_SOLID_H
operator<<
std::ostream & operator<<(std::ostream &out, const VGM::ISolid &solid)
Definition
solid.cxx:20
VGM::ISolid
The VGM interface to solids.
Definition
ISolid.h:58
VGM::ISolid::~ISolid
virtual ~ISolid()
Definition
ISolid.h:60
VGM::ISolid::Type
virtual SolidType Type() const =0
Return the type of this solid.
VGM::ISolid::Put
virtual std::ostream & Put(std::ostream &out) const =0
Put the printing of the solid parameters in the out stream.
VGM::ISolid::Name
virtual std::string Name() const =0
Return the name of this solid.
VGM
VGM interfaces.
Definition
VMedium.h:28
VGM::SolidTypeName
std::string SolidTypeName(VGM::SolidType typeId)
Definition
solid.cxx:27
VGM::SolidType
SolidType
Definition
ISolid.h:29
VGM::kTessellated
@ kTessellated
Definition
ISolid.h:43
VGM::kEllipsoid
@ kEllipsoid
Definition
ISolid.h:34
VGM::kScaled
@ kScaled
Definition
ISolid.h:51
VGM::kTorus
@ kTorus
Definition
ISolid.h:44
VGM::kTrd
@ kTrd
Definition
ISolid.h:46
VGM::kCons
@ kCons
Definition
ISolid.h:32
VGM::kUnknownSolid
@ kUnknownSolid
Definition
ISolid.h:52
VGM::kTubs
@ kTubs
Definition
ISolid.h:47
VGM::kExtruded
@ kExtruded
Definition
ISolid.h:36
VGM::kPara
@ kPara
Definition
ISolid.h:38
VGM::kSphere
@ kSphere
Definition
ISolid.h:42
VGM::kPolycone
@ kPolycone
Definition
ISolid.h:40
VGM::kTrap
@ kTrap
Definition
ISolid.h:45
VGM::kMultiUnion
@ kMultiUnion
Definition
ISolid.h:50
VGM::kPolyhedra
@ kPolyhedra
Definition
ISolid.h:41
VGM::kEltu
@ kEltu
Definition
ISolid.h:35
VGM::kParaboloid
@ kParaboloid
Definition
ISolid.h:39
VGM::kHype
@ kHype
Definition
ISolid.h:37
VGM::kBoolean
@ kBoolean
Definition
ISolid.h:48
VGM::kArb8
@ kArb8
Definition
ISolid.h:30
VGM::kCtubs
@ kCtubs
Definition
ISolid.h:33
VGM::kBox
@ kBox
Definition
ISolid.h:31
VGM::kDisplaced
@ kDisplaced
Definition
ISolid.h:49
Generated on
for VGM by
1.17.0