53 lines
1.4 KiB
C++
53 lines
1.4 KiB
C++
#ifndef _OWLPS_POSITIONING_POINT3D_HH_
|
|
#define _OWLPS_POSITIONING_POINT3D_HH_
|
|
|
|
#include <iostream>
|
|
#include <cmath>
|
|
|
|
using namespace std ;
|
|
|
|
class Point3D
|
|
{
|
|
protected:
|
|
float x ;
|
|
float y ;
|
|
float z ;
|
|
|
|
public:
|
|
Point3D(const float &_x = 0, const float &_y = 0, const float &_z = 0) ;
|
|
Point3D(const Point3D &p) ;
|
|
Point3D(const float c[3]) ;
|
|
|
|
~Point3D() {} ;
|
|
|
|
float get_x(void) const ;
|
|
float get_y(void) const ;
|
|
float get_z(void) const ;
|
|
|
|
void set_x(const float &_x) ;
|
|
void set_y(const float &_y) ;
|
|
void set_z(const float &_z) ;
|
|
void set_coordinates(const Point3D &p) ;
|
|
|
|
float square_distance(const Point3D &p) const ;
|
|
inline float distance(const Point3D &p) const ;
|
|
float square_distance(const float &mx,
|
|
const float &my,
|
|
const float &mz) const ;
|
|
inline float distance(const float &mx,
|
|
const float &my,
|
|
const float &mz) const ;
|
|
|
|
Point3D operator=(const Point3D &p) ;
|
|
bool operator==(const Point3D &p) const ;
|
|
inline bool operator!=(const Point3D &p) const ;
|
|
bool operator<(const Point3D &p) const ;
|
|
inline bool operator>(const Point3D &p) const ;
|
|
bool operator<=(const Point3D &p) const ;
|
|
inline bool operator>=(const Point3D &p) const ;
|
|
|
|
friend ostream& operator<<(ostream &os, const Point3D &p) ;
|
|
} ;
|
|
|
|
#endif // _OWLPS_POSITIONING_POINT3D_HH_
|