Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SymSlideInfo.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 // This file is made available under the Rosetta Commons license.
5 // See http://www.rosettacommons.org/license
6 // (C) 199x-2007 University of Washington
7 // (C) 199x-2007 University of California Santa Cruz
8 // (C) 199x-2007 University of California San Francisco
9 // (C) 199x-2007 Johns Hopkins University
10 // (C) 199x-2007 University of North Carolina, Chapel Hill
11 // (C) 199x-2007 Vanderbilt University
12 
13 /// @brief SymSlideInfo data container
14 /// @file core/conformation/symmetry/SymSlideInfo.hh
15 /// @author Ingemar Andre
16 
17 
18 #ifndef INCLUDED_core_conformation_symmetry_SymSlideInfo_hh
19 #define INCLUDED_core_conformation_symmetry_SymSlideInfo_hh
20 
21 // Utility headers
23 #include <core/types.hh>
24 // C++ headers
25 #include <string>
26 #include <vector>
27 
28 namespace core {
29 namespace conformation {
30 namespace symmetry {
31 
32  enum SlideType {
36  };
37 
43  };
44 
45 class SymSlideInfo {
46 
47  public:
48 
49  /// @brief constructor
50  SymSlideInfo();
51 
52  /* SymSlideInfo(
53  SlideType slide_type,
54  SlideCriteriaType score_criteria,
55  std::string SlideCriteriaVal = "AUTOMATIC",
56  std::vector<core::Size> slide_order = std::vector<core::Size>()
57  ); */
58 
59  /// @brief copy constructor
60  SymSlideInfo( SymSlideInfo const & src );
61 
62  SymSlideInfo &
63  operator=( SymSlideInfo const & src );
64 
65  ~SymSlideInfo();
66 
67  // setter functions
68  void set_slide_type( SlideType slide_type );
69  void set_SlideCriteriaType( SlideCriteriaType score_criteria );
70  void set_SlideCriteriaVal( std::string SlideCriteriaVal );
71  void set_slide_order( std::vector<core::Size> slide_order );
72 
73  // get functions
74  SlideType get_slide_type() const;
77  std::vector<core::Size> get_slide_order() const;
78 
79  friend
80  bool
81  operator==(SymSlideInfo const & a, SymSlideInfo const & b);
82 
83  friend
84  bool
85  operator!=(SymSlideInfo const & a, SymSlideInfo const & b);
86 
87 
88  private:
89 
90 #ifdef USEBOOSTSERIALIZE
91  friend class boost::serialization::access;
92 
93  template<class Archive>
94  void serialize(Archive & ar, const unsigned int version){
95  ar & slide_type_;
96  ar & score_criteria_;
97  ar & SlideCriteriaVal_;
98  ar & slide_order_;
99  }
100 #endif
101 
105  std::vector<core::Size> slide_order_;
106 
107 };
108 
109 } // symmetry
110 } // conformation
111 } // core
112 #endif