38 "The pose space of a bone (its armature's object space)"},
43 "The rest pose local space of a bone (thus matrix includes parent transforms)"},
80 static void rna_Object_select_set(
83 if (view_layer ==
NULL) {
92 "Object '%s' can't be selected because it is not in View Layer '%s'!",
109 if (view_layer ==
NULL) {
121 static void rna_Object_hide_set(
124 if (view_layer ==
NULL) {
133 "Object '%s' can't be hidden because it is not in View Layer '%s'!",
155 if (view_layer ==
NULL) {
169 if (view_layer ==
NULL) {
186 if (view_layer ==
NULL) {
200 if (view_layer ==
NULL) {
212 static Base *rna_Object_local_view_property_helper(
bScreen *screen,
225 if (view_layer ==
NULL) {
235 if (r_scene !=
NULL && win !=
NULL) {
236 *r_scene = win->
scene;
251 static void rna_Object_local_view_set(
Object *ob,
259 Base *base = rna_Object_local_view_property_helper(screen, v3d,
NULL, ob, reports, &
scene);
274 static bool rna_Object_visible_in_viewport_get(
Object *ob,
View3D *v3d)
281 static void rna_Object_mat_convert_space(
Object *ob,
289 copy_m4_m4((
float(*)[4])mat_ret, (
float(*)[4])mat);
297 const char *identifier =
NULL;
301 "'from_space' '%s' is invalid when no pose bone is given!",
306 const char *identifier =
NULL;
310 "'to_space' '%s' is invalid when no pose bone is given!",
317 const char *identifier =
NULL;
321 "'from_space' '%s' is invalid when no custom space is given!",
326 const char *identifier =
NULL;
330 "'to_space' '%s' is invalid when no custom space is given!",
338 static void rna_Object_calc_matrix_camera(
Object *ob,
360 static void rna_Object_camera_fit_coords(
364 depsgraph, (
const float(*)[3])
cos, num_cos / 3, ob, co_ret, scale_ret);
367 static void rna_Object_crazyspace_eval(
Object *
object,
375 static void rna_Object_crazyspace_displacement_to_deformed(
Object *
object,
377 const int vertex_index,
378 float displacement[3],
379 float r_displacement_deformed[3])
382 object, reports, vertex_index, displacement, r_displacement_deformed);
385 static void rna_Object_crazyspace_displacement_to_original(
Object *
object,
387 const int vertex_index,
388 float displacement_deformed[3],
389 float r_displacement[3])
392 object, reports, vertex_index, displacement_deformed, r_displacement);
395 static void rna_Object_crazyspace_eval_clear(
Object *
object)
401 static Mesh *rna_Object_to_mesh(
Object *
object,
403 bool preserve_all_data_layers,
408 switch (object->
type) {
423 static void rna_Object_to_mesh_clear(
Object *
object)
431 bool apply_modifiers)
446 static void rna_Object_to_curve_clear(
Object *
object)
474 static void rna_Object_shape_key_remove(
Object *ob,
498 static void rna_Object_shape_key_clear(
Object *ob,
Main *bmain)
507 static void rna_Mesh_assign_verts_to_group(
517 if (group_index == -1) {
529 create_dverts(&me->
id);
533 for (i = 0; i < totindex; i++) {
534 if (i < 0 || i >= me->
totvert) {
539 add_vert_defnr(ob, group_index, i, weight, assignmode);
545 static int mesh_looptri_to_poly_index(
Mesh *me_eval,
const MLoopTri *lt)
548 return index_mp_to_orig ? index_mp_to_orig[lt->
poly] : lt->
poly;
569 reports,
RPT_ERROR,
"Object '%s' has no evaluated mesh data", ob_orig->
id.
name + 2);
576 static void rna_Object_ray_cast(
Object *ob,
588 bool success =
false;
592 if ((ob = eval_object_ensure(ob,
C, reports, rnaptr_depsgraph)) ==
NULL) {
628 *r_success = success =
true;
632 *r_index = mesh_looptri_to_poly_index(mesh_eval, &treeData.
looptri[hit.
index]);
639 if (success ==
false) {
648 static void rna_Object_closest_point_on_mesh(
Object *ob,
661 if ((ob = eval_object_ensure(ob,
C, reports, rnaptr_depsgraph)) ==
NULL) {
673 "Object '%s' could not create internal data for finding nearest point",
689 *r_index = mesh_looptri_to_poly_index(mesh_eval, &treeData.
looptri[nearest.
index]);
710 static bool rna_Object_is_deform_modified(
Object *ob,
Scene *
scene,
int settings)
719 void rna_Object_me_eval_info(
730 if ((ob = eval_object_ensure(ob,
C,
NULL, rnaptr_depsgraph)) ==
NULL) {
768 static bool rna_Object_update_from_editmode(
Object *ob,
Main *bmain)
780 bool rna_Object_generate_gpencil_strokes(
Object *ob,
784 bool use_collections,
785 float scale_thickness,
791 "Object '%s' is not valid for this operation! Only curves are supported",
799 bmain,
scene, ob_gpencil, ob, use_collections, scale_thickness,
sample);
820 {0,
"SOURCE", 0,
"Source",
"Source mesh"},
821 {1,
"DEFORM", 0,
"Deform",
"Objects deform mesh"},
822 {2,
"FINAL", 0,
"Final",
"Objects final mesh"},
830 func,
"Test if the object is selected. The selection state is per view layer");
833 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
839 func,
"Select or deselect the object. The selection state is per view layer");
841 parm =
RNA_def_boolean(func,
"state", 0,
"",
"Selection state to define");
844 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
849 "Test if the object is hidden for viewport editing. This hiding state is per view layer");
852 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
858 func,
"Hide the object for viewport editing. This hiding state is per view layer");
863 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
867 "Test if the object is visible in the 3D viewport, taking into "
868 "account all visibility settings");
871 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
873 func,
"viewport",
"SpaceView3D",
"",
"Use this instead of the active 3D viewport");
881 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
885 func =
RNA_def_function(srna,
"indirect_only_get",
"rna_Object_indirect_only_get");
887 "Test if object is set to contribute only indirectly (through "
888 "shadows and reflections) in the view layer");
891 func,
"view_layer",
"ViewLayer",
"",
"Use this instead of the active view layer");
896 func =
RNA_def_function(srna,
"local_view_get",
"rna_Object_local_view_get");
899 parm =
RNA_def_pointer(func,
"viewport",
"SpaceView3D",
"",
"Viewport in local view");
901 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Object local view state");
904 func =
RNA_def_function(srna,
"local_view_set",
"rna_Object_local_view_set");
907 parm =
RNA_def_pointer(func,
"viewport",
"SpaceView3D",
"",
"Viewport in local view");
909 parm =
RNA_def_boolean(func,
"state", 0,
"",
"Local view state to define");
913 func =
RNA_def_function(srna,
"visible_in_viewport_get",
"rna_Object_visible_in_viewport_get");
915 func,
"Check for local view and local collections for this viewport and object");
916 parm =
RNA_def_pointer(func,
"viewport",
"SpaceView3D",
"",
"Viewport in local collections");
918 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Object viewport visibility");
922 func =
RNA_def_function(srna,
"convert_space",
"rna_Object_mat_convert_space");
924 func,
"Convert (transform) the given matrix from one space to another");
931 "Bone to use to define spaces (may be None, in which case only the two 'WORLD' and "
932 "'LOCAL' spaces are usable)");
945 "The space in which 'matrix' is currently");
951 "The space to which you want to transform 'matrix'");
954 func =
RNA_def_function(srna,
"calc_matrix_camera",
"rna_Object_calc_matrix_camera");
956 "Generate the camera projection matrix of this object "
957 "(mostly useful for Camera and Light types)");
959 func,
"depsgraph",
"Depsgraph",
"",
"Depsgraph to get evaluated data from");
965 parm =
RNA_def_int(func,
"x", 1, 0, INT_MAX,
"",
"Width of the render area", 0, 10000);
966 parm =
RNA_def_int(func,
"y", 1, 0, INT_MAX,
"",
"Height of the render area", 0, 10000);
968 func,
"scale_x", 1.0f, 1.0e-6f, FLT_MAX,
"",
"Width scaling factor", 1.0e-2f, 100.0f);
970 func,
"scale_y", 1.0f, 1.0e-6f, FLT_MAX,
"",
"Height scaling factor", 1.0e-2f, 100.0f);
972 func =
RNA_def_function(srna,
"camera_fit_coords",
"rna_Object_camera_fit_coords");
974 "Compute the coordinate (and scale for ortho cameras) "
975 "given object should be to 'see' all given coordinates");
977 func,
"depsgraph",
"Depsgraph",
"",
"Depsgraph to get evaluated data from");
986 "Coordinates to fit in",
996 parm,
"",
"The ortho scale to aim to be able to see all given points (if relevant)");
1001 func =
RNA_def_function(srna,
"crazyspace_eval",
"rna_Object_crazyspace_eval");
1004 "Compute orientation mapping between vertices of an original object and object with shape "
1005 "keys and deforming modifiers applied."
1006 "The evaluation is to be freed with the crazyspace_eval_free function");
1009 func,
"depsgraph",
"Depsgraph",
"Dependency Graph",
"Evaluated dependency graph");
1011 parm =
RNA_def_pointer(func,
"scene",
"Scene",
"Scene",
"Scene of the object");
1015 "crazyspace_displacement_to_deformed",
1016 "rna_Object_crazyspace_displacement_to_deformed");
1018 func,
"Convert displacement vector from non-deformed object space to deformed object space");
1029 "crazyspace_displacement_to_original",
1030 "rna_Object_crazyspace_displacement_to_original");
1032 func,
"Convert displacement vector from deformed object space to non-deformed object space");
1042 RNA_def_function(srna,
"crazyspace_eval_clear",
"rna_Object_crazyspace_eval_clear");
1049 "Create a Mesh data-block from the current state of the object. The object owns the "
1050 "data-block. To force free it use to_mesh_clear(). "
1051 "The result is temporary and can not be used by objects from the main database");
1054 "preserve_all_data_layers",
1057 "Preserve all data layers in the mesh, like UV maps and vertex groups. "
1058 "By default Blender only computes the subset of data layers needed for viewport "
1059 "display and rendering, for better performance");
1065 "Evaluated dependency graph which is required when preserve_all_data_layers is true");
1066 parm =
RNA_def_pointer(func,
"mesh",
"Mesh",
"",
"Mesh created from object");
1069 func =
RNA_def_function(srna,
"to_mesh_clear",
"rna_Object_to_mesh_clear");
1076 "Create a Curve data-block from the current state of the object. This only works for curve "
1077 "and text objects. The object owns the data-block. To force free it, use to_curve_clear(). "
1078 "The result is temporary and can not be used by objects from the main database");
1081 func,
"depsgraph",
"Depsgraph",
"Dependency Graph",
"Evaluated dependency graph");
1087 "Apply the deform modifiers on the control points of the curve. This is only "
1088 "supported for curve objects");
1089 parm =
RNA_def_pointer(func,
"curve",
"Curve",
"",
"Curve created from object");
1092 func =
RNA_def_function(srna,
"to_curve_clear",
"rna_Object_to_curve_clear");
1096 func =
RNA_def_function(srna,
"find_armature",
"BKE_modifiers_is_deformed_by_armature");
1098 func,
"Find armature influencing this object as a parent or via a modifier");
1100 func,
"ob_arm",
"Object",
"",
"Armature object influencing this object or NULL");
1104 func =
RNA_def_function(srna,
"shape_key_add",
"rna_Object_shape_key_add");
1107 RNA_def_string(func,
"name",
"Key", 0,
"",
"Unique name for the new keyblock");
1108 RNA_def_boolean(func,
"from_mix", 1,
"",
"Create new shape from existing mix of shapes");
1109 parm =
RNA_def_pointer(func,
"key",
"ShapeKey",
"",
"New shape keyblock");
1113 func =
RNA_def_function(srna,
"shape_key_remove",
"rna_Object_shape_key_remove");
1116 parm =
RNA_def_pointer(func,
"key",
"ShapeKey",
"",
"Keyblock to be removed");
1120 func =
RNA_def_function(srna,
"shape_key_clear",
"rna_Object_shape_key_clear");
1128 "Cast a ray onto evaluated geometry, in object space "
1129 "(using context's or provided depsgraph to get evaluated mesh if needed)");
1140 "Origin of the ray, in object space",
1151 "Direction of the ray, in object space",
1169 "Depsgraph to use to get evaluated data, when called from original object "
1170 "(only needed if current Context's depsgraph is not suitable)");
1174 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether the ray successfully hit the geometry");
1183 "The hit location of this ray cast",
1195 "The face normal at the ray cast hit location",
1201 func,
"index", 0, 0, 0,
"",
"The face index, -1 when original data isn't available", 0, 0);
1205 func =
RNA_def_function(srna,
"closest_point_on_mesh",
"rna_Object_closest_point_on_mesh");
1208 "Find the nearest point on evaluated geometry, in object space "
1209 "(using context's or provided depsgraph to get evaluated mesh if needed)");
1220 "Point to find closest geometry from (in object space)",
1226 func,
"distance", 1.844674352395373e+19, 0.0, FLT_MAX,
"",
"Maximum distance", 0.0, FLT_MAX);
1232 "Depsgraph to use to get evaluated data, when called from original object "
1233 "(only needed if current Context's depsgraph is not suitable)");
1237 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether closest point on geometry was found");
1246 "The location on the object closest to the point",
1258 "The face normal at the closest point",
1265 func,
"index", 0, 0, 0,
"",
"The face index, -1 when original data isn't available", 0, 0);
1273 "Determine if this object is modified from the base mesh data");
1274 parm =
RNA_def_pointer(func,
"scene",
"Scene",
"",
"Scene in which to check the object");
1276 parm =
RNA_def_enum(func,
"settings", mesh_type_items, 0,
"",
"Modifier settings to apply");
1278 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether the object is modified");
1281 func =
RNA_def_function(srna,
"is_deform_modified",
"rna_Object_is_deform_modified");
1283 func,
"Determine if this object is modified by a deformation from the base mesh data");
1284 parm =
RNA_def_pointer(func,
"scene",
"Scene",
"",
"Scene in which to check the object");
1286 parm =
RNA_def_enum(func,
"settings", mesh_type_items, 0,
"",
"Modifier settings to apply");
1288 parm =
RNA_def_boolean(func,
"result", 0,
"",
"Whether the object is deform-modified");
1296 "Returns a string for original/evaluated mesh data (debug builds only, "
1297 "using context's or provided depsgraph to get evaluated mesh if needed)");
1300 parm =
RNA_def_enum(func,
"type", mesh_dm_info_items, 0,
"",
"Modifier settings to apply");
1307 "Depsgraph to use to get evaluated data, when called from original object "
1308 "(only needed if current Context's depsgraph is not suitable)");
1316 func =
RNA_def_function(srna,
"update_from_editmode",
"rna_Object_update_from_editmode");
1324 "Release memory used by caches associated with this object. "
1325 "Intended to be used by render engines only");
1328 func =
RNA_def_function(srna,
"generate_gpencil_strokes",
"rna_Object_generate_gpencil_strokes");
1333 "grease_pencil_object",
1336 "Grease Pencil object used to create new strokes");
1338 parm =
RNA_def_boolean(func,
"use_collections",
true,
"",
"Use Collections");
1340 func,
"scale_thickness", 1.0f, 0.0f, FLT_MAX,
"",
"Thickness scaling factor", 0.0f, 100.0f);
1342 func,
"sample", 0.0f, 0.0f, FLT_MAX,
"",
"Sample distance, zero to disable", 0.0f, 100.0f);
void free_bvhtree_from_mesh(struct BVHTreeFromMesh *data)
BVHTree * BKE_bvhtree_from_mesh_get(struct BVHTreeFromMesh *data, const struct Mesh *mesh, BVHCacheType bvh_cache_type, int tree_type)
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, 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)
void BKE_crazyspace_api_eval(struct Depsgraph *depsgraph, struct Scene *scene, struct Object *object, struct ReportList *reports)
void BKE_crazyspace_api_displacement_to_original(struct Object *object, struct ReportList *reports, int vertex_index, float displacement_deformed[3], float r_displacement[3])
void BKE_crazyspace_api_displacement_to_deformed(struct Object *object, struct ReportList *reports, int vertex_index, float displacement[3], float r_displacement_deformed[3])
void BKE_crazyspace_api_eval_clear(struct Object *object)
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, bool use_collections, float scale_thickness, float sample)
struct Key * BKE_key_from_object(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_debug_info(const struct Mesh *me) ATTR_NONNULL(1) ATTR_MALLOC ATTR_WARN_UNUSED_RESULT
General operations, lookup, etc. for blender objects.
void BKE_object_to_mesh_clear(struct Object *object)
int BKE_object_is_deform_modified(struct Scene *scene, struct Object *ob)
struct Mesh * BKE_object_get_evaluated_mesh(const struct Object *object)
struct Curve * BKE_object_to_curve(struct Object *object, struct Depsgraph *depsgraph, bool apply_modifiers)
struct KeyBlock * BKE_object_shapekey_insert(struct Main *bmain, struct Object *ob, const char *name, bool from_mix)
struct Mesh * BKE_object_to_mesh(struct Depsgraph *depsgraph, struct Object *object, bool preserve_all_data_layers)
const 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_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
#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_OWNLOCAL
@ 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)
struct wmWindow * ED_screen_window_find(const struct bScreen *screen, const struct wmWindowManager *wm)
ScrArea * ED_screen_area_find_with_spacedata(const bScreen *screen, const struct SpaceLink *sl, bool only_visible)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_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 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
Read Guarded memory(de)allocation.
#define RNA_POINTER_INVALIDATE(ptr)
__forceinline const avxb select(const avxb &m, const avxb &t, const avxb &f)
const Depsgraph * depsgraph
ccl_gpu_kernel_postfix int ccl_global int * indices
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])
T distance(const T &a, const T &b)
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
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)