5 #include "GeoModelKernel/GeoTraversalState.h" 7 GeoTraversalState::GeoTraversalState ()
8 : m_absTransform(
GeoTrf::Transform3D::Identity())
9 , m_defAbsTransform(
GeoTrf::Transform3D::Identity())
10 , m_transform(
GeoTrf::Transform3D::Identity())
11 , m_defTransform(
GeoTrf::Transform3D::Identity())
15 GeoTraversalState::~GeoTraversalState()
19 const GeoTrf::Transform3D & GeoTraversalState::getTransform ()
const 24 const std::string & GeoTraversalState::getName ()
const 29 const GeoTrf::Transform3D & GeoTraversalState::getDefTransform ()
const 31 return m_defTransform;
34 const std::string & GeoTraversalState::getAbsoluteName ()
const 39 const GeoTrf::Transform3D & GeoTraversalState::getDefAbsoluteTransform ()
const 41 return m_defAbsTransform;
44 const GeoTrf::Transform3D & GeoTraversalState::getAbsoluteTransform ()
const 46 return m_absTransform;
49 void GeoTraversalState::setTransform (
const GeoTrf::Transform3D &transform)
51 m_transform = transform;
52 m_absTransform = m_absTransformList.top () * transform;
55 void GeoTraversalState::setName (
const std::string &name)
58 m_absName = m_absNameList.top () +
"/" + name;
61 void GeoTraversalState::setDefTransform (
const GeoTrf::Transform3D &transform)
63 m_defTransform = transform;
64 m_defAbsTransform = m_defAbsTransformList.top () * transform;
67 void GeoTraversalState::nextLevel (
const GeoVPhysVol* pv)
69 m_absNameList.push (m_absName);
70 m_absTransformList.push (m_absTransform);
71 m_defAbsTransformList.push (m_defAbsTransform);
78 m_absTransform = m_defAbsTransform = m_transform = m_defTransform =
79 GeoTrf::Transform3D::Identity();
82 void GeoTraversalState::previousLevel ()
84 m_absTransform = m_absTransformList.top ();
85 m_defAbsTransform = m_defAbsTransformList.top ();
86 m_absTransformList.pop ();
87 m_defAbsTransformList.pop ();
90 m_transform = m_defTransform = GeoTrf::Transform3D::Identity();
93 const GeoNodePath * GeoTraversalState::getPath ()
const 98 void GeoTraversalState::setId (
const Query<int> &
id)
103 const Query<int> GeoTraversalState::getId ()
const