Blender V4.3
sculpt_dyntopo.hh
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#pragma once
10
11#include "BLI_utildefines.h"
12
13struct bContext;
14struct BMesh;
15struct Brush;
16struct Depsgraph;
17struct Main;
18struct Object;
19struct Scene;
21struct StepData;
22}
23
25
27 VDATA = (1 << 0),
28 EDATA = (1 << 1),
29 LDATA = (1 << 2),
30 MODIFIER = (1 << 3),
31};
33
35void enable_ex(Main &bmain, Depsgraph &depsgraph, Object &ob);
36void disable(bContext *C, undo::StepData *undo_step);
37void disable_with_undo(Main &bmain, Depsgraph &depsgraph, Scene &scene, Object &ob);
38
47bool stroke_is_dyntopo(const Object &object, const Brush &brush);
48
49void triangulate(BMesh *bm);
50
52
53namespace detail_size {
54
58constexpr float RELATIVE_SCALE_FACTOR = 0.4f;
60constexpr float EDGE_LENGTH_MIN_FACTOR = 0.4f;
61
65float constant_to_detail_size(float constant_detail, const Object &ob);
66
70float brush_to_detail_size(float brush_percent, float brush_radius);
71
75float relative_to_detail_size(float relative_detail,
76 float brush_radius,
77 float pixel_radius,
78 float pixel_size);
79
85float constant_to_brush_detail(float constant_detail, float brush_radius, const Object &ob);
86
92float constant_to_relative_detail(float constant_detail,
93 float brush_radius,
94 float pixel_radius,
95 float pixel_size,
96 const Object &ob);
97} // namespace detail_size
98} // namespace blender::ed::sculpt_paint::dyntopo
#define ENUM_OPERATORS(_type, _max)
ATTR_WARN_UNUSED_RESULT BMesh * bm
const Depsgraph * depsgraph
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)
void enable_ex(Main &bmain, Depsgraph &depsgraph, Object &ob)
void disable_with_undo(Main &bmain, Depsgraph &depsgraph, Scene &scene, Object &ob)
static void disable(Main &bmain, Depsgraph &depsgraph, Scene &scene, Object &ob, undo::StepData *undo_step)
WarnFlag check_attribute_warning(Scene &scene, Object &ob)
bool stroke_is_dyntopo(const Object &object, const Brush &brush)
Definition sculpt.cc:829