Blender V5.0
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
8
9#pragma once
10
11#define SNAP_MIN_DISTANCE 30
12
13#include "transform.hh"
14
15namespace blender::ed::transform {
16
17bool 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
25bool transformModeUseSnap(const TransInfo *t);
26
27void tranform_snap_target_median_calc(const TransInfo *t, float r_median[3]);
28bool transform_snap_increment_ex(const TransInfo *t, bool use_local_space, float *r_val);
29bool transform_snap_increment(const TransInfo *t, float *r_val);
30float transform_snap_increment_get(const TransInfo *t);
31
33
35bool transform_snap_is_active(const TransInfo *t);
36
37bool validSnap(const TransInfo *t);
38
39void transform_snap_grid_init(const TransInfo *t, float r_snap[3], float *r_snap_precision);
40void transform_snap_reset_from_mode(TransInfo *t, wmOperator *op);
41void initSnapping(TransInfo *t, wmOperator *op);
42void freeSnapping(TransInfo *t);
43void initSnapAngleIncrements(TransInfo *t);
44bool transform_snap_project_individual_is_active(const TransInfo *t);
46void transform_snap_mixed_apply(TransInfo *t, float *vec);
47void resetSnapping(TransInfo *t);
48eRedrawFlag handleSnapping(TransInfo *t, const wmEvent *event);
49void drawSnapping(TransInfo *t);
50bool usingSnappingNormal(const TransInfo *t);
51bool validSnappingNormal(const TransInfo *t);
52
54
55void getSnapPoint(const TransInfo *t, float vec[3]);
56void addSnapPoint(TransInfo *t);
59
60float transform_snap_distance_len_squared_fn(TransInfo *t, const float p1[3], const float p2[3]);
61
62/* `transform_snap_sequencer.cc` */
63
67void snap_sequencer_apply_seqslide(TransInfo *t, float *vec);
69
70/* `transform_snap_animation.cc` */
72 TransInfo *t, eSnapMode snap_mode, float val_initial, float val_final, float *r_val_final);
78 TransData *td,
79 eSnapMode snap_mode,
80 float *r_val_final);
81bool transform_snap_nla_calc(TransInfo *t, float *vec);
82
83} // namespace blender::ed::transform
BMesh const char void * data
void transform_snap_reset_from_mode(TransInfo *t, wmOperator *op)
void transform_snap_flag_from_modifiers_set(TransInfo *t)
bool peelObjectsTransform(TransInfo *t, const float mval[2], const bool use_peel_object, float r_loc[3], float r_no[3], float *r_thickness)
void getSnapPoint(const TransInfo *t, float vec[3])
void resetSnapping(TransInfo *t)
bool validSnappingNormal(const TransInfo *t)
bool transform_snap_increment(const TransInfo *t, float *r_val)
bool usingSnappingNormal(const TransInfo *t)
void removeSnapPoint(TransInfo *t)
void transform_snap_mixed_apply(TransInfo *t, float *vec)
bool transformModeUseSnap(const TransInfo *t)
void initSnapping(TransInfo *t, wmOperator *op)
void tranform_snap_source_restore_context(TransInfo *t)
bool validSnap(const TransInfo *t)
void transform_snap_project_individual_apply(TransInfo *t)
void snap_sequencer_apply_seqslide(TransInfo *t, float *vec)
float transform_snap_distance_len_squared_fn(TransInfo *, const float p1[3], const float p2[3])
void snap_sequencer_image_apply_translate(TransInfo *t, float vec[2])
eRedrawFlag handleSnapping(TransInfo *t, const wmEvent *event)
bool transform_snap_project_individual_is_active(const TransInfo *t)
eRedrawFlag updateSelectedSnapPoint(TransInfo *t)
void transform_snap_grid_init(const TransInfo *t, float r_snap[3], float *r_snap_precision)
void addSnapPoint(TransInfo *t)
void transform_snap_anim_flush_data(TransInfo *t, TransData *td, eSnapMode snap_mode, float *r_val_final)
void drawSnapping(TransInfo *t)
bool transform_snap_is_active(const TransInfo *t)
void tranform_snap_target_median_calc(const TransInfo *t, float r_median[3])
TransSeqSnapData * snap_sequencer_data_alloc(const TransInfo *t)
void snapFrameTransform(TransInfo *t, eSnapMode snap_mode, float val_initial, float val_final, float *r_val_final)
void initSnapAngleIncrements(TransInfo *t)
short * transform_snap_flag_from_spacetype_ptr(TransInfo *t, const PropertyRNA **r_prop=nullptr)
void freeSnapping(TransInfo *t)
void snap_sequencer_data_free(TransSeqSnapData *data)
bool transform_snap_increment_ex(const TransInfo *t, bool use_local_space, float *r_val)
bool transform_snap_nla_calc(TransInfo *t, float *vec)
float transform_snap_increment_get(const TransInfo *t)