47#ifndef G4REDUCIBLEPOLYGON_HH
48#define G4REDUCIBLEPOLYGON_HH
180 void CalculateMaxMin();
187 G4int numVertices = 0;
194 friend struct ABVertex;
199 ABVertex *next{
nullptr};
202 ABVertex* vertexHead =
nullptr;
220 subject = theSubject; current =
nullptr;
223 inline void Begin() { current = subject->vertexHead; }
227 if (current !=
nullptr) { current=current->next; }
239 G4ReduciblePolygon::ABVertex* current =
nullptr;
G4ReduciblePolygonIterator(const G4ReduciblePolygon *theSubject)
G4ReduciblePolygon is a utility class used to specify, test, reduce, and/or otherwise manipulate a 2D...
G4ReduciblePolygon(const G4double a[], const G4double b[], G4int n)
G4ReduciblePolygon & operator=(const G4ReduciblePolygon &)=delete
G4bool BisectedBy(G4double a1, G4double b1, G4double a2, G4double b2, G4double tolerance)
void ScaleB(G4double scale)
void CopyVertices(G4double a[], G4double b[]) const
G4bool RemoveDuplicateVertices(G4double tolerance)
G4int NumVertices() const
G4bool RemoveRedundantVertices(G4double tolerance)
G4ReduciblePolygon(const G4ReduciblePolygon &)=delete
G4bool CrossesItself(G4double tolerance)
void ScaleA(G4double scale)
friend class G4ReduciblePolygonIterator