Blender
V3.3
intern
cycles
util
util/ies.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: Apache-2.0
2
* Copyright 2011-2022 Blender Foundation */
3
4
#ifndef __UTIL_IES_H__
5
#define __UTIL_IES_H__
6
7
#include "
util/string.h
"
8
#include "
util/vector.h
"
9
10
CCL_NAMESPACE_BEGIN
11
12
class
IESFile
{
13
public
:
14
IESFile
()
15
{
16
}
17
~IESFile
();
18
19
int
packed_size
();
20
void
pack
(
float
*
data
);
21
22
bool
load
(
const
string
&ies);
23
void
clear
();
24
25
protected
:
26
bool
parse
(
const
string
&ies);
27
bool
process
();
28
bool
process_type_b
();
29
bool
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. Currently, only B and C are supported. */
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__ */
data
data
Definition:
bmesh_operator_api_inline.h:157
IESFile
Definition:
util/ies.h:12
IESFile::pack
void pack(float *data)
Definition:
ies.cpp:45
IESFile::process_type_c
bool process_type_c()
Definition:
ies.cpp:285
IESFile::process
bool process()
Definition:
ies.cpp:360
IESFile::type
enum IESFile::IESType type
IESFile::intensity
vector< vector< float > > intensity
Definition:
util/ies.h:38
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::load
bool load(const string &ies)
Definition:
ies.cpp:20
IESFile::IESFile
IESFile()
Definition:
util/ies.h:14
IESFile::~IESFile
~IESFile()
Definition:
ies.cpp:393
IESFile::parse
bool parse(const string &ies)
Definition:
ies.cpp:108
IESFile::packed_size
int packed_size()
Definition:
ies.cpp:37
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::process_type_b
bool process_type_b()
Definition:
ies.cpp:197
IESFile::clear
void clear()
Definition:
ies.cpp:30
vector
Definition:
cycles/util/vector.h:22
CCL_NAMESPACE_END
#define CCL_NAMESPACE_END
Definition:
cuda/compat.h:9
vector.h
CCL_NAMESPACE_BEGIN
Definition:
python.cpp:37
string.h
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1