Blender
V4.3
source
blender
editors
transform
transform_snap.hh
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2023 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
9
#pragma once
10
11
#define SNAP_MIN_DISTANCE 30
12
13
/* For enum. */
14
#include "
DNA_scene_types.h
"
15
#include "
DNA_space_types.h
"
16
17
bool
peelObjectsTransform
(
TransInfo
*t,
18
const
float
mval[2],
19
bool
use_peel_object,
20
/* Return args. */
21
float
r_loc[3],
22
float
r_no[3],
23
float
*r_thickness);
24
25
bool
snapNodesTransform
(
TransInfo
*t,
26
const
blender::float2
&mval,
27
/* Return args. */
28
float
r_loc[2],
29
float
*r_dist_px,
30
char
*r_node_border);
31
32
bool
transformModeUseSnap
(
const
TransInfo
*t);
33
34
void
tranform_snap_target_median_calc
(
const
TransInfo
*t,
float
r_median[3]);
35
bool
transform_snap_increment_ex
(
const
TransInfo
*t,
bool
use_local_space,
float
*r_val);
36
bool
transform_snap_increment
(
const
TransInfo
*t,
float
*val);
37
float
transform_snap_increment_get
(
const
TransInfo
*t);
38
39
void
tranform_snap_source_restore_context
(
TransInfo
*t);
40
41
void
transform_snap_flag_from_modifiers_set
(
TransInfo
*t);
42
bool
transform_snap_is_active
(
const
TransInfo
*t);
43
44
bool
validSnap
(
const
TransInfo
*t);
45
46
void
transform_snap_grid_init
(
const
TransInfo
*t,
float
r_snap[3],
float
*r_snap_precision);
47
void
initSnapping
(
TransInfo
*t,
wmOperator
*op);
48
void
freeSnapping
(
TransInfo
*t);
49
void
initSnapAngleIncrements
(
TransInfo
*t);
50
bool
transform_snap_project_individual_is_active
(
const
TransInfo
*t);
51
void
transform_snap_project_individual_apply
(
TransInfo
*t);
52
void
transform_snap_mixed_apply
(
TransInfo
*t,
float
*vec);
53
void
resetSnapping
(
TransInfo
*t);
54
eRedrawFlag
handleSnapping
(
TransInfo
*t,
const
wmEvent
*event);
55
void
drawSnapping
(
TransInfo
*t);
56
bool
usingSnappingNormal
(
const
TransInfo
*t);
57
bool
validSnappingNormal
(
const
TransInfo
*t);
58
59
short
*
transform_snap_flag_from_spacetype_ptr
(
TransInfo
*t,
const
struct
PropertyRNA
**r_prop);
60
61
void
getSnapPoint
(
const
TransInfo
*t,
float
vec[3]);
62
void
addSnapPoint
(
TransInfo
*t);
63
eRedrawFlag
updateSelectedSnapPoint
(
TransInfo
*t);
64
void
removeSnapPoint
(
TransInfo
*t);
65
66
float
transform_snap_distance_len_squared_fn
(
TransInfo
*t,
const
float
p1[3],
const
float
p2[3]);
67
68
/* `transform_snap_sequencer.cc` */
69
70
TransSeqSnapData
*
transform_snap_sequencer_data_alloc
(
const
TransInfo
*t);
71
void
transform_snap_sequencer_data_free
(
TransSeqSnapData
*data);
72
bool
transform_snap_sequencer_calc
(
TransInfo
*t);
73
void
transform_snap_sequencer_apply_seqslide
(
TransInfo
*t,
float
*vec);
74
void
transform_snap_sequencer_image_apply_translate
(
TransInfo
*t,
float
vec[2]);
75
76
/* `transform_snap_animation.cc` */
77
void
snapFrameTransform
(
78
TransInfo
*t,
eSnapMode
autosnap,
float
val_initial,
float
val_final,
float
*r_val_final);
83
void
transform_snap_anim_flush_data
(
TransInfo
*t,
84
TransData
*td,
85
eSnapMode
autosnap,
86
float
*r_val_final);
87
bool
transform_snap_nla_calc
(
TransInfo
*t,
float
*vec);
DNA_scene_types.h
eSnapMode
eSnapMode
Definition
DNA_scene_types.h:2428
DNA_space_types.h
PropertyRNA
Definition
rna_internal_types.hh:318
TransData
Definition
transform_data.hh:117
TransInfo
Definition
transform.hh:504
TransSeqSnapData
Definition
transform_snap_sequencer.cc:33
blender::VecBase< float, 2 >
wmEvent
Definition
WM_types.hh:718
wmOperator
Definition
DNA_windowmanager_types.h:623
eRedrawFlag
eRedrawFlag
Definition
transform.hh:214
transform_snap_sequencer_image_apply_translate
void transform_snap_sequencer_image_apply_translate(TransInfo *t, float vec[2])
Definition
transform_snap_sequencer.cc:585
transformModeUseSnap
bool transformModeUseSnap(const TransInfo *t)
Definition
transform_snap.cc:154
usingSnappingNormal
bool usingSnappingNormal(const TransInfo *t)
Definition
transform_snap.cc:623
transform_snap_project_individual_apply
void transform_snap_project_individual_apply(TransInfo *t)
Definition
transform_snap.cc:532
transform_snap_sequencer_apply_seqslide
void transform_snap_sequencer_apply_seqslide(TransInfo *t, float *vec)
Definition
transform_snap_sequencer.cc:580
tranform_snap_source_restore_context
void tranform_snap_source_restore_context(TransInfo *t)
Definition
transform_snap.cc:1938
transform_snap_increment
bool transform_snap_increment(const TransInfo *t, float *val)
Definition
transform_snap.cc:1923
transform_snap_mixed_apply
void transform_snap_mixed_apply(TransInfo *t, float *vec)
Definition
transform_snap.cc:578
transform_snap_sequencer_data_free
void transform_snap_sequencer_data_free(TransSeqSnapData *data)
Definition
transform_snap_sequencer.cc:486
snapNodesTransform
bool snapNodesTransform(TransInfo *t, const blender::float2 &mval, float r_loc[2], float *r_dist_px, char *r_node_border)
addSnapPoint
void addSnapPoint(TransInfo *t)
Definition
transform_snap.cc:1108
validSnap
bool validSnap(const TransInfo *t)
Definition
transform_snap.cc:111
freeSnapping
void freeSnapping(TransInfo *t)
Definition
transform_snap.cc:1019
transform_snap_is_active
bool transform_snap_is_active(const TransInfo *t)
Definition
transform_snap.cc:149
handleSnapping
eRedrawFlag handleSnapping(TransInfo *t, const wmEvent *event)
Definition
transform_snap.cc:386
removeSnapPoint
void removeSnapPoint(TransInfo *t)
Definition
transform_snap.cc:1162
initSnapAngleIncrements
void initSnapAngleIncrements(TransInfo *t)
Definition
transform_snap.cc:1033
getSnapPoint
void getSnapPoint(const TransInfo *t, float vec[3])
Definition
transform_snap.cc:1179
transform_snap_flag_from_modifiers_set
void transform_snap_flag_from_modifiers_set(TransInfo *t)
Definition
transform_snap.cc:119
transform_snap_sequencer_data_alloc
TransSeqSnapData * transform_snap_sequencer_data_alloc(const TransInfo *t)
Definition
transform_snap_sequencer.cc:472
updateSelectedSnapPoint
eRedrawFlag updateSelectedSnapPoint(TransInfo *t)
Definition
transform_snap.cc:1124
transform_snap_increment_get
float transform_snap_increment_get(const TransInfo *t)
Definition
transform_snap.cc:1928
transform_snap_increment_ex
bool transform_snap_increment_ex(const TransInfo *t, bool use_local_space, float *r_val)
Definition
transform_snap.cc:1893
snapFrameTransform
void snapFrameTransform(TransInfo *t, eSnapMode autosnap, float val_initial, float val_final, float *r_val_final)
Definition
transform_snap_animation.cc:25
transform_snap_anim_flush_data
void transform_snap_anim_flush_data(TransInfo *t, TransData *td, eSnapMode autosnap, float *r_val_final)
Definition
transform_snap_animation.cc:102
transform_snap_sequencer_calc
bool transform_snap_sequencer_calc(TransInfo *t)
Definition
transform_snap_sequencer.cc:565
initSnapping
void initSnapping(TransInfo *t, wmOperator *op)
Definition
transform_snap.cc:898
transform_snap_project_individual_is_active
bool transform_snap_project_individual_is_active(const TransInfo *t)
Definition
transform_snap.cc:523
peelObjectsTransform
bool peelObjectsTransform(TransInfo *t, const float mval[2], bool use_peel_object, float r_loc[3], float r_no[3], float *r_thickness)
Definition
transform_snap.cc:1640
validSnappingNormal
bool validSnappingNormal(const TransInfo *t)
Definition
transform_snap.cc:628
tranform_snap_target_median_calc
void tranform_snap_target_median_calc(const TransInfo *t, float r_median[3])
Definition
transform_snap.cc:1383
resetSnapping
void resetSnapping(TransInfo *t)
Definition
transform_snap.cc:606
transform_snap_flag_from_spacetype_ptr
short * transform_snap_flag_from_spacetype_ptr(TransInfo *t, const struct PropertyRNA **r_prop)
drawSnapping
void drawSnapping(TransInfo *t)
Definition
transform_snap.cc:200
transform_snap_grid_init
void transform_snap_grid_init(const TransInfo *t, float r_snap[3], float *r_snap_precision)
Definition
transform_snap.cc:860
transform_snap_distance_len_squared_fn
float transform_snap_distance_len_squared_fn(TransInfo *t, const float p1[3], const float p2[3])
Definition
transform_snap.cc:1952
transform_snap_nla_calc
bool transform_snap_nla_calc(TransInfo *t, float *vec)
Definition
transform_snap_animation.cc:143
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0