54 "The pose space of a bone (its armature's object space)"},
59 "The rest pose local space of a bone (thus matrix includes parent transforms)"},
95 static void rna_Object_select_set(
98 if (view_layer ==
NULL) {
107 "Object '%s' can't be selected because it is not in View Layer '%s'!",
124 if (view_layer ==
NULL) {
136 static void rna_Object_hide_set(
139 if (view_layer ==
NULL) {
148 "Object '%s' can't be hidden because it is not in View Layer '%s'!",
170 if (view_layer ==
NULL) {
184 if (view_layer ==
NULL) {
201 if (view_layer ==
NULL) {
215 if (view_layer ==
NULL) {
227 static Base *rna_Object_local_view_property_helper(
bScreen *screen,
240 if (view_layer ==
NULL) {
250 if (r_scene !=
NULL && win !=
NULL) {
251 *r_scene = win->
scene;
266 static void rna_Object_local_view_set(
Object *ob,
274 Base *base = rna_Object_local_view_property_helper(screen, v3d,
NULL, ob, reports, &
scene);
289 static bool rna_Object_visible_in_viewport_get(
Object *ob,
View3D *v3d)
296 static void rna_Object_mat_convert_space(
Object *ob,
304 copy_m4_m4((
float(*)[4])mat_ret, (
float(*)[4])mat);
309 const char *identifier =
NULL;
313 "'from_space' '%s' is invalid when no pose bone is given!",
318 const char *identifier =
NULL;
322 "'to_space' '%s' is invalid when no pose bone is given!",
329 const char *identifier =
NULL;
333 "'from_space' '%s' is invalid when no custom space is given!",
338 const char *identifier =
NULL;
342 "'to_space' '%s' is invalid when no custom space is given!",
350 static void rna_Object_calc_matrix_camera(
Object *ob,
372 static void rna_Object_camera_fit_coords(
376 depsgraph, (
const float(*)[3])
cos, num_cos / 3, ob, co_ret, scale_ret);
380 static Mesh *rna_Object_to_mesh(
Object *
object,
382 bool preserve_all_data_layers,
387 switch (object->
type) {
402 static void rna_Object_to_mesh_clear(
Object *
object)
410 bool apply_modifiers)
425 static void rna_Object_to_curve_clear(
Object *
object)
453 static void rna_Object_shape_key_remove(
Object *ob,
477 static void rna_Object_shape_key_clear(
Object *ob,
Main *bmain)
486 static void rna_Mesh_assign_verts_to_group(
496 if (group_index == -1) {
508 create_dverts(&me->
id);
512 for (i = 0; i < totindex; i++) {
513 if (i < 0 || i >= me->
totvert) {
518 add_vert_defnr(ob, group_index, i, weight, assignmode);
524 static int mesh_looptri_to_poly_index(
Mesh *me_eval,
const MLoopTri *lt)
527 return index_mp_to_orig ? index_mp_to_orig[lt->
poly] : lt->
poly;
548 reports,
RPT_ERROR,
"Object '%s' has no evaluated mesh data", ob_orig->
id.
name + 2);
555 static void rna_Object_ray_cast(
Object *ob,
567 bool success =
false;
571 if ((ob = eval_object_ensure(ob,
C, reports, rnaptr_depsgraph)) ==
NULL) {
605 *r_success = success =
true;
609 *r_index = mesh_looptri_to_poly_index(mesh_eval, &treeData.
looptri[hit.
index]);
616 if (success ==
false) {
625 static void rna_Object_closest_point_on_mesh(
Object *ob,
638 if ((ob = eval_object_ensure(ob,
C, reports, rnaptr_depsgraph)) ==
NULL) {
650 "Object '%s' could not create internal data for finding nearest point",
666 *r_index = mesh_looptri_to_poly_index(mesh_eval, &treeData.
looptri[nearest.
index]);
687 static bool rna_Object_is_deform_modified(
Object *ob,
Scene *
scene,
int settings)
696 void rna_Object_me_eval_info(
707 if ((ob = eval_object_ensure(ob,
C,
NULL, rnaptr_depsgraph)) ==
NULL) {
745 static bool rna_Object_update_from_editmode(
Object *ob,
Main *bmain)
757 bool rna_Object_generate_gpencil_strokes(
Object *ob,
761 bool use_collections,
762 float scale_thickness,
768 "Object '%s' is not valid for this operation! Only curves are supported",
776 bmain,
scene, ob_gpencil, ob, use_collections, scale_thickness,
sample);
797 {0,
"SOURCE", 0,
"Source",
"Source mesh"},
798 {1,
"DEFORM", 0,
"Deform",
"Objects deform mesh"},
799 {2,
"FINAL", 0,
"Final",
"Objects final mesh"},
807 func,
"Test if the object is selected. The selection state is per view layer");
810 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
816 func,
"Select or deselect the object. The selection state is per view layer");
818 parm =
RNA_def_boolean(func,
"state", 0,
"",
"Selection state to define");
821 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
826 "Test if the object is hidden for viewport editing. This hiding state is per view layer");
829 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
835 func,
"Hide the object for viewport editing. This hiding state is per view layer");
840 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
844 "Test if the object is visible in the 3D viewport, taking into "
845 "account all visibility settings");
848 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
850 func,
"viewport",
"SpaceView3D",
"",
"Use this instead of the active 3D viewport");
858 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
862 func =
RNA_def_function(srna,
"indirect_only_get",
"rna_Object_indirect_only_get");
864 "Test if object is set to contribute only indirectly (through "
865 "shadows and reflections) in the view layer");
868 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
873 func =
RNA_def_function(srna,
"local_view_get",
"rna_Object_local_view_get");
876 parm =
RNA_def_pointer(func,
"viewport",
"SpaceView3D",
"",
"Viewport in local view");
878 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Object local view state");
881 func =
RNA_def_function(srna,
"local_view_set",
"rna_Object_local_view_set");
884 parm =
RNA_def_pointer(func,
"viewport",
"SpaceView3D",
"",
"Viewport in local view");
886 parm =
RNA_def_boolean(func,
"state", 0,
"",
"Local view state to define");
890 func =
RNA_def_function(srna,
"visible_in_viewport_get",
"rna_Object_visible_in_viewport_get");
892 func,
"Check for local view and local collections for this viewport and object");
893 parm =
RNA_def_pointer(func,
"viewport",
"SpaceView3D",
"",
"Viewport in local collections");
895 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Object viewport visibility");
899 func =
RNA_def_function(srna,
"convert_space",
"rna_Object_mat_convert_space");
901 func,
"Convert (transform) the given matrix from one space to another");
908 "Bone to use to define spaces (may be None, in which case only the two 'WORLD' and "
909 "'LOCAL' spaces are usable)");
922 "The space in which 'matrix' is currently");
928 "The space to which you want to transform 'matrix'");
931 func =
RNA_def_function(srna,
"calc_matrix_camera",
"rna_Object_calc_matrix_camera");
933 "Generate the camera projection matrix of this object "
934 "(mostly useful for Camera and Light types)");
936 func,
"depsgraph",
"Depsgraph",
"",
"Depsgraph to get evaluated data from");
942 parm =
RNA_def_int(func,
"x", 1, 0, INT_MAX,
"",
"Width of the render area", 0, 10000);
943 parm =
RNA_def_int(func,
"y", 1, 0, INT_MAX,
"",
"Height of the render area", 0, 10000);
945 func,
"scale_x", 1.0f, 1.0e-6f, FLT_MAX,
"",
"Width scaling factor", 1.0e-2f, 100.0f);
947 func,
"scale_y", 1.0f, 1.0e-6f, FLT_MAX,
"",
"Height scaling factor", 1.0e-2f, 100.0f);
949 func =
RNA_def_function(srna,
"camera_fit_coords",
"rna_Object_camera_fit_coords");
951 "Compute the coordinate (and scale for ortho cameras) "
952 "given object should be to 'see' all given coordinates");
954 func,
"depsgraph",
"Depsgraph",
"",
"Depsgraph to get evaluated data from");
963 "Coordinates to fit in",
973 parm,
"",
"The ortho scale to aim to be able to see all given points (if relevant)");
980 "Create a Mesh data-block from the current state of the object. The object owns the "
981 "data-block. To force free it use to_mesh_clear(). "
982 "The result is temporary and can not be used by objects from the main database");
985 "preserve_all_data_layers",
988 "Preserve all data layers in the mesh, like UV maps and vertex groups. "
989 "By default Blender only computes the subset of data layers needed for viewport "
990 "display and rendering, for better performance");
996 "Evaluated dependency graph which is required when preserve_all_data_layers is true");
997 parm =
RNA_def_pointer(func,
"mesh",
"Mesh",
"",
"Mesh created from object");
1000 func =
RNA_def_function(srna,
"to_mesh_clear",
"rna_Object_to_mesh_clear");
1007 "Create a Curve data-block from the current state of the object. This only works for curve "
1008 "and text objects. The object owns the data-block. To force free it, use to_curve_clear(). "
1009 "The result is temporary and can not be used by objects from the main database");
1012 func,
"depsgraph",
"Depsgraph",
"Dependency Graph",
"Evaluated dependency graph");
1018 "Apply the deform modifiers on the control points of the curve. This is only "
1019 "supported for curve objects");
1020 parm =
RNA_def_pointer(func,
"curve",
"Curve",
"",
"Curve created from object");
1023 func =
RNA_def_function(srna,
"to_curve_clear",
"rna_Object_to_curve_clear");
1027 func =
RNA_def_function(srna,
"find_armature",
"BKE_modifiers_is_deformed_by_armature");
1029 func,
"Find armature influencing this object as a parent or via a modifier");
1031 func,
"ob_arm",
"Object",
"",
"Armature object influencing this object or NULL");
1035 func =
RNA_def_function(srna,
"shape_key_add",
"rna_Object_shape_key_add");
1038 RNA_def_string(func,
"name",
"Key", 0,
"",
"Unique name for the new keyblock");
1039 RNA_def_boolean(func,
"from_mix", 1,
"",
"Create new shape from existing mix of shapes");
1040 parm =
RNA_def_pointer(func,
"key",
"ShapeKey",
"",
"New shape keyblock");
1044 func =
RNA_def_function(srna,
"shape_key_remove",
"rna_Object_shape_key_remove");
1047 parm =
RNA_def_pointer(func,
"key",
"ShapeKey",
"",
"Keyblock to be removed");
1051 func =
RNA_def_function(srna,
"shape_key_clear",
"rna_Object_shape_key_clear");
1059 "Cast a ray onto evaluated geometry, in object space "
1060 "(using context's or provided depsgraph to get evaluated mesh if needed)");
1071 "Origin of the ray, in object space",
1082 "Direction of the ray, in object space",
1100 "Depsgraph to use to get evaluated data, when called from original object "
1101 "(only needed if current Context's depsgraph is not suitable)");
1105 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether the ray successfully hit the geometry");
1114 "The hit location of this ray cast",
1126 "The face normal at the ray cast hit location",
1132 func,
"index", 0, 0, 0,
"",
"The face index, -1 when original data isn't available", 0, 0);
1136 func =
RNA_def_function(srna,
"closest_point_on_mesh",
"rna_Object_closest_point_on_mesh");
1139 "Find the nearest point on evaluated geometry, in object space "
1140 "(using context's or provided depsgraph to get evaluated mesh if needed)");
1151 "Point to find closest geometry from (in object space)",
1157 func,
"distance", 1.844674352395373e+19, 0.0, FLT_MAX,
"",
"Maximum distance", 0.0, FLT_MAX);
1163 "Depsgraph to use to get evaluated data, when called from original object "
1164 "(only needed if current Context's depsgraph is not suitable)");
1168 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether closest point on geometry was found");
1177 "The location on the object closest to the point",
1189 "The face normal at the closest point",
1196 func,
"index", 0, 0, 0,
"",
"The face index, -1 when original data isn't available", 0, 0);
1204 "Determine if this object is modified from the base mesh data");
1205 parm =
RNA_def_pointer(func,
"scene",
"Scene",
"",
"Scene in which to check the object");
1207 parm =
RNA_def_enum(func,
"settings", mesh_type_items, 0,
"",
"Modifier settings to apply");
1209 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether the object is modified");
1212 func =
RNA_def_function(srna,
"is_deform_modified",
"rna_Object_is_deform_modified");
1214 func,
"Determine if this object is modified by a deformation from the base mesh data");
1215 parm =
RNA_def_pointer(func,
"scene",
"Scene",
"",
"Scene in which to check the object");
1217 parm =
RNA_def_enum(func,
"settings", mesh_type_items, 0,
"",
"Modifier settings to apply");
1219 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether the object is deform-modified");
1227 "Returns a string for original/evaluated mesh data (debug builds only, "
1228 "using context's or provided depsgraph to get evaluated mesh if needed)");
1231 parm =
RNA_def_enum(func,
"type", mesh_dm_info_items, 0,
"",
"Modifier settings to apply");
1238 "Depsgraph to use to get evaluated data, when called from original object "
1239 "(only needed if current Context's depsgraph is not suitable)");
1247 func =
RNA_def_function(srna,
"update_from_editmode",
"rna_Object_update_from_editmode");
1255 "Release memory used by caches associated with this object. "
1256 "Intended to be used by render engines only");
1259 func =
RNA_def_function(srna,
"generate_gpencil_strokes",
"rna_Object_generate_gpencil_strokes");
1264 "grease_pencil_object",
1267 "Grease Pencil object used to create new strokes");
1269 parm =
RNA_def_boolean(func,
"use_collections",
true,
"",
"Use Collections");
1271 func,
"scale_thickness", 1.0f, 0.0f, FLT_MAX,
"",
"Thickness scaling factor", 0.0f, 100.0f);
1273 func,
"sample", 0.0f, 0.0f, FLT_MAX,
"",
"Sample distance, zero to disable", 0.0f, 100.0f);
BVHTree * BKE_bvhtree_from_mesh_get(struct BVHTreeFromMesh *data, struct Mesh *mesh, const BVHCacheType bvh_cache_type, const int tree_type)
void free_bvhtree_from_mesh(struct BVHTreeFromMesh *data)
void BKE_camera_params_init(CameraParams *params)
bool BKE_camera_view_frame_fit_to_coords(const struct Depsgraph *depsgraph, const float(*cos)[3], int num_cos, struct Object *camera_ob, float r_co[3], float *r_scale)
void BKE_camera_params_from_object(CameraParams *params, const struct Object *cam_ob)
void BKE_camera_params_compute_viewplane(CameraParams *params, int winx, int winy, float aspx, float aspy)
void BKE_camera_params_compute_matrix(CameraParams *params)
void BKE_constraint_mat_convertspace(struct Object *ob, struct bPoseChannel *pchan, struct bConstraintOb *cob, float mat[4][4], short from, short to, const bool keep_scale)
struct Scene * CTX_data_scene(const bContext *C)
struct ViewLayer * CTX_data_view_layer(const bContext *C)
struct Depsgraph * CTX_data_ensure_evaluated_depsgraph(const bContext *C)
struct View3D * CTX_wm_view3d(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
CustomData interface, see also DNA_customdata_types.h.
void * CustomData_get_layer(const struct CustomData *data, int type)
void BKE_gpencil_convert_curve(struct Main *bmain, struct Scene *scene, struct Object *ob_gp, struct Object *ob_cu, const bool use_collections, const float scale_thickness, const float sample)
struct Key * BKE_key_from_object(const struct Object *ob)
struct Base * BKE_view_layer_base_find(struct ViewLayer *view_layer, struct Object *ob)
bool BKE_object_is_visible_in_viewport(const struct View3D *v3d, const struct Object *ob)
void BKE_layer_collection_sync(const struct Scene *scene, struct ViewLayer *view_layer)
char * BKE_mesh_runtime_debug_info(struct Mesh *me_eval)
General operations, lookup, etc. for blender objects.
void BKE_object_to_mesh_clear(struct Object *object)
struct KeyBlock * BKE_object_shapekey_insert(struct Main *bmain, struct Object *ob, const char *name, const bool from_mix)
int BKE_object_is_deform_modified(struct Scene *scene, struct Object *ob)
struct Mesh * BKE_object_get_evaluated_mesh(struct Object *object)
struct Curve * BKE_object_to_curve(struct Object *object, struct Depsgraph *depsgraph, bool apply_modifiers)
struct Mesh * BKE_object_to_mesh(struct Depsgraph *depsgraph, struct Object *object, bool preserve_all_data_layers)
struct BoundBox * BKE_object_boundbox_get(struct Object *ob)
void BKE_object_to_curve_clear(struct Object *object)
int BKE_object_is_modified(struct Scene *scene, struct Object *ob)
bool BKE_object_shapekey_remove(struct Main *bmain, struct Object *ob, struct KeyBlock *kb)
bool BKE_object_shapekey_free(struct Main *bmain, struct Object *ob)
void BKE_report(ReportList *reports, ReportType type, const char *message)
void BKE_reportf(ReportList *reports, ReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
#define BVH_RAYCAST_DIST_MAX
int BLI_bvhtree_ray_cast(BVHTree *tree, const float co[3], const float dir[3], float radius, BVHTreeRayHit *hit, BVHTree_RayCastCallback callback, void *userdata)
int BLI_bvhtree_find_nearest(BVHTree *tree, const float co[3], BVHTreeNearest *nearest, BVHTree_NearestPointCallback callback, void *userdata)
int BLI_findindex(const struct ListBase *listbase, const void *vlink) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
void * BLI_findlink(const struct ListBase *listbase, int number) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1)
bool isect_ray_aabb_v3_simple(const float orig[3], const float dir[3], const float bb_min[3], const float bb_max[3], float *tmin, float *tmax)
void copy_m4_m4(float m1[4][4], const float m2[4][4])
MINLINE float normalize_v3(float r[3])
MINLINE void copy_v3_v3(float r[3], const float a[3])
MINLINE void zero_v3(float r[3])
#define SET_FLAG_FROM_TEST(value, test, flag)
struct Depsgraph Depsgraph
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
struct Object * DEG_get_evaluated_object(const struct Depsgraph *depsgraph, struct Object *object)
@ CONSTRAINT_SPACE_CUSTOM
@ CONSTRAINT_SPACE_PARLOCAL
Object is a sort of wrapper for general info.
#define BASE_VISIBLE(v3d, base)
void ED_object_base_select(struct Base *base, eObjectSelect_Mode mode)
bool ED_object_editmode_load(struct Main *bmain, struct Object *obedit)
void ED_outliner_select_sync_from_object_tag(struct bContext *C)
void ED_area_tag_redraw(ScrArea *area)
ScrArea * ED_screen_area_find_with_spacedata(const bScreen *screen, const struct SpaceLink *sl, const bool only_visible)
struct wmWindow * ED_screen_window_find(const struct bScreen *screen, const struct wmWindowManager *wm)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
Read Guarded memory(de)allocation.
#define RNA_POINTER_INVALIDATE(ptr)
const Depsgraph * depsgraph
void(* MEM_freeN)(void *vmemh)
INLINE Rall1d< T, V, S > cos(const Rall1d< T, V, S > &arg)
static void area(int d1, int d2, int e1, int e2, float weights[2])
static void sample(SocketReader *reader, int x, int y, float color[4])
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
const PointerRNA PointerRNA_NULL
bool RNA_enum_identifier(const EnumPropertyItem *item, const int value, const char **r_identifier)
PropertyRNA * RNA_def_float(StructOrFunctionRNA *cont_, const char *identifier, float default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
PropertyRNA * RNA_def_float_array(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_function_output(FunctionRNA *UNUSED(func), PropertyRNA *ret)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
PropertyRNA * RNA_def_float_vector(StructOrFunctionRNA *cont_, const char *identifier, int len, const float *default_value, float hardmin, float hardmax, const char *ui_name, const char *ui_description, float softmin, float softmax)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
const int rna_matrix_dimsize_4x4[]
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_function_flag(FunctionRNA *func, int flag)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
static const EnumPropertyItem space_items[]
void RNA_api_object(StructRNA *srna)
BVHTree_RayCastCallback raycast_callback
BVHTree_NearestPointCallback nearest_callback
const struct MLoopTri * looptri
unsigned short local_view_bits
struct MDeformVert * dvert
struct Mesh * mesh_deform_eval
unsigned short base_local_view_bits
unsigned short local_view_uuid
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
ccl_device_inline float distance(const float2 &a, const float2 &b)
void WM_main_add_notifier(unsigned int type, void *reference)
void WM_event_add_notifier(const bContext *C, uint type, void *reference)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)