Commit 37886e91 authored by paps's avatar paps

--no commit message

--no commit message
parent 77051b8c
/**
* @brief PertNormalPerlin : les perturbations de normal d'une optic pour une entite plan.
* @file LrPertNormalPerlinPlan.h
* @date Jeudi 14 Fevrier 2008
* @note
* @author Josselin Francois
* @author Michael Nauge
* @author Axel Richard
* @author Hervé Souchaud
* @author Emeric Verschuur
*
*
* Classe représentant une perturbation de normal utilisant un bruit de perlin
*
*/
#ifndef LRPERTNORMAL_PERLIN_PLAN_H
#define LRPERTNORMAL_PERLIN_PLAN_H
#include "LrPertNormal.h"
#include "LrPerlin.h"
/**
* @brief PertNormal : les perturbations de normal d'une optic.
*
* Classe représentant une perturbation de normal utilisant un bruit de perlin
*
*/
class LrPertNormalPerlinPlan : public LrPertNormal
{
public:
/**
* @brief LrPertNormalPerlinBasic constructor.
*/
LrPertNormalPerlinPlan();
/**
* @brief LrPertNormalPerlin copy constructor
* @param source LrPertNormalPerlin object reference.
*/
LrPertNormalPerlinPlan(const LrPertNormalPerlinPlan &source);
/**
* @brief LrPertNormalPerlin constructeur personnel
* @param coefficient de perturbation de la normale
*/
LrPertNormalPerlinPlan(Real val_bump);
/**
* @brief LrPertNormalPerlin clone.
* @return LrPertNormalPerlin pointer object.
*/
LrPertNormalPerlinPlan * clone() const;
/**
* @brief LrPertNormalPerlin destructor
*/
virtual ~LrPertNormalPerlinPlan();
/**
* @brief accessors
* Obtenir une normale non perturber
* @param u real coordonnee parametrique horizontale
* @param v real coordonnee parametrique verticale
* @param tangent LrVector la tangent fourni par la geometrie
* @param N LrVector Normale fourni par la geometrie
*/
virtual LrVector getNormal(Real u, Real v,
const LrVector &tangent,
const LrVector &N, const LrPoint &point) const;
private :
mutable LrPerlin m_perlin;
Real m_bump;
};
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment