Blender V4.3
InteractivePlaceData Struct Reference

Public Attributes

Scenescene
 
ScrAreaarea
 
View3Dv3d
 
ARegionregion
 
void * draw_handle_view
 
float co_src [3]
 
struct { 
 
   bool   is_centered 
 
   bool   is_centered_init 
 
   bool   is_fixed_aspect 
 
   bool   is_fixed_aspect_init 
 
   float   plane [4] 
 
   float   co_dst [3] 
 
   bool   is_degenerate_view_align 
 
   float   degenerate_diagonal [3] 
 
   float   degenerate_diagonal_display [3] 
 
   int   degenerate_axis 
 
step [2] 
 
float view_plane [4]
 
float matrix_orient [3][3]
 
int orient_axis
 
V3DSnapCursorStatesnap_state
 
bool use_snap
 
bool is_snap_found
 
bool is_snap_invert
 
float snap_co [3]
 
StepIndex step_index
 
enum ePlace_PrimType primitive_type
 
bool use_tool
 
short launch_event
 
bool wait_for_input
 
short * snap_to_ptr
 
eSnapMode snap_to_restore
 

Detailed Description

Definition at line 74 of file view3d_placement.cc.

Member Data Documentation

◆ area

ScrArea* InteractivePlaceData::area

◆ co_dst

float InteractivePlaceData::co_dst[3]

◆ co_src

float InteractivePlaceData::co_src[3]

◆ degenerate_axis

int InteractivePlaceData::degenerate_axis

Index into matrix_orient which is degenerate.

Definition at line 130 of file view3d_placement.cc.

Referenced by view3d_interactive_add_begin().

◆ degenerate_diagonal

float InteractivePlaceData::degenerate_diagonal[3]

When view aligned, use a diagonal offset (cavalier projection) to give user feedback about the depth being set.

Currently this is only used for orthogonal views since perspective views nearly always show some depth, even when view aligned.

  • Drag to the bottom-left to move away from the view.
  • Drag to the top-right to move towards the view.

Definition at line 120 of file view3d_placement.cc.

Referenced by view3d_interactive_add_begin(), and view3d_interactive_add_modal().

◆ degenerate_diagonal_display

float InteractivePlaceData::degenerate_diagonal_display[3]

Corrected for display, so what's shown on-screen doesn't loop to be reversed in relation to cursor-motion.

Definition at line 125 of file view3d_placement.cc.

Referenced by draw_primitive_view_impl(), and view3d_interactive_add_begin().

◆ draw_handle_view

void* InteractivePlaceData::draw_handle_view

Draw object preview region draw callback.

Definition at line 82 of file view3d_placement.cc.

Referenced by view3d_interactive_add_begin(), and view3d_interactive_add_exit().

◆ is_centered

bool InteractivePlaceData::is_centered

When centered, drag out the shape from the center. Toggling the setting flips the value from its initial state.

Definition at line 92 of file view3d_placement.cc.

Referenced by calc_bbox(), view3d_interactive_add_begin(), and view3d_interactive_add_modal().

◆ is_centered_init

bool InteractivePlaceData::is_centered_init

◆ is_degenerate_view_align

bool InteractivePlaceData::is_degenerate_view_align

We can't project the mouse cursor onto plane, in this case view3d_win_to_3d_on_plane_maybe_fallback is used.

  • For STEP_BASE we're drawing from the side, where the X/Y axis can't be projected.
  • For STEP_DEPTH we're drawing from the top (2D), where the depth can't be projected.

Definition at line 109 of file view3d_placement.cc.

Referenced by draw_primitive_view(), view3d_interactive_add_begin(), and view3d_interactive_add_modal().

◆ is_fixed_aspect

bool InteractivePlaceData::is_fixed_aspect

When fixed, constrain the X/Y aspect for the initial STEP_BASE drag. For STEP_DEPTH match the maximum X/Y dimension. Toggling the setting flips the value from its initial state.

Definition at line 98 of file view3d_placement.cc.

Referenced by calc_bbox(), view3d_interactive_add_begin(), and view3d_interactive_add_modal().

◆ is_fixed_aspect_init

bool InteractivePlaceData::is_fixed_aspect_init

◆ is_snap_found

bool InteractivePlaceData::is_snap_found

◆ is_snap_invert

bool InteractivePlaceData::is_snap_invert

◆ launch_event

short InteractivePlaceData::launch_event

Event used to start the operator.

Definition at line 153 of file view3d_placement.cc.

Referenced by view3d_interactive_add_begin(), and view3d_interactive_add_modal().

◆ matrix_orient

float InteractivePlaceData::matrix_orient[3][3]

◆ orient_axis

int InteractivePlaceData::orient_axis

◆ plane

float InteractivePlaceData::plane[4]

◆ primitive_type

enum ePlace_PrimType InteractivePlaceData::primitive_type

◆ region

◆ scene

Scene* InteractivePlaceData::scene

◆ snap_co

float InteractivePlaceData::snap_co[3]

Definition at line 142 of file view3d_placement.cc.

Referenced by view3d_interactive_add_modal().

◆ snap_state

V3DSnapCursorState* InteractivePlaceData::snap_state

◆ snap_to_ptr

short* InteractivePlaceData::snap_to_ptr

◆ snap_to_restore

eSnapMode InteractivePlaceData::snap_to_restore

◆ [struct]

struct { ... } InteractivePlaceData::step[2]

◆ step_index

StepIndex InteractivePlaceData::step_index

◆ use_snap

bool InteractivePlaceData::use_snap

◆ use_tool

bool InteractivePlaceData::use_tool

Activated from the tool-system.

Definition at line 150 of file view3d_placement.cc.

Referenced by view3d_interactive_add_begin(), and view3d_interactive_add_modal().

◆ v3d

View3D* InteractivePlaceData::v3d

◆ view_plane

float InteractivePlaceData::view_plane[4]

When we can't project onto the real plane, use this in its place.

Definition at line 135 of file view3d_placement.cc.

Referenced by view3d_interactive_add_begin(), and view3d_interactive_add_modal().

◆ wait_for_input

bool InteractivePlaceData::wait_for_input

When activated without a tool.

Definition at line 156 of file view3d_placement.cc.

Referenced by view3d_interactive_add_invoke(), and view3d_interactive_add_modal().


The documentation for this struct was generated from the following file: