Loading...
Searching...
No Matches
bsdf.h
Go to the documentation of this file.
1#ifndef _BBM_BSDF_CONCEPT_H_
2#define _BBM_BSDF_CONCEPT_H_
3
4#include <type_traits>
5#include "concepts/config.h"
7
8/************************************************************************/
9/*! \file bsdf.h
10 \brief bsdf contract: virtual interface wrapper around bsdfmodels
11*************************************************************************/
12
13namespace bbm {
14
15 //! \brief Forward declaration
16 template<typename CONF> requires concepts::config<CONF> struct bsdf_base;
17
18 namespace concepts {
19
20 /********************************************************************/
21 /*! \brief bsdf concept
22
23 Each bsdf must:
24 + concepts::has_config
25 + concepts::bsdfmodel
26 + inherit from bsdf_base
27 *********************************************************************/
28 template<typename T>
30
31 } // end concepts namespace
32} // end bbm namespace
33
34#endif /* _BBM_BSDF_CONCEPT_H_ */
bsdf concept
Definition: bsdf.h:29
bsdfmodel concept
Definition: bsdfmodel.h:33
has_config
Definition: config.h:53
bsdfmodel contract
config contract
Definition: aggregatebsdf.h:29
Forward declaration.
Definition: bsdf_base.h:55