Commit 779ec2c6 authored by axel's avatar axel
Browse files

No commit message

No commit message
parent 03859477
Loading
Loading
Loading
Loading
+37 −10
Original line number Diff line number Diff line
@@ -17,13 +17,12 @@
#ifndef LRSCENE_H
#define LRSCENE_H


#include <list>
#include <semaphore.h>
#include "LrEntity.h"
#include "LrBinder.h"
#include "LrCamera.h"
#include "LrImage.h"
#include <list>
#include <semaphore.h>

/**
 * @brief SCENE : Generation de la scene.
@@ -75,29 +74,57 @@ class LrScene
    LrScene & operator = (const LrScene &source);

    /**
     * @brief Accesseurs.
     * @brief Accesseur sur la structure acceleratrice
     * @return LrBinder* un pointeur sur la structure accéleratrice
     */
    LrBinder* getBinder() const;
//     void setBinder(const LrBinder *binder);

    /**
     * @brief Accesseur sur la liste d'entites
     * @return LrEntityList reference sur la liste des entites
     */    
    const LrEntityList& getEntities() const;
//     void setEntities(const TabEntities entities);

    /**
     * @brief Accesseur sur l'image
     * @return LrBinder* un pointeur sur l'image
     */
    LrImage *getImage() const;
    
    /**
     * @brief Methode pour modifier l'image associé a la scene
     * @param image pointeur sur LrImage
     */
    void setImage(LrImage *image);

    /**
     * @brief Accesseur sur la camera
     * @return LrCamera* un pointeur sur la camera
     */
    LrCamera *getCamera() const;
    void setCamera(LrCamera *camera);
    
    void generateImage(int nbThreads=1);
    /**
     * @brief Methode pour modifier la camera associé a la scene
     * @param camera pointeur sur LrCamera
     */
    void setCamera(LrCamera *camera);
    
   /**
    * @brief Phase préparatoire à tout calcul. Permet de packer la scene    
    */  
    virtual void initialize()=0;

    /**
     * @brief Methode pour la génération des images. Initialise les threads.
     * @ param nbThreads le nombre de threads a lancer pour le calcul
     */  
    void generateImage(int nbThreads=1);
    
    /**
     * @brief Methode abstraite pour la génération des images. 
     * @brief Genere une partie de l'image
     * @lOffset entier correspondant a ligne de depart
     * @lNb entier correspondant au nombre de lignes a calculer
     */  
    virtual void generateImagePart(int lOffset, int lNb)=0;