Skip to content
Snippets Groups Projects
Commit 19c9d0f9 authored by Ansgar Philippsen's avatar Ansgar Philippsen
Browse files

fixed BZDNG-216: rendering issue in HSC mode

parent c0a4bd07
Branches
Tags
No related merge requests found
...@@ -32,14 +32,18 @@ namespace { ...@@ -32,14 +32,18 @@ namespace {
bool in_sequence(const mol::ResidueHandle& r1, const mol::ResidueHandle& r2, bool seqhack) bool in_sequence(const mol::ResidueHandle& r1, const mol::ResidueHandle& r2, bool seqhack)
{ {
if(!r1.IsValid() || !r2.IsValid()) return false; if(!r1.IsValid() || !r2.IsValid()) return false;
if(r1.GetChain()!=r2.GetChain()) return false; if(seqhack) {
mol::ResNum n1 = r1.GetNumber(); if(r1.GetChain()!=r2.GetChain()) return false;
mol::ResNum n2 = r2.GetNumber(); mol::ResNum n1 = r1.GetNumber();
if(n2.GetInsCode()!='\0') { mol::ResNum n2 = r2.GetNumber();
if(n1.NextInsertionCode()==n2) return true; if(n2.GetInsCode()!='\0') {
if(n1.NextInsertionCode()==n2) return true;
}
if(mol::InSequence(r1,r2)) return true;
if(n1.GetNum()+1==n2.GetNum()) return true;
} else {
return mol::InSequence(r1,r2);
} }
if(mol::InSequence(r1,r2)) return true;
if(seqhack && n1.GetNum()+1==n2.GetNum()) return true;
return false; return false;
} }
...@@ -236,11 +240,21 @@ BackboneTrace BackboneTrace::CreateSubset(const mol::EntityView& subview) ...@@ -236,11 +240,21 @@ BackboneTrace BackboneTrace::CreateSubset(const mol::EntityView& subview)
const NodeEntryList& nlist=*nitnit; const NodeEntryList& nlist=*nitnit;
for(NodeEntryList::const_iterator nit=nlist.begin();nit!=nlist.end();++nit) { for(NodeEntryList::const_iterator nit=nlist.begin();nit!=nlist.end();++nit) {
if(subview.FindAtom(nit->atom).IsValid()) { if(subview.FindAtom(nit->atom).IsValid()) {
if(!new_nlist.empty()) {
if(!in_sequence(new_nlist.back().atom.GetResidue(),nit->atom.GetResidue(),seq_hack_)) {
if(new_nlist.size()>1) {
nrvo.node_list_list_.push_back(new_nlist);
}
new_nlist.clear();
}
}
new_nlist.push_back(*nit); new_nlist.push_back(*nit);
} }
} }
if(!new_nlist.empty()) { if(!new_nlist.empty()) {
nrvo.node_list_list_.push_back(new_nlist); if(new_nlist.size()>1) {
nrvo.node_list_list_.push_back(new_nlist);
}
} }
} }
return nrvo; return nrvo;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment