// $Id: RangeList.cpp,v 1.4 2006/01/24 03:22:14 zr Exp $ #define _USE_MATH_DEFINES #include #include #include #include "RangeList.h" /// static const float kSmallestRange = .000001f; RangeList::RangeList(float min, float max) { numRanges = 0; rangesSize = 8; ranges = new RangeEntry[rangesSize]; reset(min, max); } RangeList::~RangeList() { delete[] ranges; } void RangeList::reset(float min, float max) { numRanges = 1; ranges[0].min = min; ranges[0].max = max; } void RangeList::deleteRange(int pos) { if (postwoPi) { subtract(a-twoPi, b-twoPi); } else if (b<0) { subtract(a+twoPi, b+twoPi); } else if (a<0) { subtract(0, b); subtract(a+twoPi,twoPi); } else if (b>twoPi) { subtract(a, twoPi); subtract(0, b-twoPi); } else if (numRanges==0) { ; } else { int pos; if (a>1; if (ranges[mid].minranges[pos+1].min) { pos++; } else { return; } } while (posranges[pos].min) { if (ranges[pos].max-b