Blender
V5.0
intern
cycles
test
util_transform_test.cpp
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2
*
3
* SPDX-License-Identifier: Apache-2.0 */
4
5
#include <gtest/gtest.h>
6
7
#include "
util/transform.h
"
8
#include "
util/vector.h
"
9
10
CCL_NAMESPACE_BEGIN
11
12
TEST
(
transform_motion_decompose
, Degenerated)
13
{
14
// Simple case: single degenerated matrix.
15
{
16
vector<Transform>
motion = {
transform_scale
(0.0f, 0.0f, 0.0f)};
17
vector<DecomposedTransform>
decomp(motion.size());
18
transform_motion_decompose
(decomp.data(), motion.data(), motion.size());
19
EXPECT_TRUE(
transform_decomposed_isfinite_safe
(decomp.data()));
20
}
21
22
// Copy from previous to current.
23
{
24
vector<Transform>
motion = {
transform_rotate
(
M_PI_4_F
,
one_float3
()),
25
transform_scale
(0.0f, 0.0f, 0.0f)};
26
vector<DecomposedTransform>
decomp(motion.size());
27
transform_motion_decompose
(decomp.data(), motion.data(), motion.size());
28
EXPECT_NEAR(
len
(decomp[1].
x
- decomp[0].
x
), 0.0f, 1e-6f);
29
}
30
31
// Copy from next to current.
32
{
33
vector<Transform>
motion = {
transform_scale
(0.0f, 0.0f, 0.0f),
34
transform_rotate
(
M_PI_4_F
,
one_float3
())};
35
vector<DecomposedTransform>
decomp(motion.size());
36
transform_motion_decompose
(decomp.data(), motion.data(), motion.size());
37
EXPECT_NEAR(
len
(decomp[0].
x
- decomp[1].
x
), 0.0f, 1e-6f);
38
}
39
}
40
41
CCL_NAMESPACE_END
x
x
Definition
BLI_expr_pylike_eval_test.cc:345
vector
Definition
cycles/util/vector.h:20
vector.h
M_PI_4_F
#define M_PI_4_F
CCL_NAMESPACE_END
#define CCL_NAMESPACE_END
Definition
device/cuda/compat.h:10
one_float3
ccl_device_inline float3 one_float3()
Definition
math_float3.h:26
CCL_NAMESPACE_BEGIN
Definition
python.cpp:37
transform_motion_decompose
void transform_motion_decompose(DecomposedTransform *decomp, const Transform *motion, const size_t size)
Definition
transform.cpp:158
transform.h
transform_rotate
ccl_device_inline Transform transform_rotate(const float angle, float3 axis)
Definition
transform.h:290
transform_decomposed_isfinite_safe
ccl_device_inline bool transform_decomposed_isfinite_safe(ccl_private DecomposedTransform *decomp)
Definition
transform.h:620
transform_scale
ccl_device_inline Transform transform_scale(const float3 s)
Definition
transform.h:280
TEST
CCL_NAMESPACE_BEGIN TEST(transform_motion_decompose, Degenerated)
Definition
util_transform_test.cpp:12
len
uint len
Definition
uvedit_unwrap_ops.cc:2126
Generated on
for Blender by
doxygen
1.16.1