106 const float col_inner[4],
107 const float col_outer[4],
109 const bool draw_inner)
114 if (draw_inner || !use_polyline_shader) {
137 if (use_polyline_shader) {
169 float color_inner[4], color_outer[4];
170 float matrix_final[4][4];
174 color_inner[3] *= 0.5f;
195 color_outer[3] = 0.8f;
249 gzt->
idname =
"GIZMO_GT_primitive_3d";
263 {0,
nullptr, 0,
nullptr,
nullptr},
279 gzt->
srna,
"arc_inner_factor", 0.0f, 0.0f,
FLT_MAX,
"Arc Inner Factor",
"", 0.0f, 1.0f);
MINLINE void copy_v4_v4(float r[4], const float a[4])
MINLINE void copy_v3_fl(float r[3], float f)
MINLINE void copy_v4_fl(float r[4], float f)
@ ED_GIZMO_PRIMITIVE_STYLE_ANNULUS
@ ED_GIZMO_PRIMITIVE_STYLE_PLANE
@ ED_GIZMO_PRIMITIVE_STYLE_CIRCLE
#define GPU_matrix_mul(x)
bool GPU_select_load_id(unsigned int id)
@ GPU_SHADER_3D_POLYLINE_UNIFORM_COLOR
@ GPU_SHADER_3D_UNIFORM_COLOR
void GPU_blend(eGPUBlend blend)
void GPU_viewport_size_get_f(float coords[4])
Read Guarded memory(de)allocation.
@ WM_GIZMO_STATE_HIGHLIGHT
void wm_gizmo_vec_draw(const float color[4], const float(*verts)[3], uint vert_count, uint pos, uint primitive_type)
wmGizmo * gizmo_find_from_properties(const IDProperty *properties, const int spacetype, const int regionid)
void gizmo_color_get(const wmGizmo *gz, bool highlight, float r_color[4])
void *(* MEM_callocN)(size_t len, const char *str)
ccl_device_inline float4 select(const int4 mask, const float4 a, const float4 b)
static void gizmo_primitive_draw_select(const bContext *, wmGizmo *gz, int select_id)
static bool gizmo_primitive_rna__draw_inner_get_fn(PointerRNA *ptr, PropertyRNA *)
static void gizmo_primitive_draw_geom(PrimitiveGizmo3D *gz_prim, const float col_inner[4], const float col_outer[4], const int nsegments, const bool draw_inner)
void ED_gizmotypes_primitive_3d()
static PrimitiveGizmo3D * gizmo_primitive_rna_find_operator(PointerRNA *ptr)
static void gizmo_primitive_rna__draw_inner_set_fn(PointerRNA *ptr, PropertyRNA *, bool value)
static void gizmo_primitive_setup(wmGizmo *gz)
static void gizmo_primitive_rna__draw_style_set_fn(PointerRNA *ptr, PropertyRNA *, int value)
static float verts_plane[4][3]
static void gizmo_primitive_draw(const bContext *, wmGizmo *gz)
static int gizmo_primitive_invoke(bContext *, wmGizmo *gz, const wmEvent *)
static void gizmo_primitive_draw_intern(wmGizmo *gz, const bool select, const bool highlight)
static float gizmo_primitive_rna__arc_inner_factor_get_fn(PointerRNA *ptr, PropertyRNA *)
static void GIZMO_GT_primitive_3d(wmGizmoType *gzt)
static int gizmo_primitive_rna__draw_style_get_fn(PointerRNA *ptr, PropertyRNA *)
static void gizmo_primitive_rna__arc_inner_factor_set_fn(PointerRNA *ptr, PropertyRNA *, float value)
PropertyRNA * RNA_def_float_factor(StructOrFunctionRNA *cont_, const char *identifier, const float default_value, const float hardmin, const float hardmax, const char *ui_name, const char *ui_description, const float softmin, const float softmax)
void RNA_def_property_enum_funcs_runtime(PropertyRNA *prop, EnumPropertyGetFunc getfunc, EnumPropertySetFunc setfunc, EnumPropertyItemFunc itemfunc)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_float_funcs_runtime(PropertyRNA *prop, FloatPropertyGetFunc getfunc, FloatPropertySetFunc setfunc, FloatPropertyRangeFunc rangefunc)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_boolean_funcs_runtime(PropertyRNA *prop, BooleanPropertyGetFunc getfunc, BooleanPropertySetFunc setfunc)
float init_matrix_final[4][4]
wmGizmoFnDrawSelect draw_select
void WM_gizmo_calc_matrix_final(const wmGizmo *gz, float r_mat[4][4])
void WM_gizmotype_append(void(*gtfunc)(wmGizmoType *))