Stellarator-Tools
Loading...
Searching...
No Matches
vector3d.hpp
1//
2// vector3d.hpp
3// lgrid
4//
5// Created by Cianciosa, Mark R. on 2/7/16.
6// Copyright © 2016 Cianciosa, Mark R. All rights reserved.
7//
8
9#ifndef vector3d_hpp
10#define vector3d_hpp
11
12#include <stdio.h>
13
14//------------------------------------------------------------------------------
18//------------------------------------------------------------------------------
19class vector3d {
20public:
22 const double x;
24 const double y;
26 const double z;
27
28 vector3d(const double x_, const double y_, const double z_);
29
30 const double length() const;
31 const vector3d normalize() const;
32
33 static const vector3d cross_product(const vector3d &v1, const vector3d &v2);
34 static const double dot_product(const vector3d &v1, const vector3d &v2);
35};
36
37const vector3d operator+(const vector3d &v1, const vector3d &v2);
38const vector3d operator-(const vector3d &v1, const vector3d &v2);
39const vector3d operator/(const vector3d &v1, const double d);
40
41#endif /* vector3d_hpp */
A vector.
Definition vector3d.hpp:19
const double length() const
Length of a vector3d instance.
Definition vector3d.cpp:32
static const double dot_product(const vector3d &v1, const vector3d &v2)
Takes the doc product of two vectors.
Definition vector3d.cpp:71
static const vector3d cross_product(const vector3d &v1, const vector3d &v2)
Takes the cross product of two vectors.
Definition vector3d.cpp:56
const vector3d normalize() const
Normalize vector3d instance.
Definition vector3d.cpp:43
const double x
x component.
Definition vector3d.hpp:22
const double y
y component.
Definition vector3d.hpp:24
const double z
z component.
Definition vector3d.hpp:26