Blender
V5.0
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
#pragma once
6
7
#include "
util/string.h
"
8
#include "
util/vector.h
"
9
10
CCL_NAMESPACE_BEGIN
11
12
class
IESFile
{
13
public
:
14
IESFile
() =
default
;
15
~IESFile
();
16
17
int
packed_size
();
18
void
pack
(
float
*
data
);
19
20
bool
load
(
const
string
&ies);
21
void
clear
();
22
23
protected
:
24
bool
parse
(
const
string
&ies);
25
bool
process
();
26
void
process_type_a
();
27
void
process_type_b
();
28
void
process_type_c
();
29
30
/* The brightness distribution is stored in spherical coordinates.
31
* The horizontal angles correspond to theta in the regular notation
32
* and always span the full range from 0° to 360°.
33
* The vertical angles correspond to phi and always start at 0°. */
34
vector<float>
v_angles
,
h_angles
;
35
/* The actual values are stored here, with every entry storing the values
36
* of one horizontal segment. */
37
vector<vector<float>
>
intensity
;
38
39
/* Types of angle representation in IES files. */
40
enum
IESType
{
TYPE_A
= 3,
TYPE_B
= 2,
TYPE_C
= 1 }
type
;
41
};
42
43
CCL_NAMESPACE_END
data
BMesh const char void * data
Definition
bmesh_iterators_inline.hh:37
IESFile::pack
void pack(float *data)
Definition
ies.cpp:45
IESFile::process
bool process()
Definition
ies.cpp:374
IESFile::type
enum IESFile::IESType type
IESFile::intensity
vector< vector< float > > intensity
Definition
util/ies.h:37
IESFile::process_type_c
void process_type_c()
Definition
ies.cpp:324
IESFile::process_type_b
void process_type_b()
Definition
ies.cpp:216
IESFile::v_angles
vector< float > v_angles
Definition
util/ies.h:34
IESFile::h_angles
vector< float > h_angles
Definition
util/ies.h:34
IESFile::process_type_a
void process_type_a()
Definition
ies.cpp:290
IESFile::load
bool load(const string &ies)
Definition
ies.cpp:20
IESFile::~IESFile
~IESFile()
Definition
ies.cpp:404
IESFile::parse
bool parse(const string &ies)
Definition
ies.cpp:118
IESFile::packed_size
int packed_size()
Definition
ies.cpp:37
IESFile::IESType
IESType
Definition
util/ies.h:40
IESFile::TYPE_A
@ TYPE_A
Definition
util/ies.h:40
IESFile::TYPE_C
@ TYPE_C
Definition
util/ies.h:40
IESFile::TYPE_B
@ TYPE_B
Definition
util/ies.h:40
IESFile::IESFile
IESFile()=default
IESFile::clear
void clear()
Definition
ies.cpp:30
vector
Definition
cycles/util/vector.h:20
vector.h
CCL_NAMESPACE_END
#define CCL_NAMESPACE_END
Definition
device/cuda/compat.h:10
CCL_NAMESPACE_BEGIN
Definition
python.cpp:37
string.h
Generated on
for Blender by
doxygen
1.16.1