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