- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

# src/Math/Point3D.hpp

Go to the documentation of this file.

    00001 #ifndef POINT_3D_HPP
    00002 #define POINT_3D_HPP
    00003
    00004 // Détection du système cible...
    00005 #include "usgeDetectSystem.h"
    00006
    00007 // Classe mère
    00008 #include "Math.hpp"
    00009 #include "Vector3D.hpp"
    00010
    00011
    00012 namespace USpeedGameEngine
    00013 {
    00014
    00015 class Math::Point3D
    00016 {
    00017     /****************
    00018     * Les attributs *
    00019     ****************/
    00020     public :
    00021     protected :
    00022     private :
    00023         float x;
    00024         float y;
    00025         float z;
    00026
    00027     /***************
    00028     * Les méthodes *
    00029     ***************/
    00030     public :
    00031         // Constructeurs
    00032         Point3D();
    00033         Point3D(float pX, float pY, float pZ);
    00034         // Destructeur par défaut
    00035         ~Point3D();
    00036
    00037         // Accesseur aux 3 composantes du point
    00038         void getValues(float *pX, float *pY, float *pZ);
    00039         // Définition des 3 composantes du point
    00040         void setValues(float pX, float pY, float pZ);
    00041
    00042         // Modification des composantes du point pour utiliser des valeurs arrondies (précision définie par Math::Epsilon)
    00043         void round();
    00044         // Version négative du point
    00045         void negate();
    00046         // Calcul la distance entre le point courant et le point spécifié
    00047         double distance(Math::Point3D *point) const;
    00048         // Calcul la distance au carré (d²) entre le point courant et le point spécifié
    00049         double distanceSquared(Math::Point3D *point) const;
    00050         // Translation du point selon un vecteur
    00051         void translate(Math::Vector3D *vector);
    00052
    00054         // Opérateur //
    00056         Math::Point3D operator+(const Math::Point3D &p) const;
    00057         Math::Point3D operator-(const Math::Point3D &p) const;
    00058         Math::Point3D operator*(const float scale) const;
    00059         Math::Point3D operator-(void) const;
    00060         Math::Point3D operator+(const Math::Vector3D &vector) const;
    00061         Math::Point3D& operator+=(const Math::Vector3D &vector);
    00062         Math::Point3D& operator=(const Math::Point3D &p);
    00063         Math::Point3D& operator+=(const Math::Point3D &p);
    00064         Math::Point3D& operator-=(const Math::Point3D &p);
    00065         Math::Point3D& operator*=(const float scale);
    00066         bool operator==(const Math::Point3D &p) const;
    00067         bool operator!=(const Math::Point3D &p) const;
    00068     protected :
    00069     private :
    00070
    00071 };
    00072
    00073 }        // Fin "namespace USpeedGameEngine"
    00074
    00075 #endif