Geant4
10.02
|
#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 (G4TwoVector p, G4TwoVector l1, G4TwoVector l2) const |
G4bool | IsSameLineSegment (G4TwoVector p, G4TwoVector l1, G4TwoVector l2) const |
G4bool | IsSameSide (G4TwoVector p1, G4TwoVector p2, G4TwoVector l1, G4TwoVector l2) const |
G4bool | IsPointInside (G4TwoVector a, G4TwoVector b, G4TwoVector c, G4TwoVector p) const |
G4double | GetAngle (G4TwoVector p0, G4TwoVector pa, 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 () |
G4bool | IsConvex () const |
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 | |
Protected Member Functions inherited from G4VSolid | |
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 |
Protected Attributes inherited from G4VSolid | |
G4double | kCarTolerance |
Definition at line 82 of file G4ExtrudedSolid.hh.
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4String & | pName, |
std::vector< G4TwoVector > | polygon, | ||
std::vector< ZSection > | zsections | ||
) |
Definition at line 55 of file G4ExtrudedSolid.cc.
References ComputeProjectionParameters(), FatalErrorInArgument, FatalException, fIsConvex, fNv, fNz, fPolygon, fZSections, G4Exception(), IsConvex(), G4VSolid::kCarTolerance, and MakeFacets().
Referenced by Clone().
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4String & | pName, |
std::vector< G4TwoVector > | polygon, | ||
G4double | halfZ, | ||
G4TwoVector | off1, | ||
G4double | scale1, | ||
G4TwoVector | off2, | ||
G4double | scale2 | ||
) |
Definition at line 154 of file G4ExtrudedSolid.cc.
References ComputeProjectionParameters(), FatalErrorInArgument, FatalException, fIsConvex, fNv, fPolygon, fZSections, G4Exception(), IsConvex(), and MakeFacets().
|
virtual |
Definition at line 275 of file G4ExtrudedSolid.cc.
G4ExtrudedSolid::G4ExtrudedSolid | ( | __void__ & | a | ) |
Definition at line 229 of file G4ExtrudedSolid.cc.
G4ExtrudedSolid::G4ExtrudedSolid | ( | const G4ExtrudedSolid & | rhs | ) |
Definition at line 239 of file G4ExtrudedSolid.cc.
|
private |
Definition at line 534 of file G4ExtrudedSolid.cc.
References G4TessellatedSolid::AddFacet(), c1, c2, c3, FatalException, fNv, fPolygon, fTriangles, G4Exception(), GetAngle(), IsPointInside(), MakeDownFacet(), MakeUpFacet(), and pi.
Referenced by MakeFacets().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 761 of file G4ExtrudedSolid.cc.
References G4ExtrudedSolid().
|
private |
Definition at line 282 of file G4ExtrudedSolid.cc.
References fKOffsets, fKScales, fNz, fOffset0s, fScale0s, fZSections, and iz.
Referenced by G4ExtrudedSolid().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 841 of file G4ExtrudedSolid.cc.
References G4TessellatedSolid::DistanceToOut(), and fIsConvex.
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 860 of file G4ExtrudedSolid.cc.
References G4TessellatedSolid::DistanceToOut().
|
private |
Definition at line 450 of file G4ExtrudedSolid.cc.
References pi.
Referenced by AddGeneralPolygonFacets().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 752 of file G4ExtrudedSolid.cc.
References fGeometryType.
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by MakeDownFacet(), MakeFacets(), MakeUpFacet(), and G4GDMLWriteSolids::XtruWrite().
|
private |
Definition at line 316 of file G4ExtrudedSolid.cc.
References fPolygon, fZSections, iz, and x.
|
inline |
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 768 of file G4ExtrudedSolid.cc.
References fNv, fNz, fPolygon, fTriangles, fZSections, G4TessellatedSolid::GetMaxXExtent(), G4TessellatedSolid::GetMaxYExtent(), G4TessellatedSolid::GetMaxZExtent(), G4TessellatedSolid::GetMinXExtent(), G4TessellatedSolid::GetMinYExtent(), G4TessellatedSolid::GetMinZExtent(), IsPointInside(), IsSameLineSegment(), G4VSolid::kCarTolerance, kInside, kOutside, kSurface, and ProjectPoint().
|
private |
Definition at line 731 of file G4ExtrudedSolid.cc.
References fNv, fPolygon, and pi.
Referenced by G4ExtrudedSolid().
|
private |
Definition at line 421 of file G4ExtrudedSolid.cc.
References IsSameLineSegment(), and IsSameSide().
Referenced by AddGeneralPolygonFacets(), and Inside().
|
private |
Definition at line 360 of file G4ExtrudedSolid.cc.
References G4VSolid::kCarTolerance.
Referenced by IsSameLineSegment().
|
private |
Definition at line 389 of file G4ExtrudedSolid.cc.
References IsSameLine(), G4VSolid::kCarTolerance, G4INCL::Math::max(), and G4INCL::Math::min().
Referenced by Inside(), and IsPointInside().
|
private |
Definition at line 408 of file G4ExtrudedSolid.cc.
Referenced by IsPointInside().
Definition at line 467 of file G4ExtrudedSolid.cc.
References ABSOLUTE, and GetVertex().
Referenced by AddGeneralPolygonFacets().
|
private |
Definition at line 655 of file G4ExtrudedSolid.cc.
References ABSOLUTE, G4TessellatedSolid::AddFacet(), AddGeneralPolygonFacets(), fNv, fNz, fTriangles, GetVertex(), iz, and G4TessellatedSolid::SetSolidClosed().
Referenced by G4ExtrudedSolid().
Definition at line 501 of file G4ExtrudedSolid.cc.
References ABSOLUTE, fNz, and GetVertex().
Referenced by AddGeneralPolygonFacets().
G4ExtrudedSolid & G4ExtrudedSolid::operator= | ( | const G4ExtrudedSolid & | rhs | ) |
Definition at line 251 of file G4ExtrudedSolid.cc.
References fGeometryType, fIsConvex, fKOffsets, fKScales, fNv, fNz, fOffset0s, fPolygon, fScale0s, fTriangles, fZSections, and G4TessellatedSolid::operator=().
|
private |
Definition at line 329 of file G4ExtrudedSolid.cc.
References fKOffsets, fKScales, fNz, fOffset0s, fScale0s, fZSections, iz, and G4InuclParticleNames::z0.
Referenced by Inside().
|
virtual |
Reimplemented from G4TessellatedSolid.
Definition at line 869 of file G4ExtrudedSolid.cc.
References fGeometryType, fIsConvex, fNv, fNz, fPolygon, fZSections, G4endl, G4VSolid::GetName(), iz, and mm.
|
private |
Definition at line 181 of file G4ExtrudedSolid.hh.
Referenced by GetEntityType(), operator=(), and StreamInfo().
|
private |
Definition at line 180 of file G4ExtrudedSolid.hh.
Referenced by DistanceToOut(), G4ExtrudedSolid(), operator=(), and StreamInfo().
|
private |
Definition at line 185 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 183 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 175 of file G4ExtrudedSolid.hh.
Referenced by AddGeneralPolygonFacets(), G4ExtrudedSolid(), Inside(), IsConvex(), MakeFacets(), operator=(), and StreamInfo().
|
private |
Definition at line 176 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), G4ExtrudedSolid(), Inside(), MakeFacets(), MakeUpFacet(), operator=(), ProjectPoint(), and StreamInfo().
|
private |
Definition at line 186 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 177 of file G4ExtrudedSolid.hh.
Referenced by AddGeneralPolygonFacets(), G4ExtrudedSolid(), GetVertex(), Inside(), IsConvex(), operator=(), and StreamInfo().
|
private |
Definition at line 184 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), operator=(), and ProjectPoint().
|
private |
Definition at line 179 of file G4ExtrudedSolid.hh.
Referenced by AddGeneralPolygonFacets(), Inside(), MakeFacets(), and operator=().
|
private |
Definition at line 178 of file G4ExtrudedSolid.hh.
Referenced by ComputeProjectionParameters(), G4ExtrudedSolid(), GetVertex(), Inside(), operator=(), ProjectPoint(), and StreamInfo().