예제 #1
0
 def change_basis(self, cb_op):
   if (not isinstance(cb_op, sgtbx.change_of_basis_op)):
     cb_op = sgtbx.change_of_basis_op(cb_op)
   cb_hall_symbol = None
   if (self.hall_symbol is not None):
     space_group_info = sgtbx.space_group_info("Hall: " + self.hall_symbol)
     cb_space_group_info = space_group_info.change_basis(cb_op)
     cb_hall_symbol = cb_space_group_info.type().hall_symbol()
   cb_asu = direct_space_asu(cb_hall_symbol)
   for cut in self.cuts:
     cb_asu.cuts.append(cut.change_basis(cb_op))
   return cb_asu
예제 #2
0
 def shape_only(self):
   result = direct_space_asu(self.hall_symbol)
   for cut in self.cuts:
     result.cuts.append(cut.strip())
   return result
예제 #3
0
 def __copy__(self):
   return direct_space_asu(
     hall_symbol=self.hall_symbol,
     cuts=self.cuts)