62 #ifndef G4ExtrudedSolid_HH
63 #define G4ExtrudedSolid_HH
91 std::vector<G4TwoVector> polygon,
92 std::vector<ZSection> zsections);
96 std::vector<G4TwoVector> polygon,
109 inline std::vector<G4TwoVector>
GetPolygon()
const;
120 const G4bool calcNorm=
false,
126 std::ostream&
StreamInfo(std::ostream &os)
const;
141 void ComputeProjectionParameters();
159 G4bool AddGeneralPolygonFacets();
168 std::vector<G4TwoVector> fPolygon;
169 std::vector<ZSection> fZSections;
170 std::vector< std::vector<G4int> > fTriangles;
174 std::vector<G4double> fKScales;
175 std::vector<G4double> fScale0s;
176 std::vector<G4TwoVector> fKOffsets;
177 std::vector<G4TwoVector> fOffset0s;
180 #include "G4ExtrudedSolid.icc"
std::vector< G4TwoVector > GetPolygon() const
G4GeometryType GetEntityType() const
G4ExtrudedSolid(const G4String &pName, std::vector< G4TwoVector > polygon, std::vector< ZSection > zsections)
ZSection(G4double z, G4TwoVector offset, G4double scale)
virtual ~G4ExtrudedSolid()
EInside Inside(const G4ThreeVector &p) const
G4TwoVector GetVertex(G4int index) const
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
G4int GetNofVertices() const
G4int GetNofZSections() const
std::ostream & StreamInfo(std::ostream &os) const
ZSection GetZSection(G4int index) const
std::vector< ZSection > GetZSections() const
G4ExtrudedSolid & operator=(const G4ExtrudedSolid &rhs)