def test_matrix_copy(self): cmd.fragment('ala') cmd.fragment('gly') cmd.rotate('x', 90, 'none', object='ala') cmd.matrix_copy('ala', 'gly') self.assertArrayEqual(cmd.get_object_matrix('gly'), (1.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0), 1e-4) cmd.matrix_reset('gly', mode=1) self.assertArrayEqual(cmd.get_object_matrix('gly'), (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0), 1e-4)
def test_matrix_copy(self): cmd.fragment('ala') cmd.fragment('gly') cmd.rotate('x', 90, 'none', object='ala') cmd.matrix_copy('ala', 'gly') self.assertArrayEqual(cmd.get_object_matrix('gly'), (1.0, 0.0, 0.0, 0.0, 0.0, 0.0,-1.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0), 1e-4) cmd.matrix_reset('gly', mode=1) self.assertArrayEqual(cmd.get_object_matrix('gly'), (1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0), 1e-4)
def matrix_to_ttt(names, reverse=0, state=-1, quiet=1): ''' DESCRIPTION Objects can have state matrices and view (frames) matrices. This function takes the total matrix and stores it either as view matrix or as state matrix (reverse=1). For movie frames, movie_auto_store must be set. ''' from . import querying reverse, state, quiet = int(reverse), int(state), int(quiet) ostate = state for object in cmd.get_object_list('(' + names + ')'): if ostate < 1: state = querying.get_object_state(object) matrix = cmd.get_object_matrix(object, state) cmd.matrix_reset(object) if reverse: cmd.reset(object) cmd.transform_object(object, matrix, homogenous=1) else: cmd.set_object_ttt(object, matrix)
def matrix_to_ttt(names, reverse=0, state=-1, quiet=1): ''' DESCRIPTION Objects can have state matrices and view (frames) matrices. This function takes the total matrix and stores it either as view matrix or as state matrix (reverse=1). For movie frames, movie_auto_store must be set. ''' from . import querying reverse, state, quiet = int(reverse), int(state), int(quiet) ostate = state for object in cmd.get_object_list('(' + names + ')'): if ostate < 1: state = querying.get_object_state(object) matrix = cmd.get_object_matrix(object, state) for i in range(cmd.count_states(object)): cmd.matrix_reset(object, i + 1) if reverse: cmd.reset(object) cmd.transform_object(object, matrix, homogenous=1) else: cmd.set_object_ttt(object, matrix)