mpu9250_i2c/vector.rs
1/*****************************************************************************
2 * *
3 * Copyright 2018 Simon M. Werner *
4 * *
5 * Licensed under the Apache License, Version 2.0 (the "License"); *
6 * you may not use this file except in compliance with the License. *
7 * You may obtain a copy of the License at *
8 * *
9 * http://www.apache.org/licenses/LICENSE-2.0 *
10 * *
11 * Unless required by applicable law or agreed to in writing, software *
12 * distributed under the License is distributed on an "AS IS" BASIS, *
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14 * See the License for the specific language governing permissions and *
15 * limitations under the License. *
16 * *
17 *****************************************************************************/
18
19/// Simple vector structure
20pub struct Vector<T: Copy> {
21 /// x-axis
22 pub x: T,
23 /// y-axis
24 pub y: T,
25 /// z-axis
26 pub z: T,
27}
28
29impl<T: Copy> Vector<T> {
30 /// Make a copy of the vector.
31 pub fn copy(v: &Self) -> Vector<T> {
32 Vector {
33 x: v.x,
34 y: v.y,
35 z: v.z,
36 }
37 }
38}