Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
UnconstrainedTorsionsMover.cc
Go to the documentation of this file.
1 // -*- mode:c++;tab-width:2;indent-tabs-mode:t;show-trailing-whitespace:t;rm-trailing-spaces:t -*-
2 // vi: set ts=2 noet:
3 //
4 // (c) Copyright Rosetta Commons Member Institutions.
5 // (c) This file is part of the Rosetta software suite and is made available under license.
6 // (c) The Rosetta software is developed by the contributing members of the Rosetta Commons.
7 // (c) For more information, see http://www.rosettacommons.org. Questions about this can be
8 // (c) addressed to University of Washington UW TechTransfer, email: license@u.washington.edu.
9 
10 /// @file protocols/ligand_docking/UnconstrainedTorsionsMover.cc
11 ///
12 /// @brief
13 /// @author Ian W. Davis
14 
15 
19 
20 // AUTO-REMOVED #include <core/pose/Pose.hh>
21 
22 // Boost Headers
23 #include <boost/foreach.hpp>
24 
25 #include <utility/vector1.hh>
26 
27 #define foreach BOOST_FOREACH
28 
29 namespace protocols {
30 namespace ligand_docking {
31 
32 
34  protocols::moves::MoverOP child_mover,
35  Restraints restraints
36 ):
37  Mover(),
38  child_mover_(child_mover),
39  restraints_(restraints)
40 {
41 }
42 
44  protocols::moves::MoverOP child_mover,
45  std::set<ResidueTorsionRestraintsOP> restraints
46 ):
47  Mover(),
48  child_mover_(child_mover)
49 {
50  foreach(ResidueTorsionRestraintsOP restraint, restraints){
51  restraints_.push_back(restraint);
52  }
53 }
54 
56  protocols::moves::MoverOP child_mover,
57  MinimizeLigandOPs minimize_ligands
58 ):
59  Mover(),
60  child_mover_(child_mover)
61 {
62  foreach(MinimizeLigandOP minimize_ligand, minimize_ligands){
63  restraints_.insert( restraints_.end(), minimize_ligand->begin(), minimize_ligand->end() );
64  }
65 }
66 
68 {
69  foreach(ResidueTorsionRestraintsOP restraint, restraints_){
70  restraint->disable( pose );
71  }
72  child_mover_->apply(pose);
73 
74  foreach(ResidueTorsionRestraintsOP restraint, restraints_){
75  restraint->enable( pose );
76  }
77 }
78 
81  return "UnconstrainedTorsionsMover";
82 }
83 
84 
85 
86 } // namespace ligand_docking
87 } // namespace protocols