29 #include <numeric/xyzMatrix.hh>
30 #include <numeric/xyzVector.hh>
31 #include <numeric/xyz.functions.hh>
33 #include <utility/vector1.hh>
35 #include <basic/Tracer.hh>
38 static basic::Tracer
TR(
"core.pack.make_symmetric_task");
49 using namespace conformation::symmetry;
50 using namespace pose::symmetry;
55 dynamic_cast<SymmetricConformation const &> ( pose.
conformation()) );
59 if ( !symm_info->chi_is_independent(i) ) {
60 task->nonconst_residue_task( i ).prevent_repacking();
70 using namespace core::pack::task;
82 using namespace core::pack::task;
85 PackerTaskOP new_task = TaskFactory::create_packer_task(pose);
86 PackerTask_ const & o(dynamic_cast<PackerTask_ const &>(*non_symmetric_task));
87 PackerTask_ & n(dynamic_cast<PackerTask_ &>(*new_task));
89 if( !o.
symmetrize_by_union() ) utility_exit_with_message(
"incorrect PackerTask symmetrization request");
96 for(
Size i = 1; i <= symm_info->num_total_residues_without_pseudo(); ++i ) {
97 Size const ifollow = symm_info->chi_follows(i);
98 if( ifollow != 0 && ifollow != i ) {
104 if ( !symm_info->chi_is_independent(i) ) {
117 using namespace core::pack::task;
120 PackerTaskOP new_task = TaskFactory::create_packer_task(pose);
121 PackerTask_ const & o(dynamic_cast<PackerTask_ const &>(*non_symmetric_task));
122 PackerTask_ & n(dynamic_cast<PackerTask_ &>(*new_task));
131 for(
Size i = 1; i <= symm_info->num_total_residues_without_pseudo(); ++i ) {
132 Size const ifollow = symm_info->chi_follows(i);
133 if( ifollow != 0 && ifollow != i ) {
139 if ( !symm_info->chi_is_independent(i) ) {
152 using namespace core::pack::task;
154 PackerTask_ const & o(dynamic_cast<PackerTask_ const &>(*non_symmetric_task));
164 return non_symmetric_task->clone();