Loading...
Searching...
No Matches
vec3dpair.h
Go to the documentation of this file.
1#ifndef _BBM_VEC3DPAIR_H_
2#define _BBM_VEC3DPAIR_H_
3
4#include <ostream>
5
6#include "util/reflection.h"
7#include "bbm/config.h"
8
9/************************************************************************/
10/*! \file vec3dpair.h
11 \brief Structure to hold a pair of directions
12*************************************************************************/
13
14namespace bbm {
15
16 /**********************************************************************/
17 /*! \brief Structure to hold a pair of directions
18 ***********************************************************************/
19 template<typename CONF> requires concepts::config<CONF>
20 struct vec3dpair
21 {
23
24 Vec3d in; ///< In direction
25 Vec3d out; ///< Out direction
26
28 };
29
30
31 /////////////////////
32 // ostream support //
33 /////////////////////
34 template<typename CONF>
35 std::ostream& operator<<(std::ostream& s, const bbm::vec3dpair<CONF>& rs)
36 {
37 return s << "(" << rs.in << ", " << rs.out << ")";
38 }
39
40} // end bbm namespace
41
42#endif /* _BBM_VEC3DPAIR_H_ */
All BBM methods are defined to operate on a variety of value types and spectrum types....
Definition: aggregatebsdf.h:29
std::ostream & operator<<(std::ostream &s, const BSDF &bsdf)
Definition: bsdf_base.h:138
Structure to hold a pair of directions.
Definition: vec3dpair.h:21
BBM_IMPORT_CONFIG(CONF)
BBM_ATTRIBUTES(in, out)
Vec3d in
In direction.
Definition: vec3dpair.h:24
Vec3d out
Out direction.
Definition: vec3dpair.h:25
Compile-time reflection of: