Blender  V2.93
Classes
snap3d_gizmo.c File Reference
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "DNA_scene_types.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_main.h"
#include "GPU_immediate.h"
#include "GPU_state.h"
#include "ED_gizmo_library.h"
#include "ED_screen.h"
#include "ED_transform_snap_object_context.h"
#include "ED_view3d.h"
#include "UI_resources.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "DEG_depsgraph_query.h"
#include "WM_api.h"
#include "WM_types.h"
#include "../gizmo_geometry.h"
#include "../gizmo_library_intern.h"

Go to the source code of this file.

Classes

struct  SnapGizmo3D
 

Functions

ED_gizmo_library specific API
void ED_gizmotypes_snap_3d_draw_util (RegionView3D *rv3d, const float loc_prev[3], const float loc_curr[3], const float normal[3], const uchar color_line[4], const uchar color_point[4], const short snap_elem_type)
 
SnapObjectContextED_gizmotypes_snap_3d_context_ensure (Scene *scene, const ARegion *region, const View3D *v3d, wmGizmo *gz)
 
void ED_gizmotypes_snap_3d_flag_set (struct wmGizmo *gz, eSnapGizmo flag)
 
void ED_gizmotypes_snap_3d_flag_clear (struct wmGizmo *gz, eSnapGizmo flag)
 
bool ED_gizmotypes_snap_3d_flag_test (struct wmGizmo *gz, eSnapGizmo flag)
 
bool ED_gizmotypes_snap_3d_invert_snap_get (struct wmGizmo *gz)
 
bool ED_gizmotypes_snap_3d_is_enabled (wmGizmo *gz)
 
short ED_gizmotypes_snap_3d_update (wmGizmo *gz, struct Depsgraph *depsgraph, const ARegion *region, const View3D *v3d, const wmWindowManager *wm, const float mval_fl[2])
 
void ED_gizmotypes_snap_3d_data_get (wmGizmo *gz, float r_loc[3], float r_nor[3], int r_elem_index[3], int *r_snap_elem)
 
RNA callbacks
static struct SnapGizmo3Dgizmo_snap_rna_find_operator (PointerRNA *ptr)
 
static int gizmo_snap_rna_snap_elements_force_get_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop))
 
static void gizmo_snap_rna_snap_elements_force_set_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop), int value)
 
static void gizmo_snap_rna_prevpoint_get_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop), float *values)
 
static void gizmo_snap_rna_prevpoint_set_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop), const float *values)
 
static void gizmo_snap_rna_location_get_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop), float *values)
 
static void gizmo_snap_rna_location_set_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop), const float *values)
 
static void gizmo_snap_rna_normal_get_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop), float *values)
 
static void gizmo_snap_rna_snap_elem_index_get_fn (struct PointerRNA *ptr, struct PropertyRNA *UNUSED(prop), int *values)
 
GIZMO_GT_snap_3d
static void snap_gizmo_setup (wmGizmo *gz)
 
static void snap_gizmo_draw (const bContext *C, wmGizmo *gz)
 
static int snap_gizmo_test_select (bContext *C, wmGizmo *gz, const int mval[2])
 
static int snap_gizmo_modal (bContext *UNUSED(C), wmGizmo *UNUSED(gz), const wmEvent *UNUSED(event), eWM_GizmoFlagTweak UNUSED(tweak_flag))
 
static int snap_gizmo_invoke (bContext *UNUSED(C), wmGizmo *UNUSED(gz), const wmEvent *UNUSED(event))
 
static void snap_gizmo_free (wmGizmo *gz)
 
static void GIZMO_GT_snap_3d (wmGizmoType *gzt)
 
void ED_gizmotypes_snap_3d (void)
 

Snap Gizmo

Snap gizmo which exposes the location, normal and index in the props.

3D Gizmo

typedef struct SnapGizmo3D SnapGizmo3D
 
static bool eventstate_has_changed (SnapGizmo3D *snap_gizmo, const wmWindowManager *wm)
 
static void eventstate_save (SnapGizmo3D *snap_gizmo, const wmWindowManager *wm)
 
static bool invert_snap (SnapGizmo3D *snap_gizmo, const wmWindowManager *wm)
 
static short snap_gizmo_snap_elements (SnapGizmo3D *snap_gizmo)
 

Typedef Documentation

◆ SnapGizmo3D

typedef struct SnapGizmo3D SnapGizmo3D

Function Documentation

◆ ED_gizmotypes_snap_3d()

void ED_gizmotypes_snap_3d ( void  )

Definition at line 768 of file snap3d_gizmo.c.

References GIZMO_GT_snap_3d(), and WM_gizmotype_append().

Referenced by ED_spacetypes_init().

◆ ED_gizmotypes_snap_3d_context_ensure()

SnapObjectContext* ED_gizmotypes_snap_3d_context_ensure ( Scene scene,
const ARegion region,
const View3D v3d,
wmGizmo gz 
)

◆ ED_gizmotypes_snap_3d_data_get()

void ED_gizmotypes_snap_3d_data_get ( wmGizmo gz,
float  r_loc[3],
float  r_nor[3],
int  r_elem_index[3],
int *  r_snap_elem 
)

◆ ED_gizmotypes_snap_3d_draw_util()

void ED_gizmotypes_snap_3d_draw_util ( RegionView3D rv3d,
const float  loc_prev[3],
const float  loc_curr[3],
const float  normal[3],
const uchar  color_line[4],
const uchar  color_point[4],
const short  snap_elem_type 
)

◆ ED_gizmotypes_snap_3d_flag_clear()

void ED_gizmotypes_snap_3d_flag_clear ( struct wmGizmo gz,
eSnapGizmo  flag 
)

Definition at line 290 of file snap3d_gizmo.c.

References SnapGizmo3D::flag.

Referenced by view3d_interactive_add_modal().

◆ ED_gizmotypes_snap_3d_flag_set()

void ED_gizmotypes_snap_3d_flag_set ( struct wmGizmo gz,
eSnapGizmo  flag 
)

Definition at line 284 of file snap3d_gizmo.c.

References SnapGizmo3D::flag.

Referenced by view3d_interactive_add_modal().

◆ ED_gizmotypes_snap_3d_flag_test()

bool ED_gizmotypes_snap_3d_flag_test ( struct wmGizmo gz,
eSnapGizmo  flag 
)

Definition at line 296 of file snap3d_gizmo.c.

References SnapGizmo3D::flag.

◆ ED_gizmotypes_snap_3d_invert_snap_get()

bool ED_gizmotypes_snap_3d_invert_snap_get ( struct wmGizmo gz)

Definition at line 302 of file snap3d_gizmo.c.

References SnapGizmo3D::invert_snap.

Referenced by view3d_interactive_add_begin().

◆ ED_gizmotypes_snap_3d_is_enabled()

bool ED_gizmotypes_snap_3d_is_enabled ( wmGizmo gz)

◆ ED_gizmotypes_snap_3d_update()

short ED_gizmotypes_snap_3d_update ( wmGizmo gz,
struct Depsgraph depsgraph,
const ARegion region,
const View3D v3d,
const wmWindowManager wm,
const float  mval_fl[2] 
)

◆ eventstate_has_changed()

static bool eventstate_has_changed ( SnapGizmo3D snap_gizmo,
const wmWindowManager wm 
)
static

◆ eventstate_save()

static void eventstate_save ( SnapGizmo3D snap_gizmo,
const wmWindowManager wm 
)
static

◆ GIZMO_GT_snap_3d()

static void GIZMO_GT_snap_3d ( wmGizmoType gzt)
static

◆ gizmo_snap_rna_find_operator()

static struct SnapGizmo3D* gizmo_snap_rna_find_operator ( PointerRNA ptr)
static

◆ gizmo_snap_rna_location_get_fn()

static void gizmo_snap_rna_location_get_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop,
float values 
)
static

Definition at line 509 of file snap3d_gizmo.c.

References copy_v3_v3(), gizmo_snap_rna_find_operator(), SnapGizmo3D::loc, and ptr.

Referenced by GIZMO_GT_snap_3d().

◆ gizmo_snap_rna_location_set_fn()

static void gizmo_snap_rna_location_set_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop,
const float values 
)
static

Definition at line 519 of file snap3d_gizmo.c.

References copy_v3_v3(), gizmo_snap_rna_find_operator(), SnapGizmo3D::loc, and ptr.

Referenced by GIZMO_GT_snap_3d().

◆ gizmo_snap_rna_normal_get_fn()

static void gizmo_snap_rna_normal_get_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop,
float values 
)
static

Definition at line 529 of file snap3d_gizmo.c.

References copy_v3_v3(), gizmo_snap_rna_find_operator(), SnapGizmo3D::nor, and ptr.

Referenced by GIZMO_GT_snap_3d().

◆ gizmo_snap_rna_prevpoint_get_fn()

static void gizmo_snap_rna_prevpoint_get_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop,
float values 
)
static

◆ gizmo_snap_rna_prevpoint_set_fn()

static void gizmo_snap_rna_prevpoint_set_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop,
const float values 
)
static

◆ gizmo_snap_rna_snap_elem_index_get_fn()

static void gizmo_snap_rna_snap_elem_index_get_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop,
int *  values 
)
static

◆ gizmo_snap_rna_snap_elements_force_get_fn()

static int gizmo_snap_rna_snap_elements_force_get_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop 
)
static

Definition at line 463 of file snap3d_gizmo.c.

References gizmo_snap_rna_find_operator(), ptr, and SnapGizmo3D::snap_elem_force.

Referenced by GIZMO_GT_snap_3d().

◆ gizmo_snap_rna_snap_elements_force_set_fn()

static void gizmo_snap_rna_snap_elements_force_set_fn ( struct PointerRNA ptr,
struct PropertyRNA UNUSEDprop,
int  value 
)
static

Definition at line 473 of file snap3d_gizmo.c.

References gizmo_snap_rna_find_operator(), ptr, and SnapGizmo3D::snap_elem_force.

Referenced by GIZMO_GT_snap_3d().

◆ invert_snap()

static bool invert_snap ( SnapGizmo3D snap_gizmo,
const wmWindowManager wm 
)
static

◆ snap_gizmo_draw()

static void snap_gizmo_draw ( const bContext C,
wmGizmo gz 
)
static

◆ snap_gizmo_free()

static void snap_gizmo_free ( wmGizmo gz)
static

◆ snap_gizmo_invoke()

static int snap_gizmo_invoke ( bContext UNUSEDC,
wmGizmo UNUSEDgz,
const wmEvent UNUSEDevent 
)
static

Definition at line 650 of file snap3d_gizmo.c.

References OPERATOR_RUNNING_MODAL.

Referenced by GIZMO_GT_snap_3d().

◆ snap_gizmo_modal()

static int snap_gizmo_modal ( bContext UNUSEDC,
wmGizmo UNUSEDgz,
const wmEvent UNUSEDevent,
eWM_GizmoFlagTweak   UNUSEDtweak_flag 
)
static

Definition at line 642 of file snap3d_gizmo.c.

References OPERATOR_RUNNING_MODAL.

Referenced by GIZMO_GT_snap_3d().

◆ snap_gizmo_setup()

static void snap_gizmo_setup ( wmGizmo gz)
static

◆ snap_gizmo_snap_elements()

static short snap_gizmo_snap_elements ( SnapGizmo3D snap_gizmo)
static

◆ snap_gizmo_test_select()

static int snap_gizmo_test_select ( bContext C,
wmGizmo gz,
const int  mval[2] 
)
static