Blender
V5.0
source
blender
editors
sculpt_paint
sculpt_pose.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
8
9
#pragma once
10
11
#include <array>
12
13
#include "
BLI_array.hh
"
14
#include "
BLI_math_matrix_types.hh
"
15
16
#include "
BKE_paint.hh
"
17
18
struct
Brush
;
19
struct
Depsgraph;
20
struct
Object
;
21
struct
Sculpt
;
22
struct
SculptPoseIKChainPreview
;
23
struct
SculptSession
;
24
namespace
blender::bke::pbvh
{
25
class
Node
;
26
}
27
28
namespace
blender::ed::sculpt_paint::pose
{
29
31
struct
IKChainSegment
{
32
float3
orig
;
33
float3
head
;
34
35
float3
initial_orig
;
36
float3
initial_head
;
37
float
len
;
38
float3
scale
;
39
float
rot
[4];
40
Array<float>
weights
;
41
42
/* Store a 4x4 transform matrix for each of the possible combinations of enabled XYZ symmetry
43
* axis. */
44
std::array<float4x4, PAINT_SYMM_AREAS>
trans_mat
;
45
std::array<float4x4, PAINT_SYMM_AREAS>
pivot_mat
;
46
std::array<float4x4, PAINT_SYMM_AREAS>
pivot_mat_inv
;
47
};
48
49
struct
IKChain
{
50
Array<IKChainSegment>
segments
;
51
float3
grab_delta_offset
;
52
};
53
57
void
do_pose_brush
(
const
Depsgraph &
depsgraph
,
58
const
Sculpt
&sd,
59
Object
&ob,
60
const
IndexMask
&node_mask);
61
62
std::unique_ptr<SculptPoseIKChainPreview>
preview_ik_chain_init
(
const
Depsgraph &
depsgraph
,
63
Object
&ob,
64
SculptSession
&ss,
65
const
Brush
&brush,
66
const
float3
&initial_location,
67
float
radius);
68
69
}
// namespace blender::ed::sculpt_paint::pose
BKE_paint.hh
BLI_array.hh
BLI_math_matrix_types.hh
depsgraph
BPy_StructRNA * depsgraph
Definition
bpy_driver.cc:173
blender::Array
Definition
BLI_array.hh:50
blender::bke::pbvh::Node
Definition
BKE_paint_bvh.hh:62
blender::index_mask::IndexMask
Definition
BLI_index_mask.hh:188
blender::bke::pbvh
Definition
BKE_paint.hh:41
blender::ed::sculpt_paint::pose
Definition
sculpt_intern.hh:40
blender::ed::sculpt_paint::pose::do_pose_brush
void do_pose_brush(const Depsgraph &depsgraph, const Sculpt &sd, Object &ob, const IndexMask &node_mask)
Definition
sculpt_pose.cc:2057
blender::ed::sculpt_paint::pose::preview_ik_chain_init
std::unique_ptr< SculptPoseIKChainPreview > preview_ik_chain_init(const Depsgraph &depsgraph, Object &ob, SculptSession &ss, const Brush &brush, const float3 &initial_location, const float radius)
Definition
sculpt_pose.cc:1929
blender::float3
VecBase< float, 3 > float3
Definition
BLI_math_vector_types.hh:619
Brush
Definition
DNA_brush_types.h:166
Object
Definition
DNA_object_types.h:191
SculptPoseIKChainPreview
Definition
BKE_paint.hh:327
SculptSession
Definition
BKE_paint.hh:369
Sculpt
Definition
DNA_scene_types.h:1321
blender::ed::sculpt_paint::pose::IKChainSegment
Definition
sculpt_pose.hh:31
blender::ed::sculpt_paint::pose::IKChainSegment::pivot_mat
std::array< float4x4, PAINT_SYMM_AREAS > pivot_mat
Definition
sculpt_pose.hh:45
blender::ed::sculpt_paint::pose::IKChainSegment::weights
Array< float > weights
Definition
sculpt_pose.hh:40
blender::ed::sculpt_paint::pose::IKChainSegment::head
float3 head
Definition
sculpt_pose.hh:33
blender::ed::sculpt_paint::pose::IKChainSegment::pivot_mat_inv
std::array< float4x4, PAINT_SYMM_AREAS > pivot_mat_inv
Definition
sculpt_pose.hh:46
blender::ed::sculpt_paint::pose::IKChainSegment::orig
float3 orig
Definition
sculpt_pose.hh:32
blender::ed::sculpt_paint::pose::IKChainSegment::initial_orig
float3 initial_orig
Definition
sculpt_pose.hh:35
blender::ed::sculpt_paint::pose::IKChainSegment::initial_head
float3 initial_head
Definition
sculpt_pose.hh:36
blender::ed::sculpt_paint::pose::IKChainSegment::trans_mat
std::array< float4x4, PAINT_SYMM_AREAS > trans_mat
Definition
sculpt_pose.hh:44
blender::ed::sculpt_paint::pose::IKChainSegment::len
float len
Definition
sculpt_pose.hh:37
blender::ed::sculpt_paint::pose::IKChainSegment::scale
float3 scale
Definition
sculpt_pose.hh:38
blender::ed::sculpt_paint::pose::IKChainSegment::rot
float rot[4]
Definition
sculpt_pose.hh:39
blender::ed::sculpt_paint::pose::IKChain
Definition
sculpt_pose.hh:49
blender::ed::sculpt_paint::pose::IKChain::segments
Array< IKChainSegment > segments
Definition
sculpt_pose.hh:50
blender::ed::sculpt_paint::pose::IKChain::grab_delta_offset
float3 grab_delta_offset
Definition
sculpt_pose.hh:51
Generated on
for Blender by
doxygen
1.16.1