Blender
V4.3
intern
cycles
util
util/ies.h
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2
*
3
* SPDX-License-Identifier: Apache-2.0 */
4
5
#ifndef __UTIL_IES_H__
6
#define __UTIL_IES_H__
7
8
#include "
util/string.h
"
9
#include "
util/vector.h
"
10
11
CCL_NAMESPACE_BEGIN
12
13
class
IESFile
{
14
public
:
15
IESFile
() {}
16
~IESFile
();
17
18
int
packed_size
();
19
void
pack
(
float
*data);
20
21
bool
load
(
const
string
&ies);
22
void
clear
();
23
24
protected
:
25
bool
parse
(
const
string
&ies);
26
bool
process
();
27
void
process_type_a
();
28
void
process_type_b
();
29
void
process_type_c
();
30
31
/* The brightness distribution is stored in spherical coordinates.
32
* The horizontal angles correspond to theta in the regular notation
33
* and always span the full range from 0° to 360°.
34
* The vertical angles correspond to phi and always start at 0°. */
35
vector<float>
v_angles
,
h_angles
;
36
/* The actual values are stored here, with every entry storing the values
37
* of one horizontal segment. */
38
vector<vector<float>
>
intensity
;
39
40
/* Types of angle representation in IES files. */
41
enum
IESType
{
TYPE_A
= 3,
TYPE_B
= 2,
TYPE_C
= 1 }
type
;
42
};
43
44
CCL_NAMESPACE_END
45
46
#endif
/* __UTIL_IES_H__ */
IESFile
Definition
util/ies.h:13
IESFile::pack
void pack(float *data)
Definition
ies.cpp:46
IESFile::process
bool process()
Definition
ies.cpp:375
IESFile::type
enum IESFile::IESType type
IESFile::intensity
vector< vector< float > > intensity
Definition
util/ies.h:38
IESFile::process_type_c
void process_type_c()
Definition
ies.cpp:325
IESFile::process_type_b
void process_type_b()
Definition
ies.cpp:217
IESFile::v_angles
vector< float > v_angles
Definition
util/ies.h:35
IESFile::h_angles
vector< float > h_angles
Definition
util/ies.h:35
IESFile::process_type_a
void process_type_a()
Definition
ies.cpp:291
IESFile::load
bool load(const string &ies)
Definition
ies.cpp:21
IESFile::IESFile
IESFile()
Definition
util/ies.h:15
IESFile::~IESFile
~IESFile()
Definition
ies.cpp:405
IESFile::parse
bool parse(const string &ies)
Definition
ies.cpp:119
IESFile::packed_size
int packed_size()
Definition
ies.cpp:38
IESFile::IESType
IESType
Definition
util/ies.h:41
IESFile::TYPE_A
@ TYPE_A
Definition
util/ies.h:41
IESFile::TYPE_C
@ TYPE_C
Definition
util/ies.h:41
IESFile::TYPE_B
@ TYPE_B
Definition
util/ies.h:41
IESFile::clear
void clear()
Definition
ies.cpp:31
vector
Definition
cycles/util/vector.h:22
vector.h
CCL_NAMESPACE_END
#define CCL_NAMESPACE_END
Definition
device/cuda/compat.h:10
CCL_NAMESPACE_BEGIN
Definition
python.cpp:44
string.h
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0