Commit d95eabc9 authored by axel's avatar axel

mise en forme de code

parent 1f5c4e3e
......@@ -15,52 +15,53 @@
#if defined HAVE_CONFIG_H
#include "config.h"
#endif
#include "LrPoint.h"
#include "LrVector.h"
const LrPoint LrPoint::ZERO (0.0,0.0,0.0);
const LrPoint LrPoint::I (1.0,0.0,0.0);
const LrPoint LrPoint::J (0.0,1.0,0.0);
const LrPoint LrPoint::K (0.0,0.0,1.0);
// ############################################################################
/*---------------------------------------------------------------------------*
* constructors and destructor *
*---------------------------------------------------------------------------*/
LrPoint::LrPoint()
:x(0), y(0), z(0)
: x(0), y(0), z(0)
{
}
// ############################################################################
LrPoint::LrPoint(const LrPoint &source)
:x(source.x), y(source.y), z(source.z)
: x(source.x), y(source.y), z(source.z)
{
}
// ############################################################################
LrPoint::LrPoint(Real x, Real y, Real z)
:x(x), y(y), z(z)
: x(x), y(y), z(z)
{
}
// ############################################################################
LrPoint::~LrPoint()
{
}
// ############################################################################
void LrPoint::translate(const LrVector &v)
{
x+=v.x;
y+=v.y;
z+=v.z;
}
/*---------------------------------------------------------------------------*
* assignement operator(s) *
*---------------------------------------------------------------------------*/
// ############################################################################
LrPoint & LrPoint::operator = (const LrPoint &source)
{
if(this == &source) return (*this);
......@@ -70,33 +71,42 @@ LrPoint & LrPoint::operator = (const LrPoint &source)
return (*this);
}
/*---------------------------------------------------------------------------*
* comparison operator(s) *
*---------------------------------------------------------------------------*/
// ############################################################################
bool operator == (const LrPoint &lhs, const LrPoint &rhs)
{
return ((lhs.x == rhs.x) && (lhs.y == rhs.y) && (lhs.z == rhs.z));
}
// ############################################################################
bool operator != (const LrPoint &lhs, const LrPoint &rhs)
{
return !(lhs == rhs);
}
/*---------------------------------------------------------------------------*
* methodes de classe *
*---------------------------------------------------------------------------*/
// ############################################################################
Real LrPoint::distance(const LrPoint &p1, const LrPoint &p2)
{
return sqrt(((p2.x - p1.x)*(p2.x - p1.x)) + ((p2.y - p1.y)*(p2.y - p1.y)) + ((p2.z - p1.z)*(p2.z - p1.z))) ;
return sqrt(((p2.x - p1.x)*(p2.x - p1.x)) +
((p2.y - p1.y)*(p2.y - p1.y)) +
((p2.z - p1.z)*(p2.z - p1.z))) ;
}
// ############################################################################
Real LrPoint::distanceCarre(const LrPoint &p1, const LrPoint &p2)
{
return (((p2.x - p1.x)*(p2.x - p1.x)) + ((p2.y - p1.y)*(p2.y - p1.y)) + ((p2.z - p1.z)*(p2.z - p1.z)));
return (((p2.x - p1.x)*(p2.x - p1.x)) +
((p2.y - p1.y)*(p2.y - p1.y)) +
((p2.z - p1.z)*(p2.z - p1.z)));
}
// ############################################################################
LrPoint LrPoint::middle(const LrPoint &p1, const LrPoint &p2)
{
LrPoint point((p2.x + p1.x)/2.0,
......@@ -105,6 +115,8 @@ LrPoint LrPoint::middle(const LrPoint &p1, const LrPoint &p2)
return point;
}
// ############################################################################
LrPoint LrPoint::interpolate(Real t, const LrPoint &p1, const LrPoint &p2)
{
return LrPoint(p1.x + t * (p2.x - p1.x),
......@@ -112,6 +124,8 @@ LrPoint LrPoint::interpolate(Real t, const LrPoint &p1, const LrPoint &p2)
p1.z + t * (p2.z - p1.z));
}
// ############################################################################
LrPoint LrPoint::translate(const LrPoint &p, const LrVector &v)
{
LrPoint point;
......@@ -120,3 +134,5 @@ LrPoint LrPoint::translate(const LrPoint &p, const LrVector &v)
point.z = p.z + v.z;
return point;
}
// ############################################################################
/**
* @brief OBJET : un point 3D
* @brief Classe pour la gestion d'point 3D
* @file LrPoint.h
* @date Vendredi 7 mars 2008
* @note
......@@ -19,73 +19,172 @@
class LrVector;
/**
* @brief OBJET : un point 3D
*
* Ce fichier contient la classe qui gère la creation d'un point 3D
*/
class LrPoint
{
public:
// constants
// *********
///@brief POINT ZERO
static const LrPoint ZERO;
///@brief POINT I
static const LrPoint I;
///@brief POINT J
static const LrPoint J;
///@brief POINT K
static const LrPoint K;
// constructors and destructor
// ***************************
//NB : exceptionnellement les membres sont public
///@brief Composante x du point
Real x;
///@brief Composante y du point
Real y;
///@brief Composante z du point
Real z;
/**
* @brief LrPoint constructor
*/
LrPoint();
/**
* @brief LrPoint copy constructor
* @param source LrPoint object reference
*/
LrPoint(const LrPoint &source);
/**
* @brief LrPoint personnal constructor
* @param x composante x du point (Real)
* @param y composante y du point (Real)
* @param z composante z du point (Real)
*/
LrPoint(Real x, Real y, Real z);
/**
* @brief LrColor destructor
*/
virtual ~LrPoint();
// assignement operator(s)
// ***********************
LrPoint & operator = (const LrPoint &source);
// comparison operator(s)
// **********************
friend bool operator == (const LrPoint &lhs, const LrPoint &rhs);
friend bool operator != (const LrPoint &lhs, const LrPoint &rhs);
// accessors
// *********
/**
* @brief Accesseur pour obtenir la composante x du point
* @return Real la valeur de la composante x
*/
Real getX() const;
/**
* @brief Methode pour modifier la composante x du point
* @param x la composante (Real)
*/
void setX(Real x);
/**
* @brief Accesseur pour obtenir la composante y du point
* @return Real la valeur de la composante y
*/
Real getY() const;
/**
* @brief Methode pour modifier la composante y du point
* @param y la composante (Real)
*/
void setY(Real y);
/**
* @brief Accesseur pour obtenir la composante z du point
* @return Real la valeur de la composante z
*/
Real getZ() const;
/**
* @brief Methode pour modifier la composante z du point
* @param z la composante (Real)
*/
void setZ(Real z);
/**
* @brief Methode pour modifier les comosantes (x,y,z) du point
* @param x la composante (Real)
* @param y la composante (Real)
* @param z la composante (Real)
*/
void setXYZ(Real x, Real y, Real z);
// miscellaneous functions
// ***********************
/**
* @brief Opérateur d'affectation
* @param source LrPoint modèle
* @return Retourne un nouveau LrPoint
*/
LrPoint & operator = (const LrPoint &source);
/**
* @brief Opérateur d'égalité
* @param lhs Opérande gauche de type LrPoint
* @param rhs Opérande droite de type LrPoint
* @return Retourne vrai si lhs et rhs sont égaux
*/
friend bool operator == (const LrPoint &lhs, const LrPoint &rhs);
/**
* @brief Opérateur d'égalité
* @param lhs Opérande gauche de type LrPoint
* @param rhs Opérande droite de type LrPoint
* @return Retourne vrai si lhs et rhs sont différents
*/
friend bool operator != (const LrPoint &lhs, const LrPoint &rhs);
/**
* @brief Methode permettant de connaitre la distance entre 2 points
* @param p1 Opérande gauche de type LrPoint
* @param p2 Opérande droite de type LrPoint
* @return Retourne un Real contenant la distance entre p1 et p2
*/
static Real distance(const LrPoint &p1, const LrPoint &p2);
/**
* @brief Methode permettant de connaitre la distance² entre 2 points
* @param p1 Opérande gauche de type LrPoint
* @param p2 Opérande droite de type LrPoint
* @return Retourne un Real contenant la distance² entre p1 et p2
*/
static Real distanceCarre(const LrPoint &p1, const LrPoint &p2);
/**
* @brief Methode permettant de connaitre le point qui se trouve entre
* @brief 2 points
* @param p1 Opérande gauche de type LrPoint
* @param p2 Opérande droite de type LrPoint
* @return Retourne un LrPoint qui est entre p1 et p2
*/
static LrPoint middle(const LrPoint &p1, const LrPoint &p2);
/**
* @brief Methode permettant de connaitre le point qui se trouve entre
* @brief 2 points en fonction de la distance t
* @param t la distance (Real)
* @param p1 point de type LrPoint
* @param p2 point de type LrPoint
* @return Retourne un LrPoint qui est entre p1 et p2
*/
static LrPoint interpolate(Real t, const LrPoint &p1, const LrPoint &p2);
/**
* @brief Methode qui translate un point à partir d'un vecteur
* @param p point de type LrPoint
* @param v vecteur de translation de type LrVector
* @return Retourne un LrPoint
*/
static LrPoint translate(const LrPoint &p, const LrVector &v);
/**
* @brief Methode qui translate un point à partir d'un vecteur
* @param v vecteur de translation de type LrVector
*/
void translate(const LrVector &v);
// data
// ****
// public members EXCEPTIONNALY : to simplify use of this class
Real x, y, z;
private:
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment