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
#define CAMERA_H
/*!
* \file camera.h
* \brief Representation d'une camera, similaire a un rayon
*/
#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
{
private:
Vector3f position_;
Vector3f direction_;
Vector3f position_; /*!< Position de la caméra */
Vector3f direction_; /*!< Direction de la caméra */
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);
/*!
* \brief Constructeur de Copie
*
* Constructeur de Copie de la classe Camera
* \param <r> référence d'une camera
*/
Camera(const Camera & r);
//TODO//
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;
/*!
* \brief Getter pour la direction de la Camera
* retourne le Vector3f de la direction de la Camera
*/
Vector3f direction() const;
};
......
......@@ -4,26 +4,68 @@
#include <ostream>
/*!
* \file material.h
* \brief Représentation d'un matériau
*/
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:
float r_;
float g_;
float b_;
float shiness_;
float r_; /*!< niveau de rouge valant entre 0 et 255 */
float g_; /*!< niveau de vert valant entre 0 et 255 */
float b_; /*!< niveau de bleu valant entre 0 et 255 */
float shiness_; /*!< Brillance*/
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);
/*!
* \brief Constructeur de Copie
*
* Constructeur de copie de la classe Material
*
* \param <Material &> reference à un autre matériau
*/
Material(const Material &);
//~Material(); //nécessaire pour ce blaireau de yacine
/*!
* \brief Getter du niveau de rouge du matériau
*/
float r() const;
/*!
* \brief Getter du niveau de vert du matériau
*/
float g() const;
/*!
* \brief Getter du niveau de bleu du matériau
*/
float b() const;
/*!
* \brief Getter de la brillance du matériau
*/
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);
......
#ifndef RAY3F_H
#define RAY3F_H
/*!
* \file ray3f.h
* \brief Implémentation d'un rayon dans l'espace
*/
#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
{
private:
Vector3f origin_;
Vector3f direction_;
Vector3f origin_; /*!< Origine du rayon */
Vector3f direction_; /*!< Direction du rayon */
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);
/*!
* \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 & operator=(const Ray3f & r);
/*!
* \brief Getter pour l'origine du rayon
*/
Vector3f origin() const;
/*!
* \brief Getter pour la direction du rayon
*/
Vector3f direction() const;
};
......
......@@ -5,9 +5,20 @@
#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
{
Camera camera_;
Shape* *shapes_;
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