Loading LrGeometryQuadrangle.cppdeleted 100644 → 0 +0 −81 Original line number Diff line number Diff line /** * @brief GÉOMÉTRIE : Gestion d'un quadrangle * @file LrGeometryQuadrangle.cpp * @date Vendredi 7 mars 2008 * @note * @author Josselin Francois * @author Michael Nauge * @author Axel Richard * @author Hervé Souchaud * @author Emeric Verschuur * * Ce fichier contient la classe qui gère une géométrie quadrangulaire. */ #if defined HAVE_CONFIG_H #include "config.h" #endif #include "LrGeometryQuadrangle.h" LrGeometryQuadrangle::LrGeometryQuadrangle() : LrGeometry() { } LrGeometryQuadrangle::LrGeometryQuadrangle(const LrGeometryQuadrangle& src) : LrGeometry(src) { } LrGeometryQuadrangle::~LrGeometryQuadrangle() { } LrGeometryQuadrangle& LrGeometryQuadrangle::operator = (const LrGeometryQuadrangle& src) { if(this==&src) return *this; LrGeometry::operator = (src); // [...] return *this; } bool operator == (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs) { return (const LrGeometry&)rhs == (const LrGeometry&)lhs /* and [...] */; } bool operator != (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs) { return ! (rhs==lhs); } int LrGeometryQuadrangle::getNbFragments() const{ return 1; } bool LrGeometryQuadrangle::getIntersection(const LrRay &ray, LrHit *hit, int fragment, Real minBound, Real maxBound) const { // [...] return false; } void LrGeometryQuadrangle::getMinMax(LrPoint &min, LrPoint &max, int fragment) const{ // ! } void LrGeometryQuadrangle::xyz2uv(const LrPoint &point, Real &u, Real &v) const { // [...] } void LrGeometryQuadrangle::uv2xyz(Real u, Real v, LrPoint *point, LrVector *normal, LrVector *tangent) const { // [...] } LrGeometryQuadrangle.hdeleted 100644 → 0 +0 −120 Original line number Diff line number Diff line /** * @brief GÉOMÉTRIE : Gestion d'un quadrangle * @file LrGeometryQuadrangle.h * @date Vendredi 7 mars 2008 * @note * @author Josselin Francois * @author Michael Nauge * @author Axel Richard * @author Hervé Souchaud * @author Emeric Verschuur * * Ce fichier contient la classe qui gère une géométrie quadrangulaire. */ #ifndef LRGEOMETRYQUADRANGLE_H #define LRGEOMETRYQUADRANGLE_H #include "LrGeometry.h" /** * @brief GÉOMÉTRIE : Gestion d'une géométrie quadrangulaire * * Cette classe gère une géométrie quadrangulaire. */ class LrGeometryQuadrangle : public LrGeometry { public: /** * @brief Constructeur. */ LrGeometryQuadrangle(); /** * @brief Constructeur par copie. * @param src Référence d'un objet LrGeometryQuadrangle. */ LrGeometryQuadrangle(const LrGeometryQuadrangle& src); /** * @brief Destructeur. */ virtual ~LrGeometryQuadrangle(); /** * @brief Opérateur d'affectation. * @param src Géométrie source. * @return Une référence sur l'objet affecté. */ LrGeometryQuadrangle& operator = (const LrGeometryQuadrangle& src); /** * @brief Opérateur de test d'égalité. * @return vrai ou faux. */ friend bool operator == (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs); /** * @brief Opérateur de test d'inégalité. * @return vrai ou faux. */ friend bool operator != (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs); /** * @brief Donne le nombre de fragments de la géométrie. * @return Un entier. */ virtual int getNbFragments() const; /** * @brief Donne d'intersection entre un rayon et la géométrie. * @param ray Référence d'un objet LrRay. * @param hit Adresse de l'objet LrHit dans lequel sera stocké le résultat. * @param fragment Fragment de la géométrie. * @param minBound Distance minimum par rapport à l'origine (défaut : 0). * @param maxBound Distance maximum par rapport à l'origine (défaut : INFINITY). * @return vrai si il y a une intersection, sinon faux. * * Cette méthode calcul l'intersection entre le rayon @a ray et la géométrie * et stocke le résultat dans la sructure LrHit pointée par @a hit si ce * dernier n'est pas égal à NULL. On peut également spécifier la portion du * rayon, à l'aide des paramètres @a minBound @a maxBound , à prendre en * compte pour ce calcul. */ virtual bool getIntersection(const LrRay &ray, LrHit *hit, int fragment, Real minBound=0, Real maxBound=INFINITY) const; /** * @brief Calcul des points min et max de la boîte englobante. * @param min LrPoint minimum de la boîte. * @param max LrPoint maximum de la boîte. * @param fragment Fragment de la géométrie. * * Calcule le point "en bas, devant, à gauche" et le point "en haut, * derrière, à droite" de la géométrie. */ virtual void getMinMax(LrPoint &min, LrPoint &max, int fragment) const; protected: /** * @brief Conversion de coordonnées absolues en paramétriques. * @param point Point à convertir. * @param u Réel u (paramètre out). * @param v Réel v (paramètre out). */ virtual void xyz2uv(const LrPoint &point, Real &u, Real &v) const; /** * @brief Conversion de coordonnées paramétriques en absolues. * @param u Réel u. * @param v Réel v. * @param point Point résultant (paramètre out). * @param normal Normale à ce point (paramètre out). * @param tangent Tangente à ce point (paramètre out). */ virtual void uv2xyz(Real u, Real v, LrPoint *point, LrVector *normal, LrVector *tangent) const; private: }; #endif Loading
LrGeometryQuadrangle.cppdeleted 100644 → 0 +0 −81 Original line number Diff line number Diff line /** * @brief GÉOMÉTRIE : Gestion d'un quadrangle * @file LrGeometryQuadrangle.cpp * @date Vendredi 7 mars 2008 * @note * @author Josselin Francois * @author Michael Nauge * @author Axel Richard * @author Hervé Souchaud * @author Emeric Verschuur * * Ce fichier contient la classe qui gère une géométrie quadrangulaire. */ #if defined HAVE_CONFIG_H #include "config.h" #endif #include "LrGeometryQuadrangle.h" LrGeometryQuadrangle::LrGeometryQuadrangle() : LrGeometry() { } LrGeometryQuadrangle::LrGeometryQuadrangle(const LrGeometryQuadrangle& src) : LrGeometry(src) { } LrGeometryQuadrangle::~LrGeometryQuadrangle() { } LrGeometryQuadrangle& LrGeometryQuadrangle::operator = (const LrGeometryQuadrangle& src) { if(this==&src) return *this; LrGeometry::operator = (src); // [...] return *this; } bool operator == (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs) { return (const LrGeometry&)rhs == (const LrGeometry&)lhs /* and [...] */; } bool operator != (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs) { return ! (rhs==lhs); } int LrGeometryQuadrangle::getNbFragments() const{ return 1; } bool LrGeometryQuadrangle::getIntersection(const LrRay &ray, LrHit *hit, int fragment, Real minBound, Real maxBound) const { // [...] return false; } void LrGeometryQuadrangle::getMinMax(LrPoint &min, LrPoint &max, int fragment) const{ // ! } void LrGeometryQuadrangle::xyz2uv(const LrPoint &point, Real &u, Real &v) const { // [...] } void LrGeometryQuadrangle::uv2xyz(Real u, Real v, LrPoint *point, LrVector *normal, LrVector *tangent) const { // [...] }
LrGeometryQuadrangle.hdeleted 100644 → 0 +0 −120 Original line number Diff line number Diff line /** * @brief GÉOMÉTRIE : Gestion d'un quadrangle * @file LrGeometryQuadrangle.h * @date Vendredi 7 mars 2008 * @note * @author Josselin Francois * @author Michael Nauge * @author Axel Richard * @author Hervé Souchaud * @author Emeric Verschuur * * Ce fichier contient la classe qui gère une géométrie quadrangulaire. */ #ifndef LRGEOMETRYQUADRANGLE_H #define LRGEOMETRYQUADRANGLE_H #include "LrGeometry.h" /** * @brief GÉOMÉTRIE : Gestion d'une géométrie quadrangulaire * * Cette classe gère une géométrie quadrangulaire. */ class LrGeometryQuadrangle : public LrGeometry { public: /** * @brief Constructeur. */ LrGeometryQuadrangle(); /** * @brief Constructeur par copie. * @param src Référence d'un objet LrGeometryQuadrangle. */ LrGeometryQuadrangle(const LrGeometryQuadrangle& src); /** * @brief Destructeur. */ virtual ~LrGeometryQuadrangle(); /** * @brief Opérateur d'affectation. * @param src Géométrie source. * @return Une référence sur l'objet affecté. */ LrGeometryQuadrangle& operator = (const LrGeometryQuadrangle& src); /** * @brief Opérateur de test d'égalité. * @return vrai ou faux. */ friend bool operator == (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs); /** * @brief Opérateur de test d'inégalité. * @return vrai ou faux. */ friend bool operator != (const LrGeometryQuadrangle& rhs, const LrGeometryQuadrangle& lhs); /** * @brief Donne le nombre de fragments de la géométrie. * @return Un entier. */ virtual int getNbFragments() const; /** * @brief Donne d'intersection entre un rayon et la géométrie. * @param ray Référence d'un objet LrRay. * @param hit Adresse de l'objet LrHit dans lequel sera stocké le résultat. * @param fragment Fragment de la géométrie. * @param minBound Distance minimum par rapport à l'origine (défaut : 0). * @param maxBound Distance maximum par rapport à l'origine (défaut : INFINITY). * @return vrai si il y a une intersection, sinon faux. * * Cette méthode calcul l'intersection entre le rayon @a ray et la géométrie * et stocke le résultat dans la sructure LrHit pointée par @a hit si ce * dernier n'est pas égal à NULL. On peut également spécifier la portion du * rayon, à l'aide des paramètres @a minBound @a maxBound , à prendre en * compte pour ce calcul. */ virtual bool getIntersection(const LrRay &ray, LrHit *hit, int fragment, Real minBound=0, Real maxBound=INFINITY) const; /** * @brief Calcul des points min et max de la boîte englobante. * @param min LrPoint minimum de la boîte. * @param max LrPoint maximum de la boîte. * @param fragment Fragment de la géométrie. * * Calcule le point "en bas, devant, à gauche" et le point "en haut, * derrière, à droite" de la géométrie. */ virtual void getMinMax(LrPoint &min, LrPoint &max, int fragment) const; protected: /** * @brief Conversion de coordonnées absolues en paramétriques. * @param point Point à convertir. * @param u Réel u (paramètre out). * @param v Réel v (paramètre out). */ virtual void xyz2uv(const LrPoint &point, Real &u, Real &v) const; /** * @brief Conversion de coordonnées paramétriques en absolues. * @param u Réel u. * @param v Réel v. * @param point Point résultant (paramètre out). * @param normal Normale à ce point (paramètre out). * @param tangent Tangente à ce point (paramètre out). */ virtual void uv2xyz(Real u, Real v, LrPoint *point, LrVector *normal, LrVector *tangent) const; private: }; #endif