99 G4double xmax=0,xmin=0,ymax=0,ymin=0,zmax=0,zmin=0;
139 t_FirstCenterofVoxelPlane=
G4ThreeVector(xmin,(ymin+ymax)*0.5,
145 t_FirstCenterofVoxelPlane=
G4ThreeVector((xmin+xmax)*0.5,ymin,
153 (ymin+ymax)*0.5,zmin);
162 voxel_plane.SetVisAttributes(voxelsVisAttributes);
169 while (slice_no<no_slices)
174 newlimit.AddLimit(header->
GetAxis(),beginning+step*slice_no,
178 current_translation_vector=unit_translation_vector;
179 current_translation_vector*=step*slice_no;
183 +t_FirstCenterofVoxelPlane)));
187 if (slice_no<no_slices) { slice=header->
GetSlice(slice_no); }
virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pMin, G4double &pMax) const =0
static const G4double kInfinity
CLHEP::Hep3Vector G4ThreeVector
G4int GetNoDaughters() const
G4VisAttributes fVoxelsVisAttributes[3]
void ComputeVoxelPolyhedra(const G4LogicalVolume *, const G4SmartVoxelHeader *, G4VoxelLimits &, G4PlacedPolyhedronList *) const
G4SmartVoxelNode * GetNode() const
G4SmartVoxelHeader * GetHeader() const
G4int GetMaxEquivalentSliceNo() const
G4VSolid * GetSolid() const
G4VisAttributes fBoundingBoxVisAttributes