Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SetIGTypeOperation.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 SetIGTypeOperation.cc
11 ///
12 /// @brief Task operation to set interaction graph type (linmem, lazy or double lazy)
13 /// @author Sagar Khare
14 
15 //Unit Headers
18 
19 //Core Headers
21 
22 //Utility Headers
23 #include <utility/tag/Tag.hh>
24 
25 
26 namespace protocols {
27 namespace toolbox {
28 namespace task_operations {
29 
31  lin_mem_(false),
32  lazy_(false),
33  double_lazy_(false)
34 {}
35 
37 
39 {
40  return new SetIGTypeOperation( *this );
41 }
42 
44 {
45  if (lin_mem_) task.or_linmem_ig( true );
46  else if (lazy_) task.or_lazy_ig( true );
47  else if (double_lazy_) task.or_double_lazy_ig( true );
48 }
49 
51 {
52  lin_mem_ = tag->getOption< bool >("lin_mem_ig", false);
53  lazy_ = tag->getOption< bool >("lazy_ig", false);
54  double_lazy_ = tag->getOption< bool >("double_lazy_ig", false);
55 }
56 
58 {
59  return new SetIGTypeOperation;
60 }
61 
62 } //task_operations
63 } //toolbox
64 } //protocols