From 4f6b0a3e2f9c5dff9e0ee73a6475a555267d53ed Mon Sep 17 00:00:00 2001
From: DBA_3 <yacine.acheroufkebir@gmail.com>
Date: Thu, 9 Jan 2020 01:12:27 +0100
Subject: [PATCH] doxygene

---
 camera.h   | 39 +++++++++++++++++++++++++++++++++++++--
 material.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 ray3f.h    | 34 +++++++++++++++++++++++++++++++---
 scene.h    | 13 ++++++++++++-
 4 files changed, 128 insertions(+), 12 deletions(-)

diff --git a/camera.h b/camera.h
index 5eca3bc..77422ac 100644
--- a/camera.h
+++ b/camera.h
@@ -1,23 +1,58 @@
 #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;
 };
 
diff --git a/material.h b/material.h
index 7f3a044..7608bb6 100644
--- a/material.h
+++ b/material.h
@@ -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);
 
diff --git a/ray3f.h b/ray3f.h
index 5ae4f47..eeb84d7 100644
--- a/ray3f.h
+++ b/ray3f.h
@@ -1,23 +1,51 @@
 #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;
 };
 
diff --git a/scene.h b/scene.h
index bc4f16d..c5bd901 100644
--- a/scene.h
+++ b/scene.h
@@ -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_;
-- 
GitLab