372 const G4ThreeVector& translation = pVPV -> GetTranslation ();
392 pVisAttribs = &defaultVisAttribs;
398 G4bool thisToBeDrawn =
true;
403 (G4PhysicalVolumeNodeID
410 for (
const auto& vam: vams) {
411 const auto& vamPath = vam.GetPVNameCopyNoPath();
415 auto iVAMNameCopyNo = vamPath.begin();
417 for (; iVAMNameCopyNo != vamPath.end(); ++iVAMNameCopyNo, ++iPVNodeId) {
419 iVAMNameCopyNo->GetName() ==
420 iPVNodeId->GetPhysicalVolume()->GetName() &&
421 iVAMNameCopyNo->GetCopyNo() ==
422 iPVNodeId->GetPhysicalVolume()->GetCopyNo()
428 if (iVAMNameCopyNo == vamPath.end()) {
434 modifiedVisAtts = *pVisAttribs;
435 pVisAttribs = &modifiedVisAtts;
437 switch (vam.GetVisAttributesSignifier()) {
498 if (cullingInvisible) {
500 if (!markedVisible) thisToBeDrawn =
false;
503 if (cullingLowDensity) {
505 if (density < densityCut) thisToBeDrawn =
false;
509 if (
fAbort) thisToBeDrawn =
false;
518 (G4PhysicalVolumeNodeID
532 explodeFactor * oldTranslation.
dy(),
533 explodeFactor * oldTranslation.
dz());
534 theNewAT = centering * newTranslation * oldRotation * oldScale;
546 G4bool daughtersToBeDrawn =
true;
548 if (!nDaughters) daughtersToBeDrawn =
false;
550 else if (requestedDepth == 0) daughtersToBeDrawn =
false;
552 else if (
fAbort) daughtersToBeDrawn =
false;
577 if (cullingInvisible) {
579 if (daughtersInvisible) daughtersToBeDrawn =
false;
582 if (cullingCovered) {
584 if (surfaceDrawing) {
588 if (opaque) daughtersToBeDrawn =
false;
595 if (daughtersToBeDrawn) {
596 for (
G4int iDaughter = 0; iDaughter < nDaughters; iDaughter++) {
602 (pDaughterVPV, requestedDepth - 1, theNewAT, sceneHandler);
G4bool IsForceAuxEdgeVisible() const
void SetColour(const G4Colour &)
G4double GetAlpha() const
const G4Point3D & GetExplodeCentre() const
const G4VisAttributes * GetDefaultVisAttributes() const
G4double GetLineWidth() const
void SetLineStyle(LineStyle)
void SetLineWidth(G4double)
G4double GetDensity() const
const G4Colour & GetColour() const
G4bool IsDensityCulling() const
G4Transform3D * fpCurrentTransform
G4VPhysicalVolume * fpCurrentPV
void SetForceSolid(G4bool=true)
LineStyle GetLineStyle() const
std::vector< G4PhysicalVolumeNodeID > fFullPVPath
G4bool IsDaughtersInvisible() const
void SetVisibility(G4bool=true)
G4bool IsCullingCovered() const
G4Material * fpCurrentMaterial
const G4VisAttributes * GetVisAttributes() const
G4LogicalVolume * fpCurrentLV
const G4ModelingParameters * fpMP
G4bool IsForcedAuxEdgeVisible() const
virtual void DescribeSolid(const G4Transform3D &theAT, G4VSolid *pSol, const G4VisAttributes *pVisAttribs, G4VGraphicsScene &sceneHandler)
G4bool IsCullingInvisible() const
G4int GetNoDaughters() const
void SetDaughtersInvisible(G4bool=true)
G4int GetForcedLineSegmentsPerCircle() const
G4double GetExplodeFactor() const
G4bool IsForceDrawingStyle() const
virtual G4int GetCopyNo() const =0
void SetForceAuxEdgeVisible(G4bool=true)
std::vector< G4PhysicalVolumeNodeID > fDrawnPVPath
void VisitGeometryAndGetVisReps(G4VPhysicalVolume *, G4int requestedDepth, const G4Transform3D &, G4VGraphicsScene &)
void SetForceWireframe(G4bool=true)
ForcedDrawingStyle GetForcedDrawingStyle() const
DrawingStyle GetDrawingStyle() const
void SetForceLineSegmentsPerCircle(G4int nSegments)
const std::vector< VisAttributesModifier > & GetVisAttributesModifiers() const