void cIncListInterv::ResetInterv(const cIncIntervale & anInterv) { mMayOverlap = true; ELISE_ASSERT ( anInterv.I1Alloc()<=mI1Max, "Increase I1max in cIncListInterv::ResetInterv" ); cIncIntervale & It = const_cast<cIncIntervale &> (cIncListInterv::FindEquiv(anInterv)); It.SetI0I1Alloc(anInterv.I0Alloc(),anInterv.I1Alloc()); }
void cIncListInterv::AddInterv(const cIncIntervale & anInterv,bool CanOverlap) { if (anInterv.Sz()==0 ) return; for (tCSetIII anIt = mMap.begin() ; anIt!= mMap.end() ; anIt++) { ELISE_ASSERT ( anIt->Id() != anInterv.Id(), "Ambiguous Key in cIncListInterv::AddInterv" ); if (CanOverlap) mMayOverlap = true; else { ELISE_ASSERT ( ! (anInterv.Overlap(*anIt)), "Overlapping interval in cIncListInterv::AddInterv" ); } } mMap.insert(anInterv); ElSetMin(mI0Min,anInterv.I0Alloc()); ElSetMax(mI1Max,anInterv.I1Alloc()); mSurf += anInterv.Sz(); }
cSsBloc cSetEqFormelles::GetBlocOfI0Alloc(const cIncIntervale & anI) const { // NO::BlocSetInt return GetBlocOfI0Alloc(anI.I0Alloc(),anI.I1Alloc()); }