From 41210da7400e8132ee37d896f6a3319f682f9c11 Mon Sep 17 00:00:00 2001 From: Tobias Schmidt <tobias.schmidt@unibas.ch> Date: Fri, 29 Jul 2011 17:59:13 +0200 Subject: [PATCH] ConnectorImpl::SetDir/SetDirAndLength only set local_rot_ if direction =! 0 --- modules/mol/base/src/impl/connector_impl.cc | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/mol/base/src/impl/connector_impl.cc b/modules/mol/base/src/impl/connector_impl.cc index 8bafe009b..3a5a61532 100644 --- a/modules/mol/base/src/impl/connector_impl.cc +++ b/modules/mol/base/src/impl/connector_impl.cc @@ -92,14 +92,22 @@ Real ConnectorImpl::GetLength() const } void ConnectorImpl::SetDir(const geom::Vec3& dir) { - geom::Vec3 v=Normalize(dir); - local_rot_=find_rotation(v); + if(Length(dir)==0) { + local_rot_=geom::Mat3(1,0,0,0,1,0,0,0,1); + } else { + geom::Vec3 v=Normalize(dir); + local_rot_=find_rotation(v); + } } void ConnectorImpl::SetDirAndLength(const geom::Vec3& dir) { len_=Length(dir); - geom::Vec3 v=dir/len_; - local_rot_=find_rotation(v); + if(len_==0) { + local_rot_=geom::Mat3(1,0,0,0,1,0,0,0,1); + } else { + geom::Vec3 v=dir/len_; + local_rot_=find_rotation(v); + } } bool ConnectorImpl::IsConnectorOf(const AtomImplPtr& a, -- GitLab