From 109409a6d9ae56cb17b1a2d970e59c0d9afd2b9c Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Tue, 24 Jun 2025 11:01:05 -0500 Subject: [PATCH] fix: support TGeoCompositeShape for world volume --- src/geocad/src/TOCCToStep.cxx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/geocad/src/TOCCToStep.cxx b/src/geocad/src/TOCCToStep.cxx index a4a9ecf..fb064ae 100644 --- a/src/geocad/src/TOCCToStep.cxx +++ b/src/geocad/src/TOCCToStep.cxx @@ -79,7 +79,11 @@ TDF_Label TOCCToStep::OCCShapeCreation(TGeoManager *m, double tgeo_length_unit_i Int_t level = 0; TIter next(m->GetListOfVolumes()); fLabel = XCAFDoc_DocumentTool::ShapeTool(fDoc->Main())->NewShape(); - fShape = fRootShape.OCC_SimpleShape(m->GetTopVolume()->GetShape()); + if (m->GetTopVolume()->GetShape()->IsA()==TGeoCompositeShape::Class()) { + fShape = fRootShape.OCC_CompositeShape((TGeoCompositeShape*)m->GetTopVolume()->GetShape(), TGeoIdentity()); + } else { + fShape = fRootShape.OCC_SimpleShape(m->GetTopVolume()->GetShape()); + } XCAFDoc_DocumentTool::ShapeTool(fDoc->Main())->SetShape(fLabel, fShape); TDataStd_Name::Set(fLabel, m->GetTopVolume()->GetName()); XCAFDoc_DocumentTool::ShapeTool(fDoc->Main())->UpdateAssemblies();//fDoc->Main());