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