35 #include <basic/Tracer.hh>
37 #include <utility/pointer/owning_ptr.hh>
42 #include <utility/vector0.hh>
43 #include <utility/vector1.hh>
44 #include <utility/options/BooleanVectorOption.hh>
49 namespace interaction_graph {
51 basic::Tracer
T(
"core.pack.interaction_graph.interaction_graph_factory", basic::t_info );
65 if ( ! the_task.
design_any() ) { surface_weight = 0; hpatch_weight = 0; }
71 T <<
"Instantiating SymmLinearMemoryInteractionGraph" << std::endl;
73 symlinmemig->set_pose( pose );
74 symlinmemig->set_score_function( sfxn );
78 if ( surface_weight ) {
79 T <<
"Instantiating LinearMemorySurfaceInteractionGraph" << std::endl;
81 lmsolig->set_pose( pose );
82 lmsolig->set_packer_task( the_task );
83 lmsolig->set_score_function( sfxn );
84 lmsolig->set_rotamer_sets( rotsets );
85 lmsolig->set_surface_score_weight( surface_weight );
89 if ( hpatch_weight ) {
90 T <<
"Instantiating LinearMemoryHPatchInteractionGraph" << std::endl;
92 lmhig->set_pose( pose );
93 lmhig->set_packer_task( the_task );
94 lmhig->set_score_function( sfxn );
95 lmhig->set_rotamer_sets( rotsets );
96 lmhig->set_score_weight( hpatch_weight );
100 T <<
"Instantiating LinearMemoryInteractionGraph" << std::endl;
102 lmig->set_pose( pose );
103 lmig->set_score_function( sfxn );
111 if ( surface_weight ) {
112 T <<
"Instantiating PDSurfaceInteractionGraph" << std::endl;
114 pdsig->set_pose( pose );
115 pdsig->set_packer_task( the_task );
116 pdsig->set_rotamer_sets( rotsets );
117 pdsig->set_surface_score_weight( surface_weight );
120 }
else if ( hpatch_weight ) {
121 T <<
"Instantiating PDHPatchInteractionGraph" << std::endl;
123 hig->set_pose( pose );
124 hig->set_packer_task( the_task );
125 hig->set_rotamer_sets( rotsets );
126 hig->set_score_weight( hpatch_weight );
129 }
else if ( the_task.
lazy_ig() ) {
130 T <<
"Instantiating LazyInteractionGraph" << std::endl;
132 lazy_ig->set_pose( pose );
133 lazy_ig->set_score_function( sfxn );
136 T <<
"Instantiating DoubleLazyInteractionGraph" << std::endl;
138 double_lazy_ig->set_pose( pose );
139 double_lazy_ig->set_score_function( sfxn );
142 return double_lazy_ig;
144 T <<
"Instantiating PDInteractionGraph" << std::endl;
155 T <<
"Instantiating DensePDInteractionGraph" << std::endl;