// ************************************************************************ public void CopyTo(Quadrant q) { base.CopyTo(q); q.FirstPoint = this.FirstPoint; q.CurrentNode = this.CurrentNode; q.LastPoint = this.LastPoint; q.RootPoint = this.RootPoint; q.ListOfPoint = this.ListOfPoint; }
// ****************************************************************** public bool MoveNext() { if (!_convexHull.IsInitDone) { return(false); } if (_currentQuadrant == null) { _currentQuadrant = _convexHull._q1; _currentNode = _currentQuadrant.GetFirstNode(); } else { for (;;) { AvlNode <Point> nextNode = _currentNode.GetNextNode(); if (nextNode == null) { if (_currentQuadrant == _convexHull._q4) { return(false); } _currentQuadrant = _currentQuadrant.GetNextQuadrant(); nextNode = _currentQuadrant.GetFirstNode(); if (nextNode.Item == _currentNode.Item) { _currentNode = nextNode; return(MoveNext()); } } else { _currentNode = nextNode; break; } } } return(true); }
// ****************************************************************** public void Reset() { _currentQuadrant = null; _currentNode = null; }