ATLAS Offline Software
Loading...
Searching...
No Matches
VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo Class Reference
Collaboration diagram for VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo:

Public Member Functions

 ModuleInfo (int moduleID)
 ~ModuleInfo ()
void addBox (const Amg::Transform3D &t, const GeoBox *b)
int moduleID () const
SoTransform * getTransform ()
SoGroup * get3DObjects ()

Private Member Functions

void init ()

Private Attributes

int m_moduleID
SoGroup * m_group
SoTransform * m_transform
QList< QPair< Amg::Transform3D, const GeoBox * > > m_transformsAndBoxes

Detailed Description

Definition at line 66 of file VP1RawDataHandle_BCM_RDO.cxx.

Constructor & Destructor Documentation

◆ ModuleInfo()

◆ ~ModuleInfo()

VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::~ModuleInfo ( )
inline

Definition at line 69 of file VP1RawDataHandle_BCM_RDO.cxx.

69{ if (m_group) m_group->unref();if (m_transform) m_transform->unref(); }

Member Function Documentation

◆ addBox()

void VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::addBox ( const Amg::Transform3D & t,
const GeoBox * b )
inline

Definition at line 70 of file VP1RawDataHandle_BCM_RDO.cxx.

◆ get3DObjects()

SoGroup * VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::get3DObjects ( )
inline

Definition at line 81 of file VP1RawDataHandle_BCM_RDO.cxx.

◆ getTransform()

SoTransform * VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::getTransform ( )
inline

Definition at line 76 of file VP1RawDataHandle_BCM_RDO.cxx.

76 {
77 if (!m_transform)
78 init();
79 return m_transform;
80 }

◆ init()

void VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::init ( )
inlineprivate

Definition at line 87 of file VP1RawDataHandle_BCM_RDO.cxx.

87 {
88 SoVisualizeAction a;
89 m_group = new SoGroup;
90 m_group->ref();
91 Amg::Transform3D accumTransf;
92 for(QPair< Amg::Transform3D,const GeoBox *> p : m_transformsAndBoxes) {
93 if (!m_transform) {
95 m_transform->ref();
96 accumTransf = p.first;
97 } else {
98 m_group->addChild(VP1LinAlgUtils::toSoTransform(accumTransf.inverse()*p.first));
99 accumTransf = (accumTransf*p.first);
100 }
101 a.handleBox(p.second);
102 if (a.getShape())
103 m_group->addChild(a.getShape());
104 }
105 m_transformsAndBoxes.clear();
106 if (!m_transform) {
107 m_transform = new SoTransform;
108 m_transform->ref();
109 }
110 }
static Double_t a
static SoTransform * toSoTransform(const HepGeom::Transform3D &, SoTransform *t=0)
Eigen::Affine3d Transform3D

◆ moduleID()

int VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::moduleID ( ) const
inline

Definition at line 75 of file VP1RawDataHandle_BCM_RDO.cxx.

75{ return m_moduleID; }

Member Data Documentation

◆ m_group

SoGroup* VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::m_group
private

Definition at line 112 of file VP1RawDataHandle_BCM_RDO.cxx.

◆ m_moduleID

int VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::m_moduleID
private

Definition at line 111 of file VP1RawDataHandle_BCM_RDO.cxx.

◆ m_transform

SoTransform* VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::m_transform
private

Definition at line 113 of file VP1RawDataHandle_BCM_RDO.cxx.

◆ m_transformsAndBoxes

QList<QPair< Amg::Transform3D,const GeoBox *> > VP1RawDataHandle_BCM_RDO::Imp::ModuleInfo::m_transformsAndBoxes
private

Definition at line 114 of file VP1RawDataHandle_BCM_RDO.cxx.


The documentation for this class was generated from the following file: