52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
/*//////////////////////////////////////////////////////////////////////////////
|
|
// CMT Cosmic Muon Tomography project //////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
Copyright (c) 2014, Universita' degli Studi Padova, INFN sez. di Padova
|
|
All rights reserved
|
|
|
|
Authors: Andrea Rigoni Garola < andrea.rigoni@pd.infn.it >
|
|
|
|
//////////////////////////////////////////////////////////////////////////////*/
|
|
|
|
#include "vtkBoxSolid.h"
|
|
#include "Core/Monitor.h"
|
|
#include <vtkCubeSource.h>
|
|
#include <vtkPolyDataMapper.h>
|
|
#include <vtkActor.h>
|
|
#include <vtkProperty.h>
|
|
#include <vtkAssembly.h>
|
|
#include <vtkTransform.h>
|
|
#include <vtkMatrix4x4.h>
|
|
#include <Geant4/G4VPhysicalVolume.hh>
|
|
#include "Vtk/Math/vtkDense.h"
|
|
|
|
namespace uLib {
|
|
namespace Vtk {
|
|
|
|
BoxSolid::BoxSolid(Geant::BoxSolid *content)
|
|
: GeantSolid(content), m_BoxContent(content) {
|
|
}
|
|
|
|
BoxSolid::~BoxSolid() {
|
|
}
|
|
|
|
void BoxSolid::serialize_display(uLib::Archive::display_properties_archive &ar,
|
|
const unsigned int version) {
|
|
// Expose Geant solid properties and underlying Box/TRS properties
|
|
this->Prop3D::serialize_display(ar, version);
|
|
if (m_BoxContent) {
|
|
ar & NVP("Box", *m_BoxContent);
|
|
if (m_BoxContent->GetObject()) {
|
|
ar & NVP("Container", *m_BoxContent->GetObject());
|
|
}
|
|
}
|
|
}
|
|
|
|
void BoxSolid::InstallPipe() {
|
|
GeantSolid::InstallPipe();
|
|
}
|
|
|
|
} // namespace Vtk
|
|
} // namespace uLib
|