Skip to content
Extraits de code Groupes Projets
Valider 4f6b0a3e rédigé par DBA_3's avatar DBA_3
Parcourir les fichiers

doxygene

parent 619e01de
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
#ifndef CAMERA_H #ifndef CAMERA_H
#define CAMERA_H #define CAMERA_H
/*!
* \file camera.h
* \brief Representation d'une camera, similaire a un rayon
*/
#include "vector3f.h" #include "vector3f.h"
/*!
* \class Camera
* \brief Classe représentant la caméra
*
* Représentation d'une caméra dans l'espace avec une implémentation similaire à Ray3f
*/
class Camera class Camera
{ {
private: private:
Vector3f position_; Vector3f position_; /*!< Position de la caméra */
Vector3f direction_; Vector3f direction_; /*!< Direction de la caméra */
public: public:
/*!
* \brief Constructeur
*
* Constructeur de la classe Camera
* \param <pos> la position de la caméra
* \param <dir> la direction de la caméra
*/
Camera(const Vector3f & pos, const Vector3f & dir); Camera(const Vector3f & pos, const Vector3f & dir);
/*!
* \brief Constructeur de Copie
*
* Constructeur de Copie de la classe Camera
* \param <r> référence d'une camera
*/
Camera(const Camera & r); Camera(const Camera & r);
//TODO//
Camera & operator=(const Camera & r); Camera & operator=(const Camera & r);
/*!
* \brief Getter de la position de la Camera
* retourne le Vector3f de la position de la Camera
*/
Vector3f position() const; Vector3f position() const;
/*!
* \brief Getter pour la direction de la Camera
* retourne le Vector3f de la direction de la Camera
*/
Vector3f direction() const; Vector3f direction() const;
}; };
......
...@@ -4,26 +4,68 @@ ...@@ -4,26 +4,68 @@
#include <ostream> #include <ostream>
/*!
* \file material.h
* \brief Représentation d'un matériau
*/
class Material class Material
{ {
/*!
* \class Material
* \brief Classe représentant un matériau
*
* La classe représente un matériau par sa couleur et sa brillance
*/
private: private:
float r_; float r_; /*!< niveau de rouge valant entre 0 et 255 */
float g_; float g_; /*!< niveau de vert valant entre 0 et 255 */
float b_; float b_; /*!< niveau de bleu valant entre 0 et 255 */
float shiness_; float shiness_; /*!< Brillance*/
public: public:
/*!
* \brief Constructeur
*
* Constructeur de la classe Material
*
* \param <r> niveau de Rouge de la couleur
* \param <g> niveau de Vert de la couleur
* \param <b> niveau de Bleu de la couleur
* \param <s> Brillance du matériau
*/
Material(float r, float g, float b, float shiness); Material(float r, float g, float b, float shiness);
/*!
* \brief Constructeur de Copie
*
* Constructeur de copie de la classe Material
*
* \param <Material &> reference à un autre matériau
*/
Material(const Material &); Material(const Material &);
//~Material(); //nécessaire pour ce blaireau de yacine
/*!
* \brief Getter du niveau de rouge du matériau
*/
float r() const; float r() const;
/*!
* \brief Getter du niveau de vert du matériau
*/
float g() const; float g() const;
/*!
* \brief Getter du niveau de bleu du matériau
*/
float b() const; float b() const;
/*!
* \brief Getter de la brillance du matériau
*/
float shiness() const; float shiness() const;
}; };
/*!
* \brief Opérateur d'affichage des niveaux de couleur et de la brillance du matériau
*/
std::ostream & operator<<(std::ostream & st, const Material & m); std::ostream & operator<<(std::ostream & st, const Material & m);
......
#ifndef RAY3F_H #ifndef RAY3F_H
#define RAY3F_H #define RAY3F_H
/*!
* \file ray3f.h
* \brief Implémentation d'un rayon dans l'espace
*/
#include "vector3f.h" #include "vector3f.h"
/*!
* \class Ray3f
* \brief Classe représentant un rayon dans l'espace
*
* Représente un rayon par son origine et sa direction
*/
class Ray3f class Ray3f
{ {
private: private:
Vector3f origin_; Vector3f origin_; /*!< Origine du rayon */
Vector3f direction_; Vector3f direction_; /*!< Direction du rayon */
public: public:
/*!
* \brief Constructeur
*
* Constructeur de la classe Ray3f
* \param <ori> Origine du rayon
* \param <dir> Direction du rayon
*/
Ray3f(const Vector3f & ori, const Vector3f & dir); Ray3f(const Vector3f & ori, const Vector3f & dir);
/*!
* \brief Constructeur de Copie
*
* Constructeur de copie de la classe Ray3f
* \param <r> Référence vers un autre rayon
*/
Ray3f(const Ray3f & r); Ray3f(const Ray3f & r);
Ray3f & operator=(const Ray3f & r); Ray3f & operator=(const Ray3f & r);
/*!
* \brief Getter pour l'origine du rayon
*/
Vector3f origin() const; Vector3f origin() const;
/*!
* \brief Getter pour la direction du rayon
*/
Vector3f direction() const; Vector3f direction() const;
}; };
......
...@@ -5,9 +5,20 @@ ...@@ -5,9 +5,20 @@
#include "shape.h" #include "shape.h"
/*!
* \file scene.h
* \brief Representation de la scene
*/
/*!
* \class Scene
* \brief Classe permettant le rendu de la scene
*
* Contient toutes les informations pour pouvoir faire le rendu: la camera, la lumiere, et la liste des pointeurs sur les formes
*/
class Scene class Scene
{ {
Camera camera_; Camera camera_;
Shape* *shapes_; Shape* *shapes_;
Ray3f source_; Ray3f source_;
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter