diff --git a/rapport/architecture.tex b/rapport/architecture.tex index a5ea986..a6709be 100644 --- a/rapport/architecture.tex +++ b/rapport/architecture.tex @@ -104,7 +104,16 @@ développement : child [missing] {} child [missing] {} child { node [folder] {scenes}} - child { node [folder] {utils}} + child { node [folder] {utils} + child { node [folder] {closure-compiler}} + child { node [folder] {simple-compiler}} + child { node { build\_all.sh}} + child { node { demon.sh}} + } + child [missing] {} + child [missing] {} + child [missing] {} + child [missing] {} child { node {l3d.js}} ; @@ -136,12 +145,30 @@ développement : } child [missing] {} child {node [folder] {prototype} - child {node [folder] {interactive}} - child {node [folder] {replay}} - child {node [folder] {tutorial}} - child {node [folder] {coin-creator}} - child {node [folder] {coin-viewer}} - child {node [folder] {coin-checker}} + child {node [folder] {interactive} + child {node {main.js}} + } + child [missing] {} + child {node [folder] {replay} + child {node {main.js}} + } + child [missing] {} + child {node [folder] {tutorial} + child {node {main.js}} + } + child [missing] {} + child {node [folder] {coin-creator} + child {node {main.js}} + } + child [missing] {} + child {node [folder] {coin-viewer} + child {node {main.js}} + } + child [missing] {} + child {node [folder] {coin-checker} + child {node {main.js}} + } + child [missing] {} child {node {ButtonManager.js}} child {node {Coin.js}} child {node {GlobalFunctions.js}} @@ -232,3 +259,56 @@ utiliserons par la suite. \paragraph{} Dans la suite, nous allons seulement parler de L3D, puisque c'est le code que nous avons développé. + +\subsection{Les sources} +L3D est composée de plusieurs classes : +\begin{itemize} + \item les caméras, permettant de choisir des caméras avec des mouvements + particuliers + \item les canvas, qui permettent d'afficher des informations + supplémentaires à l'écran + \item les loaders, qui permettent de charger des modèles de manière + différente de celles proposées par \threejs + \item les classes mathématiques, comme les polynômes de Hermite + \item les recommandations, notamment les flèches et les \emph{viewports} +\end{itemize} + +\paragraph{} +Elle contient aussi quelques fonctions qui permettent de créer les scènes que +nous avons utilisées, et notamment leurs recommandations et leurs pièces +rouges. + +\paragraph{} +Dans le répertoire \texttt{utils}, il y a plusieurs outils pratiques pour le +développement et le déploiement : c'est là qu'est rangé le \emph{minifier} de +Google, \closurecompiler, et une version simplifiée, le Simple-Compiler, qui +utilise les mêmes paramètres mais se contente de concaténer le code. + +\paragraph{} +Pour L3D, le premier fichier qui sera dans la version finale est +\texttt{l3d.js}. Il contient simplement l'initialisation du \emph{namespace} +\texttt{L3D}, auquel toutes les classes et fonctions appartiendront. + +\subsection{Les applications} +Les applications sont principalement composées de programmes principaux, qui +utilisent les classes de L3D, ainsi, elles ne sont pas fusionnées avec L3D, et +laissées dans le namespace global. + +\subsubsection{Interactive} +Ceci est l'interface principale, où l'utilisateur doit rechercher les pièces. +Nous en parlerons plus dans la section \ref{interface}. + +\subsubsection{Replay} +C'est l'interface qui crée une \texttt{ReplayCamera} et permet de visionner une +expérience qui a été faite dans le passé. + +\subsubsection{Tutorial} +C'est le tutoriel de l'application : il possède notamment une classe qui copie +la caméra principale tout en permettant de vérifier que les interactions sont +faites comme il faut. + +\subsubsection{Coin-creator} +C'est une interface qui permet de créer des pièces : en cliquant sur une paroi, +un pièce apparait, et en cliquant sur une pièce, elle disparaît. Cette +interface possède un bouton qui permet d'envoyer un mail contenant les données +des pièces crées au format JSON. diff --git a/rapport/interface.tex b/rapport/interface.tex index 4e7ef16..5b4079a 100644 --- a/rapport/interface.tex +++ b/rapport/interface.tex @@ -1,4 +1,4 @@ -\part{L'interface} +\part{L'interface \label{interface}} \section{Interactions élémentaires} \paragraph{} La première interface a été pensée pour être la plus simple possible. diff --git a/rapport/main.tex b/rapport/main.tex index bb79641..d653002 100644 --- a/rapport/main.tex +++ b/rapport/main.tex @@ -53,6 +53,7 @@ anchorcolor = blue]{hyperref} \newcommand{\threejs}{\href{http://threejs.org/}{Three.js }} \newcommand{\socketio}{\href{http://socket.io/}{Socket.IO }} \newcommand{\jsdoc}{\href{http://usejsdoc.org/}{JSDoc }} +\newcommand{\closurecompiler}{\href{https://developers.google.com/closure/compiler/}{Closure-Compiler }} \renewcommand{\include}[1]{\import{./}{#1.tex}} \newcommand{\namedparagraph}[1]{\paragraph{#1}\mbox{}\\}