Loading [MathJax]/extensions/tex2jax.js
Photon Engine
2.0.0-beta
A physically based renderer.
Toggle main menu visibility
Home
Components
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
Variables
a
b
c
d
e
f
g
h
k
m
p
r
s
t
u
x
y
z
Typedefs
a
b
c
d
e
f
h
i
k
l
m
p
q
r
s
t
v
Enumerations
e
Enumerator
Concepts
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Typedefs
a
b
c
d
e
f
i
k
m
n
o
p
r
s
t
v
w
Enumerations
Related Symbols
Files
File List
File Members
All
b
c
f
i
k
m
p
s
Functions
Typedefs
Macros
▼
Photon Engine
Home
Components
►
Engine
►
Engine Directories
Bibliography
►
Namespaces
►
Concepts
►
Classes
▼
Files
▼
File List
Documentation
►
Include
▼
Source
►
Actor
►
Api
►
Common
►
Core
►
DataIO
►
EngineEnv
►
Frame
▼
Math
►
Algorithm
▼
Color
►
chromatic_adaptations.h
►
chromatic_adaptations.ipp
►
color_basics.h
►
color_enums.h
►
color_spaces.h
►
color_spaces.ipp
►
spectral_data.cpp
►
spectral_data.h
►
spectral_samples.h
►
spectral_samples.ipp
Spectrum.h
►
spectrum_fwd.h
►
TSampledSpectrum.h
TSampledSpectrum.ipp
►
TSpectrumBase.h
TSpectrumBase.ipp
►
TTristimulusSpectrum.h
TTristimulusSpectrum.ipp
►
Function
►
General
►
Geometry
►
Physics
►
Random
►
Solver
►
Transform
►
constant.h
►
hash.h
►
hash.ipp
►
math.cpp
►
math.h
►
math.ipp
math_common.h
►
math_exceptions.h
►
math_fwd.h
►
math_table.h
►
Real.h
►
TArithmeticArray.h
TArithmeticArray.ipp
►
TFraction.h
►
time.h
►
TMatrix2.h
TMatrix2.ipp
►
TMatrix3.h
TMatrix3.ipp
►
TMatrix4.h
TMatrix4.ipp
►
TOrthonormalBasis3.h
TOrthonormalBasis3.ipp
►
TQuaternion.h
TQuaternion.ipp
►
TVector2.h
TVector2.ipp
►
TVector3.h
TVector3.ipp
►
TVector4.h
TVector4.ipp
►
SDL
►
Utility
►
World
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Concepts
Loading...
Searching...
No Matches
TSampledSpectrum.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
Math/Color/TSpectrumBase.h
"
4
#include "
Math/Color/color_basics.h
"
5
6
#include <cstddef>
7
8
namespace
ph::math
9
{
10
11
template
<EColorSpace COLOR_SPACE,
typename
T, CSpectralSampleProps Props>
12
class
TSampledSpectrum
final :
13
public
TSpectrumBase
<TSampledSpectrum<COLOR_SPACE, T, Props>, COLOR_SPACE, T, Props::NUM_SAMPLES>
14
{
15
private
:
16
using
Base
=
TSpectrumBase<TSampledSpectrum<COLOR_SPACE, T, Props>
, COLOR_SPACE, T, Props::NUM_SAMPLES>;
17
18
protected
:
19
using
Base::m
;
20
21
public
:
22
inline
TSampledSpectrum
() =
default
;
23
inline
TSampledSpectrum
(
const
TSampledSpectrum
& other) =
default
;
24
inline
TSampledSpectrum
(
TSampledSpectrum
&& other) =
default
;
25
inline
TSampledSpectrum
&
operator =
(
const
TSampledSpectrum
& rhs) =
default
;
26
inline
TSampledSpectrum
&
operator =
(
TSampledSpectrum
&& rhs) =
default
;
27
inline
~TSampledSpectrum
() =
default
;
28
29
using
Base::Base
;
30
31
template
<
typename
U>
32
explicit
TSampledSpectrum
(
const
TSampledSpectrum<COLOR_SPACE, U, Props>
& other);
33
34
static
consteval
std::size_t
numSamples
() noexcept;
35
static consteval
std
::
size_t
minWavelengthNM
() noexcept;
36
static consteval
std
::
size_t
maxWavelengthNM
() noexcept;
37
static
constexpr
T
sampleInterval
() noexcept;
38
static
constexpr
std
::pair<T, T>
wavelengthRangeOf
(
std
::
size_t
sampleIndex) noexcept;
39
40
template<typename U>
41
static
TSampledSpectrum
makeResampled
(
42
const U* wavelengthsNM,
43
const U* values,
44
std
::
size_t
numPoints);
45
};
12
class
TSampledSpectrum
final : {
…
};
46
47
}
// end namespace ph::math
48
49
#include "Math/Color/TSampledSpectrum.ipp"
constexpr
if constexpr(IS_ROBUST)
Definition
TBvhSimdComputingContext.h:561
TSpectrumBase.h
ph::math::TArithmeticArrayBase< TSampledSpectrum< COLOR_SPACE, T, Props >, T, N >
ph::math::TSampledSpectrum
Definition
TSampledSpectrum.h:14
ph::math::TSampledSpectrum::minWavelengthNM
static consteval std::size_t minWavelengthNM() noexcept
Definition
TSampledSpectrum.ipp:27
ph::math::TSampledSpectrum::~TSampledSpectrum
~TSampledSpectrum()=default
ph::math::TSampledSpectrum::numSamples
static consteval std::size_t numSamples() noexcept
Definition
TSampledSpectrum.ipp:21
ph::math::TSampledSpectrum::TSampledSpectrum
TSampledSpectrum()=default
ph::math::TSampledSpectrum::TSampledSpectrum
TSampledSpectrum(TSampledSpectrum &&other)=default
ph::math::TSampledSpectrum::makeResampled
static TSampledSpectrum makeResampled(const U *wavelengthsNM, const U *values, std::size_t numPoints)
ph::math::TSampledSpectrum::sampleInterval
static constexpr T sampleInterval() noexcept
Definition
TSampledSpectrum.ipp:39
ph::math::TSampledSpectrum::operator=
TSampledSpectrum & operator=(const TSampledSpectrum &rhs)=default
ph::math::TSampledSpectrum::TSampledSpectrum
TSampledSpectrum(const TSampledSpectrum &other)=default
ph::math::TSampledSpectrum::wavelengthRangeOf
static constexpr std::pair< T, T > wavelengthRangeOf(std::size_t sampleIndex) noexcept
Definition
TSampledSpectrum.ipp:46
ph::math::TSampledSpectrum::maxWavelengthNM
static consteval std::size_t maxWavelengthNM() noexcept
Definition
TSampledSpectrum.ipp:33
ph::math::TSpectrumBase
Base for spectrum implementations.
Definition
TSpectrumBase.h:28
ph::math::TSpectrumBase< TSampledSpectrum< COLOR_SPACE, T, Props >, COLOR_SPACE, T, Props::NUM_SAMPLES >::m
std::array< T, N > m
Definition
TArithmeticArrayBase.h:217
color_basics.h
ph::math
Math functions and utilities.
Definition
TransformInfo.h:10
std
Definition
TAABB2D.h:96
Source
Math
Color
TSampledSpectrum.h
Generated by
1.11.0