-
- Downloads
EntityHandle interface change! Also refactored EntityImpl to use Transform handle transformations
the internal representation of a transformation for EntityImpl was changed from Mat4 to Transform in preparation for adding transformations to entity views; this impacts quite a few higher-level routines that used the transformation matrix, which now can use the more elegant Transform::Apply method instead; GetTransformationMatrix and IsTransformationIdentity methods in the EntityHandle interface are marked as deprecated; use GetTransform and HasTransform instead. In addition, there is a ClearTransform method which ensures that the internal has_transform flag gets set to false geom::Transform was extended to offer ApplyInverse, and matrix inversion exceptions are handled internally constructing a Vec3 from a Vec4 no longer throws a DivideByZero error when w is close to zero, instead it is silently assumed that this is not a true homogeneous coordinate conversion as an additional comment (and note to self), atom->GetPos always returns transformed positions; however, GetAltPos returns original positions, and original positions are also stored in the AtomGroup on the Impl level. Both the mol unit test as well as the PDB writer expect this behavior; the PDB writer applies the transform after calling GetAltPos. Commented code is in place now to change this behavior, i.e. have GetAltPos return transformed positions, making it consistent with GetPos, should this be desired.
Showing
- modules/geom/src/transform.cc 25 additions, 6 deletionsmodules/geom/src/transform.cc
- modules/geom/src/transform.hh 12 additions, 2 deletionsmodules/geom/src/transform.hh
- modules/geom/src/vec3.hh 8 additions, 4 deletionsmodules/geom/src/vec3.hh
- modules/geom/tests/test_vec3.cc 1 addition, 1 deletionmodules/geom/tests/test_vec3.cc
- modules/io/src/mol/pdb_writer.cc 4 additions, 2 deletionsmodules/io/src/mol/pdb_writer.cc
- modules/mol/base/pymod/export_editors.cc 10 additions, 2 deletionsmodules/mol/base/pymod/export_editors.cc
- modules/mol/base/pymod/export_entity.cc 15 additions, 7 deletionsmodules/mol/base/pymod/export_entity.cc
- modules/mol/base/src/entity_handle.cc 46 additions, 6 deletionsmodules/mol/base/src/entity_handle.cc
- modules/mol/base/src/entity_handle.hh 14 additions, 5 deletionsmodules/mol/base/src/entity_handle.hh
- modules/mol/base/src/impl/atom_impl.cc 2 additions, 4 deletionsmodules/mol/base/src/impl/atom_impl.cc
- modules/mol/base/src/impl/chain_impl.cc 7 additions, 0 deletionsmodules/mol/base/src/impl/chain_impl.cc
- modules/mol/base/src/impl/chain_impl.hh 2 additions, 0 deletionsmodules/mol/base/src/impl/chain_impl.hh
- modules/mol/base/src/impl/entity_impl.cc 25 additions, 38 deletionsmodules/mol/base/src/impl/entity_impl.cc
- modules/mol/base/src/impl/entity_impl.hh 7 additions, 14 deletionsmodules/mol/base/src/impl/entity_impl.hh
- modules/mol/base/src/impl/residue_impl.cc 30 additions, 5 deletionsmodules/mol/base/src/impl/residue_impl.cc
- modules/mol/base/src/impl/residue_impl.hh 3 additions, 0 deletionsmodules/mol/base/src/impl/residue_impl.hh
- modules/mol/base/src/xcs_editor.cc 34 additions, 34 deletionsmodules/mol/base/src/xcs_editor.cc
- modules/mol/base/src/xcs_editor.hh 2 additions, 1 deletionmodules/mol/base/src/xcs_editor.hh
- modules/mol/base/tests/test_entity.cc 9 additions, 13 deletionsmodules/mol/base/tests/test_entity.cc
Loading
Please register or sign in to comment