108 const float col_inner[4],
109 const float col_outer[4],
111 const bool draw_inner,
115 immVertexFormat(),
"pos", blender::gpu::VertAttrType::SFLOAT_32_32_32);
118 if (draw_inner || !use_polyline_shader) {
141 if (use_polyline_shader) {
174 float color_inner[4], color_outer[4];
175 float matrix_final[4][4];
179 color_inner[3] *= 0.5f;
201 color_outer[3] = 0.8f;
256 gzt->
idname =
"GIZMO_GT_primitive_3d";
270 {0,
nullptr, 0,
nullptr,
nullptr},
288 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(GPUBlend 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])
static float WM_gizmo_select_bias(bool select)
void * MEM_callocN(size_t len, const char *str)
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 *)
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 wmOperatorStatus gizmo_primitive_invoke(bContext *, wmGizmo *gz, const wmEvent *)
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 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, const bool select)
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)
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_boolean_funcs_runtime(PropertyRNA *prop, BooleanPropertyGetFunc getfunc, BooleanPropertySetFunc setfunc, BooleanPropertyGetTransformFunc get_transform_fn, BooleanPropertySetTransformFunc set_transform_fn)
void RNA_def_property_enum_funcs_runtime(PropertyRNA *prop, EnumPropertyGetFunc getfunc, EnumPropertySetFunc setfunc, EnumPropertyItemFunc itemfunc, EnumPropertyGetTransformFunc get_transform_fn, EnumPropertySetTransformFunc set_transform_fn)
void RNA_def_property_float_funcs_runtime(PropertyRNA *prop, FloatPropertyGetFunc getfunc, FloatPropertySetFunc setfunc, FloatPropertyRangeFunc rangefunc, FloatPropertyGetTransformFunc get_transform_fn, FloatPropertySetTransformFunc set_transform_fn)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
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 *))