50#ifndef G4TRIANGULARFACET_HH
51#define G4TRIANGULARFACET_HH 1
106 inline void SetVertices(std::vector<G4ThreeVector>* v);
117 std::array<G4int, 3> fIndices;
118 std::vector<G4ThreeVector>* fVertices =
nullptr;
124 G4bool fIsDefined =
false;
143 G4int indice = fIndices[i];
144 return indice < 0 ? (*fVertices)[i] : (*fVertices)[indice];
149 (*fVertices)[i] = val;
154 return fCircumcentre;
164 G4int size =
sizeof(*this);
171 if (i < 3)
return fIndices[i];
172 else return 999999999;
182 if (fIndices[0] < 0 && fVertices)
CLHEP::Hep3Vector G4ThreeVector
void SetSurfaceNormal(G4ThreeVector normal)
void SetVertex(G4int i, const G4ThreeVector &val)
G4ThreeVector GetPointOnFace() const
G4ThreeVector GetCircumcentre() const
void SetVertices(std::vector< G4ThreeVector > *v)
G4bool Intersect(const G4ThreeVector &p, const G4ThreeVector &v, const G4bool outgoing, G4double &distance, G4double &distFromSurface, G4ThreeVector &normal)
G4TriangularFacet & operator=(const G4TriangularFacet &right)
G4int GetNumberOfVertices() const
G4TriangularFacet * GetFlippedFacet()
G4GeometryType GetEntityType() const
void SetVertexIndex(G4int i, G4int j)
G4ThreeVector Distance(const G4ThreeVector &p)
G4int GetVertexIndex(G4int i) const
G4ThreeVector GetVertex(G4int i) const
G4double GetRadius() const
G4ThreeVector GetSurfaceNormal() const
G4double Extent(const G4ThreeVector axis)