*/
attr_t SetValue( int theIndex, attr_t theValue )
{
- set_iterator rNext = mySet.upper_bound( theIndex );
+ set_iterator rNext = mySet.end(); // case of adding elements
set_iterator r = rNext - 1;
+ if ( r->my1st > theIndex )
+ {
+ rNext = mySet.upper_bound( theIndex );
+ r = rNext - 1;
+ }
int rSize = Size( r ); // range size
attr_t rValue = r->myValue;
if ( rValue == theValue )
typedef _RangeSet< _ShapeIDRange > TSubIDRangeSet;
typedef _RangeSet< _UsedRange > TUsedRangeSet;
typedef boost::dynamic_bitset<> TBitSet;
-typedef float TParam;
+//typedef float TParam;
+typedef double TParam;
//------------------------------------------------------------------------------------
/*!