61#ifndef G4PHYSICALVOLUMEMODEL_HH
62#define G4PHYSICALVOLUMEMODEL_HH
101 fNonCulledDepth(depth),
102 fTransform(transform),
122 G4int fNonCulledDepth;
131 (
const std::vector<G4PhysicalVolumeNodeID>& fullPVPath);
139 const std::vector<G4PhysicalVolumeNodeID>& fFullPVPath;
158 G4bool useFullExtent =
false,
159 const std::vector<G4PhysicalVolumeNodeID>& baseFullPVPath =
160 std::vector<G4PhysicalVolumeNodeID>());
225 (
const std::vector<G4PhysicalVolumeNodeID>&);
232 const std::map<G4String,G4AttDef>*
GetAttDefs()
const;
274 G4int requestedDepth,
279 G4int requestedDepth,
325std::ostream&
operator<<
328std::ostream&
operator<<
329(std::ostream& os,
const std::vector<G4PhysicalVolumeModel::G4PhysicalVolumeNodeID>&);
std::vector< PVNameCopyNo > PVNameCopyNoPath
G4VSolid * GetSolid(G4int depth) const
G4VPhysicalVolume * GetVolume(G4int depth) const
G4int GetHistoryDepth() const
G4int GetReplicaNumber(G4int depth) const
const G4RotationMatrix * GetRotation(G4int depth) const
G4PhysicalVolumeModelTouchable(const std::vector< G4PhysicalVolumeNodeID > &fullPVPath)
const G4ThreeVector & GetTranslation(G4int depth) const
G4PhysicalVolumeNodeID(G4VPhysicalVolume *pPV=0, G4int iCopyNo=0, G4int depth=0, const G4Transform3D &transform=G4Transform3D(), G4bool drawn=true)
G4bool operator==(const G4PhysicalVolumeNodeID &right) const
void SetNonCulledDepth(G4int d)
const G4Transform3D & GetTransform() const
G4bool operator<(const G4PhysicalVolumeNodeID &right) const
G4VPhysicalVolume * GetPhysicalVolume() const
void SetTransform(const G4Transform3D &t)
G4int GetNonCulledDepth() const
void SetPhysicalVolume(G4VPhysicalVolume *v)
G4bool operator!=(const G4PhysicalVolumeNodeID &right) const
const std::vector< G4PhysicalVolumeNodeID > & GetDrawnPVPath() const
G4int GetRequestedDepth() const
G4int GetCurrentPVCopyNo() const
const G4VSolid * GetClippingSolid() const
const G4Transform3D & GetCurrentTransform() const
void DescribeAndDescend(G4VPhysicalVolume *, G4int requestedDepth, G4LogicalVolume *, G4VSolid *, G4Material *, const G4Transform3D &, G4VGraphicsScene &)
G4VPhysicalVolume * GetCurrentPV() const
std::vector< G4PhysicalVolumeNodeID > fFullPVPath
void SetClippingSolid(G4VSolid *pClippingSolid)
G4VPhysicalVolume * fpTopPV
void VisitGeometryAndGetVisReps(G4VPhysicalVolume *, G4int requestedDepth, const G4Transform3D &, G4VGraphicsScene &)
std::vector< G4AttValue > * CreateCurrentAttValues() const
G4PhysicalVolumeModel(G4VPhysicalVolume *=0, G4int requestedDepth=UNLIMITED, const G4Transform3D &modelTransformation=G4Transform3D(), const G4ModelingParameters *=0, G4bool useFullExtent=false, const std::vector< G4PhysicalVolumeNodeID > &baseFullPVPath=std::vector< G4PhysicalVolumeNodeID >())
G4VSolid * fpClippingSolid
G4Material * fpCurrentMaterial
virtual ~G4PhysicalVolumeModel()
G4String GetCurrentTag() const
std::vector< G4PhysicalVolumeNodeID > fDrawnPVPath
G4Transform3D fCurrentTransform
G4bool Validate(G4bool warn)
void SetRequestedDepth(G4int requestedDepth)
void CurtailDescent() const
virtual void DescribeSolid(const G4Transform3D &theAT, G4VSolid *pSol, const G4VisAttributes *pVisAttribs, G4VGraphicsScene &sceneHandler)
ClippingMode fClippingMode
static G4String GetPVNamePathString(const std::vector< G4PhysicalVolumeNodeID > &)
G4String GetCurrentDescription() const
void SetClippingMode(ClippingMode mode)
const G4Transform3D & GetTransformation() const
void DescribeYourselfTo(G4VGraphicsScene &)
const std::map< G4int, G4int > & GetNumberOfTouchables() const
G4LogicalVolume * GetCurrentLV() const
const std::vector< G4PhysicalVolumeNodeID > & GetFullPVPath() const
std::vector< G4PhysicalVolumeNodeID > fBaseFullPVPath
G4VPhysicalVolume * GetTopPhysicalVolume() const
const std::vector< G4PhysicalVolumeNodeID > & GetBaseFullPVPath() const
G4VPhysicalVolume * fpCurrentPV
G4Material * GetCurrentMaterial() const
std::map< G4int, G4int > fNTouchables
const std::map< G4String, G4AttDef > * GetAttDefs() const
static G4ModelingParameters::PVNameCopyNoPath GetPVNameCopyNoPath(const std::vector< G4PhysicalVolumeNodeID > &)
G4int GetCurrentDepth() const
G4LogicalVolume * fpCurrentLV
G4ModelingParameters::PVNameCopyNoPath fTouchablePath
G4VPhysicalVolume * fpTouchablePV
std::vector< G4PhysicalVolumeNodeID > fTouchableFullPVPath
std::vector< G4PhysicalVolumeNodeID > fTouchableBaseFullPVPath
G4Transform3D fTouchableGlobalTransform