#include ".\point3d.h" Point3D::Point3D(void) { Coords = new GLfloat[3]; Origine(); } Point3D::Point3D(float m_x, float m_y, float m_z){ Coords = new GLfloat[3]; assigne (m_x, m_y, m_z); } Point3D::Point3D(float* Vecteur){ Coords = new GLfloat[3]; assigne(Vecteur[0], Vecteur[1], Vecteur[2]); } Point3D::Point3D(const Point3D& P){ Coords = new GLfloat[3]; assigne(P.Coords[0], P.Coords[1], P.Coords[2]); } const Point3D& Point3D::operator=(const Point3D& P){ assigne(P.Coords[0], P.Coords[1], P.Coords[2]); return *this; } void Point3D::Draw(GLfloat* C){ glBegin(GL_POINTS); glVertex3fv(Coords); glEnd(); } Point3D::~Point3D(void) { delete [] Coords; } Point3D& Point3D::operator+(const Point3D& PParam){ Point3D* P = new Point3D(*this); P->Coords[0] += PParam.Coords[0]; P->Coords[1] += PParam.Coords[1]; P->Coords[2] += PParam.Coords[2]; return *P; } Point3D& Point3D::operator-(const Point3D& PParam){ Point3D* P = new Point3D(*this); P->Coords[0] -= PParam.Coords[0]; P->Coords[1] -= PParam.Coords[1]; P->Coords[2] -= PParam.Coords[2]; return *P; } Point3D& Point3D::operator*(float PParam){ Point3D* P = new Point3D(*this); P->Coords[0] *= PParam; P->Coords[1] *= PParam; P->Coords[2] *= PParam; return *P; } Point3D& Point3D::operator/(float PParam){ Point3D* P = new Point3D(*this); P->Coords[0] /= PParam; P->Coords[1] /= PParam; P->Coords[2] /= PParam; return *P; }