-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathigvPunto3D.cpp
51 lines (40 loc) · 1 KB
/
igvPunto3D.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
#include <stdio.h>
#include <math.h>
#include "igvPunto3D.h"
// Constructores
igvPunto3D::igvPunto3D() {
c[X] = c[Y] = c[Z] = 0.0;
}
igvPunto3D::igvPunto3D (const double& x, const double& y, const double& z ) {
c[X] = x;
c[Y] = y;
c[Z] = z;
}
// Constructor de copia
igvPunto3D::igvPunto3D (const igvPunto3D& p ) {
c[X] = p.c[X];
c[Y] = p.c[Y];
c[Z] = p.c[Z];
}
// Operador de asignación
igvPunto3D& igvPunto3D::operator = (const igvPunto3D& p) {
c[X] = p.c[X];
c[Y] = p.c[Y];
c[Z] = p.c[Z];
return(*this);
}
int igvPunto3D::operator == (const igvPunto3D& p) {
return ((fabs(c[X]-p[X])<IGV_EPSILON) && (fabs(c[Y]-p[Y])<IGV_EPSILON) && (fabs(c[Z]-p[Z])<IGV_EPSILON));
}
int igvPunto3D::operator != (const igvPunto3D& p) {
return ((fabs(c[X]-p[X])>=IGV_EPSILON) || (fabs(c[Y]-p[Y])>=IGV_EPSILON) || (fabs(c[Z]-p[Z])>=IGV_EPSILON));
}
// Destructor
igvPunto3D::~igvPunto3D() {
}
// Operadores
void igvPunto3D::set( const double& x, const double& y, const double& z) {
c[X] = x;
c[Y] = y;
c[Z] = z;
}