# | Line 1 | Line 1 | |
---|---|---|
1 | < | /* |
2 | < | * Copyright (C) 2000-2004 Object Oriented Parallel Simulation Engine (OOPSE) project |
3 | < | * |
4 | < | * Contact: oopse@oopse.org |
5 | < | * |
6 | < | * This program is free software; you can redistribute it and/or |
7 | < | * modify it under the terms of the GNU Lesser General Public License |
8 | < | * as published by the Free Software Foundation; either version 2.1 |
9 | < | * of the License, or (at your option) any later version. |
10 | < | * All we ask is that proper credit is given for our work, which includes |
11 | < | * - but is not limited to - adding the above copyright notice to the beginning |
12 | < | * of your source code files, and to any copyright notice that you may distribute |
13 | < | * with programs based on this work. |
14 | < | * |
15 | < | * This program is distributed in the hope that it will be useful, |
16 | < | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
17 | < | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
18 | < | * GNU Lesser General Public License for more details. |
19 | < | * |
20 | < | * You should have received a copy of the GNU Lesser General Public License |
21 | < | * along with this program; if not, write to the Free Software |
22 | < | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
1 | > | /* |
2 | > | * Copyright (c) 2005 The University of Notre Dame. All Rights Reserved. |
3 | * | |
4 | + | * The University of Notre Dame grants you ("Licensee") a |
5 | + | * non-exclusive, royalty free, license to use, modify and |
6 | + | * redistribute this software in source and binary code form, provided |
7 | + | * that the following conditions are met: |
8 | + | * |
9 | + | * 1. Acknowledgement of the program authors must be made in any |
10 | + | * publication of scientific results based in part on use of the |
11 | + | * program. An acceptable form of acknowledgement is citation of |
12 | + | * the article in which the program was described (Matthew |
13 | + | * A. Meineke, Charles F. Vardeman II, Teng Lin, Christopher |
14 | + | * J. Fennell and J. Daniel Gezelter, "OOPSE: An Object-Oriented |
15 | + | * Parallel Simulation Engine for Molecular Dynamics," |
16 | + | * J. Comput. Chem. 26, pp. 252-271 (2005)) |
17 | + | * |
18 | + | * 2. Redistributions of source code must retain the above copyright |
19 | + | * notice, this list of conditions and the following disclaimer. |
20 | + | * |
21 | + | * 3. Redistributions in binary form must reproduce the above copyright |
22 | + | * notice, this list of conditions and the following disclaimer in the |
23 | + | * documentation and/or other materials provided with the |
24 | + | * distribution. |
25 | + | * |
26 | + | * This software is provided "AS IS," without a warranty of any |
27 | + | * kind. All express or implied conditions, representations and |
28 | + | * warranties, including any implied warranty of merchantability, |
29 | + | * fitness for a particular purpose or non-infringement, are hereby |
30 | + | * excluded. The University of Notre Dame and its licensors shall not |
31 | + | * be liable for any damages suffered by licensee as a result of |
32 | + | * using, modifying or distributing the software or its |
33 | + | * derivatives. In no event will the University of Notre Dame or its |
34 | + | * licensors be liable for any lost revenue, profit or data, or for |
35 | + | * direct, indirect, special, consequential, incidental or punitive |
36 | + | * damages, however caused and regardless of the theory of liability, |
37 | + | * arising out of the use of or inability to use software, even if the |
38 | + | * University of Notre Dame has been advised of the possibility of |
39 | + | * such damages. |
40 | */ | |
41 | < | |
41 | > | |
42 | /** | |
43 | * @file Vector3.hpp | |
44 | * @author Teng Lin | |
# | Line 50 | Line 66 | namespace oopse { | |
66 | public: | |
67 | typedef Real ElemType; | |
68 | typedef Real* ElemPoinerType; | |
53 | – | |
69 | Vector3() : Vector<Real, 3>(){} | |
70 | ||
71 | /** Constructs and initializes a Vector3 from x, y, z coordinates */ | |
72 | < | inline Vector3( double x, double y, double z) { |
73 | < | data_[0] = x; |
74 | < | data_[1] = y; |
75 | < | data_[2] = z; |
72 | > | inline Vector3( Real x, Real y, Real z) { |
73 | > | this->data_[0] = x; |
74 | > | this->data_[1] = y; |
75 | > | this->data_[2] = z; |
76 | } | |
77 | ||
78 | /** Constructs and initializes from an array*/ | |
79 | < | inline Vector3(double* array) : Vector<Real, 3>(array) {} |
79 | > | inline Vector3(Real* array) : Vector<Real, 3>(array) {} |
80 | ||
81 | inline Vector3(const Vector<Real, 3>& v) : Vector<Real, 3>(v) {} | |
82 | ||
# | Line 75 | Line 90 | namespace oopse { | |
90 | * Retunrs reference of the first element of Vector3. | |
91 | * @return reference of the first element of Vector3 | |
92 | */ | |
93 | < | inline Real& x() { return data_[0];} |
93 | > | inline Real& x() { return this->data_[0];} |
94 | ||
95 | /** | |
96 | * Retunrs the first element of Vector3. | |
97 | * @return the first element of Vector3 | |
98 | */ | |
99 | < | inline Real x() const { return data_[0];} |
99 | > | inline Real x() const { return this->data_[0];} |
100 | ||
101 | /** | |
102 | * Retunrs reference of the second element of Vector3. | |
103 | * @return reference of the second element of Vector3 | |
104 | */ | |
105 | < | inline Real& y() { return data_[1];} |
105 | > | inline Real& y() { return this->data_[1];} |
106 | ||
107 | /** | |
108 | * Retunrs the second element of Vector3. | |
109 | * @return c the second element of Vector3 | |
110 | */ | |
111 | < | inline Real y() const { return data_[1];} |
111 | > | inline Real y() const { return this->data_[1];} |
112 | ||
113 | /** | |
114 | * Retunrs reference of the third element of Vector3. | |
115 | * @return reference of the third element of Vector3 | |
116 | */ | |
117 | < | inline Real& z() { return data_[2];} |
117 | > | inline Real& z() { return this->data_[2];} |
118 | ||
119 | /** | |
120 | * Retunrs the third element of Vector3. | |
121 | * @return f the third element of Vector3 | |
122 | */ | |
123 | < | inline Real z() const { return data_[2];} |
123 | > | inline Real z() const { return this->data_[2];} |
124 | ||
125 | }; | |
126 | ||
# | Line 126 | Line 141 | namespace oopse { | |
141 | ||
142 | return result; | |
143 | } | |
144 | < | |
144 | > | |
145 | > | typedef Vector3<int> Vector3i; |
146 | > | |
147 | typedef Vector3<double> Vector3d; | |
148 | + | |
149 | + | const Vector3d V3Zero(0.0 , 0.0, 0.0); |
150 | + | const Vector3d V3X( 1.0, 0.0, 0.0 ) ; |
151 | + | const Vector3d V3Y( 0.0, 1.0, 0.0 ) ; |
152 | + | const Vector3d V3Z ( 0.0, 0.0, 1.0 ) ; |
153 | ||
154 | } | |
155 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |