65 fVoxelsVisAttributes[0] = VA_voxelX;
66 fVoxelsVisAttributes[1] = VA_voxelY;
67 fVoxelsVisAttributes[2] = VA_voxelZ;
72 fBoundingBoxVisAttributes = VA_boundingbox;
87 G4double dx=kInfinity, dy=kInfinity, dz=kInfinity;
88 G4double xmax=0, xmin=0, ymax=0, ymin=0, zmax=0, zmin=0;
109 bounding_polyhedronBox.SetVisAttributes(&fBoundingBoxVisAttributes);
128 t_FirstCenterofVoxelPlane=
G4ThreeVector(xmin,(ymin+ymax)*0.5,
130 voxelsVisAttributes=&fVoxelsVisAttributes[0];
134 t_FirstCenterofVoxelPlane=
G4ThreeVector((xmin+xmax)*0.5,ymin,
137 voxelsVisAttributes=&fVoxelsVisAttributes[1];
142 (ymin+ymax)*0.5,zmin);
144 voxelsVisAttributes=&fVoxelsVisAttributes[2];
151 voxel_plane.SetVisAttributes(voxelsVisAttributes);
154 std::size_t slice_no = 0, no_slices = header->
GetNoSlices();
158 while (slice_no<no_slices)
163 newlimit.AddLimit(header->
GetAxis(), beginning+step*slice_no,
165 ComputeVoxelPolyhedra(lv,slice->
GetHeader(), newlimit, ppl);
167 current_translation_vector = unit_translation_vector;
168 current_translation_vector *= step*slice_no;
172 + t_FirstCenterofVoxelPlane)));
176 if (slice_no<no_slices) { slice=header->
GetSlice(slice_no); }
208 GetNavigatorForTracking()->CreateTouchableHistoryHandle();
215 if(pVVisManager !=
nullptr)
219 for (
const auto & i : *pplist)
221 pVVisManager->
Draw(i.GetPolyhedron(),
222 i.GetTransform()*transf3D);
229 "Pointer to visualization manager is null!");
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
std::vector< G4PlacedPolyhedron > G4PlacedPolyhedronList
CLHEP::Hep3Vector G4ThreeVector
void DrawVoxels(const G4LogicalVolume *lv) const
void SetVoxelsVisAttributes(G4VisAttributes &, G4VisAttributes &, G4VisAttributes &)
G4PlacedPolyhedronList * CreatePlacedPolyhedra(const G4LogicalVolume *) const
void SetBoundingBoxVisAttributes(G4VisAttributes &)
G4VSolid * GetSolid() const
std::size_t GetNoDaughters() const
G4SmartVoxelHeader * GetVoxelHeader() const
const G4AffineTransform & GetTopTransform() const
G4int GetMaxEquivalentSliceNo() const
G4SmartVoxelNode * GetNode() const
G4SmartVoxelHeader * GetHeader() const
virtual const G4NavigationHistory * GetHistory() const
static G4TransportationManager * GetTransportationManager()
virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
static G4VVisManager * GetConcreteInstance()
virtual void Draw(const G4Circle &, const G4Transform3D &objectTransformation=G4Transform3D())=0
void SetColour(const G4Colour &)