-
Notifications
You must be signed in to change notification settings - Fork 0
/
Point.cpp
75 lines (61 loc) · 1.41 KB
/
Point.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//
// Created by francesca on 05/10/20.
//
#include "Point.h"
#include <iostream>
using namespace std;
//Point::Point(const Point &obj) {
//// Copy constructor
// Point::x = obj.x;
// Point::y = obj.y;
// Point::z = obj.z;
//
//
Point::Point(int dim) : dim(dim) {
vector<float> val;
val.reserve(dim);
for(int i=0; i<dim; i++)
val.push_back(0);
//set values to zero
this->setValues(val);
}
//}
Point::Point(const vector<float> &values) : values(values) {
this->dim = this->values.size();
}
const vector<float> &Point::getValues() const {
return values;
}
void Point::setValues(const vector<float> &values) {
Point::values = values;
}
int Point::getDim() const {
return dim;
}
void Point::setDim(int dim) {
Point::dim = dim;
}
Point &Point::operator+=(const Point &otherPoint){
for (int i = 0; i < this->getDim(); ++i) {
this->values[i] += otherPoint.getValues()[i];
}
return *this;
}
Point Point::operator/(float v) const {
Point point(this->getValues());
return point /= v;
}
Point &Point::operator/=(float d) {
for (long i = 0; i < this->getDim(); ++i)
this->values[i] /= d;
return *this;
}
Point Point::operator*(const float d) const {
Point point(this->values);
return point *= d;
}
Point &Point::operator*=(const float d) {
for (long i = 0; i < getDim(); ++i)
this->values[i] *= d;
return *this;
}