diff --git a/scoring/src/ss_agreement_env_listener.cc b/scoring/src/ss_agreement_env_listener.cc index c89b86bdcc38a877baca5183c8e8a9a6649f9406..0653c629f6bfc850322878b633da9a29d26cf529 100644 --- a/scoring/src/ss_agreement_env_listener.cc +++ b/scoring/src/ss_agreement_env_listener.cc @@ -106,13 +106,15 @@ void SSAgreementEnvListener::SetEnvironment(const BackboneScoreEnv& base_env, // the h_pos of the next residue might have changed // no check for index validity of idx + 1... this informatin is contained // in connected_to_next_ - if(connected_to_next_[*i] && !env_data_[*i+1].is_proline) { - geom::Vec3 dir_vec = geom::Normalize(env_data_[*i].c_pos - + if(connected_to_next_[*i]) { + if(!env_data_[*i+1].is_proline) { + geom::Vec3 dir_vec = geom::Normalize(env_data_[*i].c_pos - env_data_[*i].o_pos); - env_data_[*i+1].h_pos = env_data_[*i+1].n_pos + dir_vec; - env_data_[*i+1].valid_h_pos = true; - } else { - env_data_[*i+1].valid_h_pos = false; + env_data_[*i+1].h_pos = env_data_[*i+1].n_pos + dir_vec; + env_data_[*i+1].valid_h_pos = true; + } else { + env_data_[*i+1].valid_h_pos = false; + } } } @@ -196,13 +198,15 @@ void SSAgreementEnvListener::ResetEnvironment(const BackboneScoreEnv& base_env, // the h_pos of the next residue might have changed // no check for index validity of idx + 1... this informatin is contained // in connected_to_next_ - if(connected_to_next_[*i] && !env_data_[*i+1].is_proline) { - geom::Vec3 dir_vec = geom::Normalize(env_data_[*i].c_pos - + if(connected_to_next_[*i]) { + if(!env_data_[*i+1].is_proline) { + geom::Vec3 dir_vec = geom::Normalize(env_data_[*i].c_pos - env_data_[*i].o_pos); - env_data_[*i+1].h_pos = env_data_[*i+1].n_pos + dir_vec; - env_data_[*i+1].valid_h_pos = true; - } else { - env_data_[*i+1].valid_h_pos = false; + env_data_[*i+1].h_pos = env_data_[*i+1].n_pos + dir_vec; + env_data_[*i+1].valid_h_pos = true; + } else { + env_data_[*i+1].valid_h_pos = false; + } } }