Geant4
10.03
|
#include <G4ExtrudedSolid.hh>
Classes | |
struct | ZSection |
Private Member Functions | |
void | ComputeProjectionParameters () |
G4ThreeVector | GetVertex (G4int iz, G4int ind) const |
G4TwoVector | ProjectPoint (const G4ThreeVector &point) const |
G4bool | IsSameLine (const G4TwoVector &p, const G4TwoVector &l1, const G4TwoVector &l2) const |
G4bool | IsSameLineSegment (const G4TwoVector &p, const G4TwoVector &l1, const G4TwoVector &l2) const |
G4bool | IsSameSide (const G4TwoVector &p1, const G4TwoVector &p2, const G4TwoVector &l1, const G4TwoVector &l2) const |
G4bool | IsPointInside (const G4TwoVector &a, const G4TwoVector &b, const G4TwoVector &c, const G4TwoVector &p) const |
G4double | GetAngle (const G4TwoVector &p0, const G4TwoVector &pa, const G4TwoVector &pb) const |
G4VFacet * | MakeDownFacet (G4int ind1, G4int ind2, G4int ind3) const |
G4VFacet * | MakeUpFacet (G4int ind1, G4int ind2, G4int ind3) const |
G4bool | AddGeneralPolygonFacets () |
G4bool | MakeFacets () |
Private Attributes | |
G4int | fNv |
G4int | fNz |
std::vector< G4TwoVector > | fPolygon |
std::vector< ZSection > | fZSections |
std::vector< std::vector< G4int > > | fTriangles |
G4bool | fIsConvex |
G4GeometryType | fGeometryType |
std::vector< G4double > | fKScales |
std::vector< G4double > | fScale0s |
std::vector< G4TwoVector > | fKOffsets |
std::vector< G4TwoVector > | fOffset0s |
Additional Inherited Members | |
![]() | |
void | CalculateClippedPolygonExtent (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipCrossSection (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipBetweenSections (G4ThreeVectorList *pVertices, const G4int pSectionIndex, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis, G4double &pMin, G4double &pMax) const |
void | ClipPolygon (G4ThreeVectorList &pPolygon, const G4VoxelLimits &pVoxelLimit, const EAxis pAxis) const |
![]() | |
G4double | kCarToleranceHalf |
![]() | |
G4double | kCarTolerance |
Definition at line 83 of file G4ExtrudedSolid.hh.
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4String & | pName, |
const std::vector< G4TwoVector > & | polygon, | ||
const std::vector< ZSection > & | zsections | ||
) |
Definition at line 70 of file G4ExtrudedSolid.cc.
References ComputeProjectionParameters(), FatalErrorInArgument, FatalException, fIsConvex, fNv, fNz, fPolygon, fZSections, G4Exception(), G4GeomTools::IsConvex(), JustWarning, G4VSolid::kCarTolerance, G4TessellatedSolid::kCarToleranceHalf, MakeFacets(), G4GeomTools::PolygonArea(), G4GeomTools::RemoveRedundantVertices(), and reverse.
Referenced by Clone().
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4String & | pName, |
const std::vector< G4TwoVector > & | polygon, | ||
G4double | halfZ, | ||
const G4TwoVector & | off1, | ||
G4double | scale1, | ||
const G4TwoVector & | off2, | ||
G4double | scale2 | ||
) |
Definition at line 185 of file G4ExtrudedSolid.cc.
References ComputeProjectionParameters(), FatalErrorInArgument, FatalException, fIsConvex, fNv, fPolygon, fZSections, G4Exception(), G4GeomTools::IsConvex(), JustWarning, G4VSolid::kCarTolerance, MakeFacets(), G4GeomTools::PolygonArea(), G4GeomTools::RemoveRedundantVertices(), and reverse.
|
virtual |
Definition at line 321 of file G4ExtrudedSolid.cc.
G4ExtrudedSolid::G4ExtrudedSolid | ( | __void__ & | a | ) |
Definition at line 275 of file G4ExtrudedSolid.cc.
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4ExtrudedSolid & | rhs | ) |
Definition at line 285 of file G4ExtrudedSolid.cc.
|
private |
Definition at line 588 of file G4ExtrudedSolid.cc.
References G4TessellatedSolid::AddFacet(), angle, c2, FatalException, fNv, fPolygon, fTriangles, G4Exception(), GetAngle(), G4GeometryTolerance::GetAngularTolerance(), G4GeometryTolerance::GetInstance(), IsPointInside(), MakeDownFacet(), MakeUpFacet(), and pi.
Referenced by MakeFacets().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 968 of file G4ExtrudedSolid.cc.
References G4BoundingEnvelope::BoundingBoxVsVoxelLimits(), G4BoundingEnvelope::CalculateExtent(), emax, Extent(), G4ExtrudedSolid::ZSection::fOffset, fPolygon, G4ExtrudedSolid::ZSection::fScale, G4ExtrudedSolid::ZSection::fZ, G4Exception(), G4VoxelLimits::GetMaxExtent(), G4VoxelLimits::GetMinExtent(), G4VSolid::GetName(), GetNofZSections(), GetZSection(), JustWarning, kInfinity, and G4GeomTools::TriangulatePolygon().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 801 of file G4ExtrudedSolid.cc.
References G4ExtrudedSolid().
|
private |
Definition at line 328 of file G4ExtrudedSolid.cc.
References fKOffsets, fKScales, fNz, fOffset0s, fScale0s, and fZSections.
Referenced by G4ExtrudedSolid().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 881 of file G4ExtrudedSolid.cc.
References G4TessellatedSolid::DistanceToOut(), and fIsConvex.
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 900 of file G4ExtrudedSolid.cc.
References G4TessellatedSolid::DistanceToOut().
|
virtual |
Reimplemented from G4VSolid.
Definition at line 911 of file G4ExtrudedSolid.cc.
References G4VSolid::DumpInfo(), G4ExtrudedSolid::ZSection::fOffset, fPolygon, G4ExtrudedSolid::ZSection::fScale, G4ExtrudedSolid::ZSection::fZ, G4Exception(), G4VSolid::GetName(), GetNofVertices(), GetNofZSections(), GetZSection(), JustWarning, kInfinity, G4INCL::Math::max(), and G4INCL::Math::min().
Referenced by CalculateExtent().
|
private |
Definition at line 502 of file G4ExtrudedSolid.cc.
References pi.
Referenced by AddGeneralPolygonFacets().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 792 of file G4ExtrudedSolid.cc.
References fGeometryType.
|
inline |
Referenced by Extent(), and G4GDMLWriteSolids::XtruWrite().
|
inline |
Referenced by CalculateExtent(), Extent(), and G4GDMLWriteSolids::XtruWrite().
|
inline |
|
inline |
Referenced by MakeDownFacet(), MakeFacets(), MakeUpFacet(), and G4GDMLWriteSolids::XtruWrite().
|
private |
Definition at line 362 of file G4ExtrudedSolid.cc.
References fPolygon, and fZSections.
Referenced by CalculateExtent(), Extent(), and G4GDMLWriteSolids::XtruWrite().
|
inline |
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 808 of file G4ExtrudedSolid.cc.
References fNv, fNz, fPolygon, fTriangles, fZSections, G4TessellatedSolid::GetMaxXExtent(), G4TessellatedSolid::GetMaxYExtent(), G4TessellatedSolid::GetMaxZExtent(), G4TessellatedSolid::GetMinXExtent(), G4TessellatedSolid::GetMinYExtent(), G4TessellatedSolid::GetMinZExtent(), IsPointInside(), IsSameLineSegment(), G4TessellatedSolid::kCarToleranceHalf, kInside, kOutside, kSurface, and ProjectPoint().
|
private |
Definition at line 471 of file G4ExtrudedSolid.cc.
References IsSameLineSegment(), and IsSameSide().
Referenced by AddGeneralPolygonFacets(), and Inside().
|
private |
Definition at line 406 of file G4ExtrudedSolid.cc.
References G4TessellatedSolid::kCarToleranceHalf.
Referenced by IsSameLineSegment().
|
private |
Definition at line 436 of file G4ExtrudedSolid.cc.
References IsSameLine(), G4TessellatedSolid::kCarToleranceHalf, G4INCL::Math::max(), and G4INCL::Math::min().
Referenced by Inside(), and IsPointInside().
|
private |
Definition at line 456 of file G4ExtrudedSolid.cc.
Referenced by IsPointInside().
Definition at line 521 of file G4ExtrudedSolid.cc.
References ABSOLUTE, and GetVertex().
Referenced by AddGeneralPolygonFacets().
|
private |
Definition at line 712 of file G4ExtrudedSolid.cc.
References ABSOLUTE, G4TessellatedSolid::AddFacet(), AddGeneralPolygonFacets(), fNv, fNz, fTriangles, GetVertex(), and G4TessellatedSolid::SetSolidClosed().
Referenced by G4ExtrudedSolid().
Definition at line 555 of file G4ExtrudedSolid.cc.
References ABSOLUTE, fNz, and GetVertex().
Referenced by AddGeneralPolygonFacets().
G4ExtrudedSolid & G4ExtrudedSolid::operator= | ( | const G4ExtrudedSolid & | rhs | ) |
Definition at line 297 of file G4ExtrudedSolid.cc.
References fGeometryType, fIsConvex, fKOffsets, fKScales, fNv, fNz, fOffset0s, fPolygon, fScale0s, fTriangles, fZSections, and G4TessellatedSolid::operator=().
|
private |
Definition at line 375 of file G4ExtrudedSolid.cc.
References fKOffsets, fKScales, fNz, fOffset0s, fScale0s, fZSections, and G4InuclParticleNames::z0.
Referenced by Inside().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 1059 of file G4ExtrudedSolid.cc.
References fGeometryType, fIsConvex, fNv, fNz, fPolygon, fZSections, G4endl, G4VSolid::GetName(), and mm.
|
private |
Definition at line 193 of file G4ExtrudedSolid.hh.
Referenced by GetEntityType(), operator=(), and StreamInfo().
|
private |
Definition at line 192 of file G4ExtrudedSolid.hh.
Referenced by DistanceToOut(), G4ExtrudedSolid(), operator=(), and StreamInfo().
|
private |
Definition at line 197 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 195 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 187 of file G4ExtrudedSolid.hh.
Referenced by AddGeneralPolygonFacets(), G4ExtrudedSolid(), Inside(), MakeFacets(), operator=(), and StreamInfo().
|
private |
Definition at line 188 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), G4ExtrudedSolid(), Inside(), MakeFacets(), MakeUpFacet(), operator=(), ProjectPoint(), and StreamInfo().
|
private |
Definition at line 198 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 189 of file G4ExtrudedSolid.hh.
Referenced by AddGeneralPolygonFacets(), CalculateExtent(), Extent(), G4ExtrudedSolid(), GetVertex(), Inside(), operator=(), and StreamInfo().
|
private |
Definition at line 196 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 191 of file G4ExtrudedSolid.hh.
Referenced by AddGeneralPolygonFacets(), Inside(), MakeFacets(), and operator=().
|
private |
Definition at line 190 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), G4ExtrudedSolid(), GetVertex(), Inside(), operator=(), ProjectPoint(), and StreamInfo().