56 #ifndef G4ReduciblePolygon_hh 57 #define G4ReduciblePolygon_hh 168 { subject = theSubject; current=0; }
170 void Begin() { current = subject->vertexHead; }
171 G4bool Next() {
if (current) current=current->next;
return Valid(); }
G4bool CrossesItself(G4double tolerance)
G4ReduciblePolygonIterator(const G4ReduciblePolygon *theSubject)
void ScaleB(G4double scale)
G4ReduciblePolygon & operator=(const G4ReduciblePolygon &)
G4ReduciblePolygon::ABVertex * current
void Create(const G4double a[], const G4double b[], G4int n)
virtual ~G4ReduciblePolygon()
static const G4double tolerance
G4bool RemoveDuplicateVertices(G4double tolerance)
G4bool RemoveRedundantVertices(G4double tolerance)
void ScaleA(G4double scale)
const G4ReduciblePolygon * subject
G4int NumVertices() const
G4bool BisectedBy(G4double a1, G4double b1, G4double a2, G4double b2, G4double tolerance)
G4ReduciblePolygon(const G4double a[], const G4double b[], G4int n)
void CopyVertices(G4double a[], G4double b[]) const