Blender V4.3
sculpt_detail_test.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2024 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#include "sculpt_dyntopo.hh"
10
11#include "BKE_object_types.hh"
12
13#include "DNA_object_types.h"
14
15#include "testing/testing.h"
16
18constexpr float CONSTANT_DETAIL = 50.0f;
19constexpr float BRUSH_RADIUS = 0.5f;
20constexpr float PIXEL_RADIUS = 200;
21constexpr float PIXEL_SIZE = 100;
22
23TEST(Conversion, ConstantToBrushDetail)
24{
27
28 Object ob;
29 ob.runtime = &runtime;
30
31 const float brush_percent = constant_to_brush_detail(CONSTANT_DETAIL, BRUSH_RADIUS, ob);
32 const float converted = brush_to_detail_size(brush_percent, BRUSH_RADIUS);
33
34 const float expected = constant_to_detail_size(CONSTANT_DETAIL, ob);
35 EXPECT_FLOAT_EQ(expected, converted);
36}
37TEST(Conversion, ConstantToRelativeDetail)
38{
41
42 Object ob;
43 ob.runtime = &runtime;
44
45 const float relative_detail = constant_to_relative_detail(
47 const float converted = relative_to_detail_size(
48 relative_detail, BRUSH_RADIUS, PIXEL_RADIUS, PIXEL_SIZE);
49
50 const float expected = constant_to_detail_size(CONSTANT_DETAIL, ob);
51 EXPECT_FLOAT_EQ(expected, converted);
52}
53} // namespace blender::ed::sculpt_paint::dyntopo::detail_size::test
Object is a sort of wrapper for general info.
float relative_to_detail_size(const float relative_detail, const float brush_radius, const float pixel_radius, const float pixel_size)
float constant_to_detail_size(const float constant_detail, const Object &ob)
float constant_to_relative_detail(const float constant_detail, const float brush_radius, const float pixel_radius, const float pixel_size, const Object &ob)
float constant_to_brush_detail(const float constant_detail, const float brush_radius, const Object &ob)
float brush_to_detail_size(const float brush_percent, const float brush_radius)
ObjectRuntimeHandle * runtime
static MatBase identity()