58 #ifndef G4TriangularFacet_hh
59 #define G4TriangularFacet_hh 1
109 inline void SetVertices(std::vector<G4ThreeVector> *v);
121 std::vector<G4ThreeVector> *fVertices;
146 G4int indice = fIndices[i];
147 return indice < 0 ? (*fVertices)[i] : (*fVertices)[indice];
152 (*fVertices)[i] = val;
157 return fCircumcentre;
167 G4int size =
sizeof(*this);
174 if (i < 3)
return fIndices[i];
175 else return 999999999;
185 if (fIndices[0] < 0 && fVertices)
G4int GetVertexIndex(G4int i) const
G4TriangularFacet & operator=(const G4TriangularFacet &right)
G4bool Intersect(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool outgoing, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal)
void SetVertexIndex(G4int i, G4int j)
CLHEP::Hep3Vector G4ThreeVector
void SetVertices(std::vector< G4ThreeVector > *v)
void SetVertex(G4int i, const G4ThreeVector &val)
static double normal(HepRandomEngine *eptr)
G4GeometryType GetEntityType() const
void SetSurfaceNormal(G4ThreeVector normal)
G4double Extent(const G4ThreeVector axis)
G4ThreeVector GetCircumcentre() const
G4TriangularFacet * GetFlippedFacet()
G4ThreeVector GetVertex(G4int i) const
G4int GetNumberOfVertices() const
G4ThreeVector GetPointOnFace() const
G4ThreeVector GetSurfaceNormal() const
G4double GetRadius() const
G4ThreeVector Distance(const G4ThreeVector &p)