Rosetta 3.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
VirtualCoordinate.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 Symmetry data container
14 /// @file core/conformation/symmetry/SymmData.hh
15 /// @author Ingemar Andre
16 
17 
18 #ifndef INCLUDED_core_conformation_symmetry_VirtualCoordinate_hh
19 #define INCLUDED_core_conformation_symmetry_VirtualCoordinate_hh
20 
21 // Utility headers
23 #include <utility/pointer/owning_ptr.hh>
24 #include <core/types.hh>
25 #include <numeric/xyzVector.hh>
26 #include <utility/vector1.hh>
27 
28 // C++ headers
29 #include <string>
30 #include <vector>
31 
32 namespace core {
33 namespace conformation {
34 namespace symmetry {
35 
37 
38  public:
39 
41 
42  /// @brief copy constructor
43  VirtualCoordinate( VirtualCoordinate const & src );
44 
49  );
50 
52  operator=( VirtualCoordinate const & src );
53 
55 
56  // @details accessor functions
58  get_x();
59 
61  get_y();
62 
64  get_origin();
65 
67  get_x() const;
68 
70  get_y() const;
71 
73  get_origin() const;
74 
75  void
78  core::Size coord_start=2
79  );
80 
81  friend
82  bool
83  operator==(VirtualCoordinate const & a, VirtualCoordinate const & b);
84 
85  friend
86  bool
87  operator!=(VirtualCoordinate const & a, VirtualCoordinate const & b);
88 
89 
90  private:
91 
92  numeric::xyzVector< core::Real> axis_x_; // store unit vector for X
93  numeric::xyzVector< core::Real> axis_y_; // store unit vector for Y
94  numeric::xyzVector< core::Real> axis_origin_; // store origin for coordinate system
95 };
96 
97 } // symmetry
98 } // conformation
99 } // core
100 #endif