GeoModel - GeoModelCore
GeoShape.cxx
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "GeoModelKernel/GeoShape.h"
6 #include "GeoModelKernel/GeoShapeIntersection.h"
7 #include "GeoModelKernel/GeoShapeUnion.h"
8 #include "GeoModelKernel/GeoShapeSubtraction.h"
9 #include "GeoModelKernel/GeoShapeShift.h"
10 
11 GeoShape::GeoShape ()
12 {
13 }
14 
15 GeoShape::~GeoShape()
16 {
17 }
18 
19 const GeoShapeUnion & GeoShape::add (const GeoShape& shape) const
20 {
21  GeoShapeUnion *unionNode = new GeoShapeUnion (this, &shape);
22  return *unionNode;
23 }
24 
25 const GeoShapeSubtraction & GeoShape::subtract (const GeoShape& shape) const
26 {
27  GeoShapeSubtraction *subNode = new GeoShapeSubtraction (this, &shape);
28  return *subNode;
29 }
30 
31 const GeoShapeIntersection & GeoShape::intersect (const GeoShape& shape) const
32 {
33  GeoShapeIntersection *intNode = new GeoShapeIntersection (this, &shape);
34  return *intNode;
35 }
36 
37 const GeoShapeShift & GeoShape::operator << (const GeoTrf::Transform3D &shift) const
38 {
39  GeoShapeShift *shiftNode = new GeoShapeShift (this, shift);
40  return *shiftNode;
41 }
This class describes a Shape. Shapes will be able to do the following things:
Definition: GeoShape.h:38