67#ifndef G4GenericTrap_HH
68#define G4GenericTrap_HH
84 const std::vector<G4TwoVector>& vertices );
110 const G4bool calcNorm =
false,
123 std::ostream&
StreamInfo(std::ostream& os)
const;
154 G4bool ComputeIsTwisted() ;
155 G4bool CheckOrder(
const std::vector<G4TwoVector>& vertices)
const;
162 void ReorderVertices(std::vector<G4ThreeVector>& vertices)
const;
167 G4VFacet* MakeDownFacet(
const std::vector<G4ThreeVector>& fromVertices,
169 G4VFacet* MakeUpFacet(
const std::vector<G4ThreeVector>& fromVertices,
178 const std::vector<G4TwoVector>& poly)
const;
184 const G4int ipl)
const;
198 static const G4int fgkNofVertices;
204 std::vector<G4TwoVector> fVertices;
210 G4int fVisSubdivisions;
212 enum ESide {kUndefined,kXY0,kXY1,kXY2,kXY3,kMZ,kPZ};
220#include "G4GenericTrap.icc"
std::vector< G4ThreeVector > G4ThreeVectorList
G4int GetNofVertices() const
G4Polyhedron * CreatePolyhedron() const
G4double DistanceToIn(const G4ThreeVector &p, const G4ThreeVector &v) const
G4GenericTrap & operator=(const G4GenericTrap &rhs)
G4double GetZHalfLength() const
G4double GetCubicVolume()
G4TwoVector GetVertex(G4int index) const
G4double GetSurfaceArea()
G4double DistanceToOut(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool calcNorm=false, G4bool *validNorm=0, G4ThreeVector *n=0) const
G4ThreeVector GetPointOnSurface() const
G4double GetTwistAngle(G4int index) const
G4Polyhedron * GetPolyhedron() const
std::ostream & StreamInfo(std::ostream &os) const
G4VisExtent GetExtent() const
G4NURBS * CreateNURBS() const
EInside Inside(const G4ThreeVector &p) const
G4GeometryType GetEntityType() const
G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const
const std::vector< G4TwoVector > & GetVertices() const
G4int GetVisSubdivisions() const
void DescribeYourselfTo(G4VGraphicsScene &scene) const
void SetVisSubdivisions(G4int subdiv)
G4Polyhedron * fpPolyhedron
G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits &pVoxelLimit, const G4AffineTransform &pTransform, G4double &pmin, G4double &pmax) const