Blender V4.3
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
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
26 const blender::float2 &mval,
27 /* Return args. */
28 float r_loc[2],
29 float *r_dist_px,
30 char *r_node_border);
31
32bool transformModeUseSnap(const TransInfo *t);
33
34void tranform_snap_target_median_calc(const TransInfo *t, float r_median[3]);
35bool transform_snap_increment_ex(const TransInfo *t, bool use_local_space, float *r_val);
36bool transform_snap_increment(const TransInfo *t, float *val);
38
40
43
44bool validSnap(const TransInfo *t);
45
46void transform_snap_grid_init(const TransInfo *t, float r_snap[3], float *r_snap_precision);
48void freeSnapping(TransInfo *t);
52void transform_snap_mixed_apply(TransInfo *t, float *vec);
55void drawSnapping(TransInfo *t);
56bool usingSnappingNormal(const TransInfo *t);
57bool validSnappingNormal(const TransInfo *t);
58
60
61void getSnapPoint(const TransInfo *t, float vec[3]);
62void addSnapPoint(TransInfo *t);
65
66float transform_snap_distance_len_squared_fn(TransInfo *t, const float p1[3], const float p2[3]);
67
68/* `transform_snap_sequencer.cc` */
69
75
76/* `transform_snap_animation.cc` */
78 TransInfo *t, eSnapMode autosnap, float val_initial, float val_final, float *r_val_final);
84 TransData *td,
85 eSnapMode autosnap,
86 float *r_val_final);
87bool transform_snap_nla_calc(TransInfo *t, float *vec);
eRedrawFlag
Definition transform.hh:214
void transform_snap_sequencer_image_apply_translate(TransInfo *t, float vec[2])
bool transformModeUseSnap(const TransInfo *t)
bool usingSnappingNormal(const TransInfo *t)
void transform_snap_project_individual_apply(TransInfo *t)
void transform_snap_sequencer_apply_seqslide(TransInfo *t, float *vec)
void tranform_snap_source_restore_context(TransInfo *t)
bool transform_snap_increment(const TransInfo *t, float *val)
void transform_snap_mixed_apply(TransInfo *t, float *vec)
void transform_snap_sequencer_data_free(TransSeqSnapData *data)
bool snapNodesTransform(TransInfo *t, const blender::float2 &mval, float r_loc[2], float *r_dist_px, char *r_node_border)
void addSnapPoint(TransInfo *t)
bool validSnap(const TransInfo *t)
void freeSnapping(TransInfo *t)
bool transform_snap_is_active(const TransInfo *t)
eRedrawFlag handleSnapping(TransInfo *t, const wmEvent *event)
void removeSnapPoint(TransInfo *t)
void initSnapAngleIncrements(TransInfo *t)
void getSnapPoint(const TransInfo *t, float vec[3])
void transform_snap_flag_from_modifiers_set(TransInfo *t)
TransSeqSnapData * transform_snap_sequencer_data_alloc(const TransInfo *t)
eRedrawFlag updateSelectedSnapPoint(TransInfo *t)
float transform_snap_increment_get(const TransInfo *t)
bool transform_snap_increment_ex(const TransInfo *t, bool use_local_space, float *r_val)
void snapFrameTransform(TransInfo *t, eSnapMode autosnap, float val_initial, float val_final, float *r_val_final)
void transform_snap_anim_flush_data(TransInfo *t, TransData *td, eSnapMode autosnap, float *r_val_final)
bool transform_snap_sequencer_calc(TransInfo *t)
void initSnapping(TransInfo *t, wmOperator *op)
bool transform_snap_project_individual_is_active(const TransInfo *t)
bool peelObjectsTransform(TransInfo *t, const float mval[2], bool use_peel_object, float r_loc[3], float r_no[3], float *r_thickness)
bool validSnappingNormal(const TransInfo *t)
void tranform_snap_target_median_calc(const TransInfo *t, float r_median[3])
void resetSnapping(TransInfo *t)
short * transform_snap_flag_from_spacetype_ptr(TransInfo *t, const struct PropertyRNA **r_prop)
void drawSnapping(TransInfo *t)
void transform_snap_grid_init(const TransInfo *t, float r_snap[3], float *r_snap_precision)
float transform_snap_distance_len_squared_fn(TransInfo *t, const float p1[3], const float p2[3])
bool transform_snap_nla_calc(TransInfo *t, float *vec)