Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
OperateOnCertainResidues.hh
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 core/pack/task/operation/OperateOnCertainResidues.hh
11 /// @brief class to support the general case of configuring PackerTask at the ResidueLevelTask level in some way, with an optional filter to limit the effects to certain residues
12 /// @author ashworth
13 
14 // do not add any derived classes to this file, unless they are generalized abstract base classes and do not actually 'do any work'
15 
16 #ifndef INCLUDED_core_pack_task_operation_OperateOnCertainResidues_hh
17 #define INCLUDED_core_pack_task_operation_OperateOnCertainResidues_hh
18 
19 // Unit Headers
21 
25 
26 // Project Headers
27 #include <core/pose/Pose.fwd.hh>
29 
30 // Utility Headers
31 #include <utility/tag/Tag.fwd.hh>
32 // AUTO-REMOVED #include <utility/vector1.hh>
33 #include <utility/pointer/ReferenceCount.hh>
34 
35 // C++ Headers
36 // AUTO-REMOVED #include <string>
37 // AUTO-REMOVED #include <map>
38 
39 #include <utility/vector1.hh>
40 
41 
42 namespace core {
43 namespace pack {
44 namespace task {
45 namespace operation {
46 
48 {
49 public:
52  typedef pose::Pose Pose;
54 
55 public:
60  virtual ~OperateOnCertainResidues();
61 
62  virtual TaskOperationOP clone() const;
63  virtual void apply( Pose const &, PackerTask & ) const;
64 
65  ///@brief supports direct limitation of residues to be affected, without the need for a filter
66  void residue_indices( ResidueIndices const & );
68  ResidueIndices const & residue_indices() const { return residue_indices_; }
69 
70  ///@brief sets the ResLvlTaskOperation that will be applied to residues
71  void op( ResLvlTaskOperationCOP );
72 
73  ///@brief sets an optional filter that is applied to each individual residue
74  void filter( ResFilterCOP );
75 
76  /// @brief Used to parse an xml-like tag to construct the ResLvlTaskOperation and the ResFilter
77  virtual void parse_tag( TagPtr );
78 
79 private:
83 };
84 
85 // do not add any derived classes to this file, unless they are generalized abstract base classes and do not actually 'do any work'
86 
87 } //namespace operation
88 } //namespace task
89 } //namespace pack
90 } //namespace core
91 
92 #endif