void CSeq_interval::SetPartialStop(bool val, ESeqLocExtremes ext) { if (val != IsPartialStop(ext)) { if (val) { if (ext == eExtreme_Biological && x_IsMinusStrand()) { SetFuzz_from().SetLim(CInt_fuzz::eLim_lt); } else { SetFuzz_to().SetLim(CInt_fuzz::eLim_gt); } } else { if (ext == eExtreme_Biological && x_IsMinusStrand()) { ResetFuzz_from(); } else { ResetFuzz_to(); } } } _ASSERT(val == IsPartialStop(ext)); }
void CPacked_seqpnt::SetPartialStop(bool val, ESeqLocExtremes ext) { if (val == IsPartialStop(ext)) { return; } if (val) { CInt_fuzz::TLim lim = (ext == eExtreme_Biological && x_IsMinusStrand()) ? CInt_fuzz::eLim_lt : CInt_fuzz::eLim_gt; SetFuzz().SetLim(lim); } else { ResetFuzz(); } }