Blender  V3.3
Macros | Functions | Variables
rna_object.c File Reference
#include <stdio.h>
#include <stdlib.h>
#include "DNA_action_types.h"
#include "DNA_brush_types.h"
#include "DNA_collection_types.h"
#include "DNA_customdata_types.h"
#include "DNA_gpencil_modifier_types.h"
#include "DNA_lightprobe_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
#include "DNA_object_force_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_shader_fx_types.h"
#include "DNA_workspace_types.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_camera.h"
#include "BKE_collection.h"
#include "BKE_editlattice.h"
#include "BKE_editmesh.h"
#include "BKE_layer.h"
#include "BKE_object_deform.h"
#include "BKE_object_facemap.h"
#include "BKE_paint.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "rna_internal.h"
#include "BLI_sys_types.h"
#include "ED_mesh.h"
#include "WM_api.h"
#include "WM_types.h"
#include "DEG_depsgraph_query.h"

Go to the source code of this file.

Macros

#define INSTANCE_ITEMS_SHARED
 
#define INSTANCE_ITEM_COLLECTION
 
#define OBTYPE_CU_CURVE
 
#define OBTYPE_CU_SURF
 
#define OBTYPE_CU_FONT
 

Functions

static void rna_def_vertex_group (BlenderRNA *brna)
 
static void rna_def_face_map (BlenderRNA *brna)
 
static void rna_def_material_slot (BlenderRNA *brna)
 
static void rna_def_object_constraints (BlenderRNA *brna, PropertyRNA *cprop)
 
static void rna_def_object_modifiers (BlenderRNA *brna, PropertyRNA *cprop)
 
static void rna_def_object_grease_pencil_modifiers (BlenderRNA *brna, PropertyRNA *cprop)
 
static void rna_def_object_shaderfxs (BlenderRNA *brna, PropertyRNA *cprop)
 
static void rna_def_object_particle_systems (BlenderRNA *brna, PropertyRNA *cprop)
 
static void rna_def_object_vertex_groups (BlenderRNA *brna, PropertyRNA *cprop)
 
static void rna_def_object_face_maps (BlenderRNA *brna, PropertyRNA *cprop)
 
static void rna_def_object_display (BlenderRNA *brna)
 
static void rna_def_object_lineart (BlenderRNA *brna)
 
static void rna_def_object_visibility (StructRNA *srna)
 
static void rna_def_object (BlenderRNA *brna)
 
void RNA_def_object (BlenderRNA *brna)
 

Variables

const EnumPropertyItem rna_enum_object_mode_items []
 
const EnumPropertyItem rna_enum_workspace_object_mode_items []
 
const EnumPropertyItem rna_enum_object_empty_drawtype_items []
 
static const EnumPropertyItem rna_enum_object_empty_image_depth_items []
 
const EnumPropertyItem rna_enum_object_gpencil_type_items []
 
static const EnumPropertyItem parent_type_items []
 
static const EnumPropertyItem instance_items []
 
const EnumPropertyItem rna_enum_metaelem_type_items []
 
const EnumPropertyItem rna_enum_lightprobes_type_items []
 
const EnumPropertyItem rna_enum_object_type_items []
 
const EnumPropertyItem rna_enum_object_type_curve_items []
 
const EnumPropertyItem rna_enum_object_rotation_mode_items []
 
const EnumPropertyItem rna_enum_object_axis_items []
 

Macro Definition Documentation

◆ INSTANCE_ITEM_COLLECTION

#define INSTANCE_ITEM_COLLECTION
Value:
{ \
OB_DUPLICOLLECTION, "COLLECTION", 0, "Collection", "Enable collection instancing" \
}

Definition at line 188 of file rna_object.c.

◆ INSTANCE_ITEMS_SHARED

#define INSTANCE_ITEMS_SHARED
Value:
{0, "NONE", 0, "None", ""}, \
{OB_DUPLIVERTS, "VERTS", 0, "Vertices", "Instantiate child objects on all vertices"}, \
{ \
OB_DUPLIFACES, "FACES", 0, "Faces", "Instantiate child objects on all faces" \
}
@ OB_DUPLIVERTS

Definition at line 181 of file rna_object.c.

◆ OBTYPE_CU_CURVE

#define OBTYPE_CU_CURVE
Value:
{ \
OB_CURVES_LEGACY, "CURVE", ICON_OUTLINER_OB_CURVE, "Curve", "" \
}

Definition at line 236 of file rna_object.c.

◆ OBTYPE_CU_FONT

#define OBTYPE_CU_FONT
Value:
{ \
OB_FONT, "FONT", ICON_OUTLINER_OB_FONT, "Text", "" \
}

Definition at line 244 of file rna_object.c.

◆ OBTYPE_CU_SURF

#define OBTYPE_CU_SURF
Value:
{ \
OB_SURF, "SURFACE", ICON_OUTLINER_OB_SURFACE, "Surface", "" \
}

Definition at line 240 of file rna_object.c.

Function Documentation

◆ rna_def_face_map()

static void rna_def_face_map ( BlenderRNA brna)
static

◆ rna_def_material_slot()

static void rna_def_material_slot ( BlenderRNA brna)
static

◆ rna_def_object()

static void rna_def_object ( BlenderRNA brna)
static

Definition at line 3074 of file rna_object.c.

References BASE_FROM_DUPLI, BASE_FROM_SET, BLT_I18NCONTEXT_ID_ID, instance_items, NC_MATERIAL, NC_OBJECT, ND_DRAW, ND_SHADING_LINKS, ND_TRANSFORM, NULL, OB_AXIS, OB_BOUND_BOX, OB_BOUND_CAPSULE, OB_BOUND_CONE, OB_BOUND_CYLINDER, OB_BOUND_SPHERE, OB_BOUNDBOX, OB_DRAW_ALL_EDGES, OB_DRAW_IN_FRONT, OB_DRAWBOUNDOX, OB_DRAWNAME, OB_DRAWTRANSP, OB_DRAWWIRE, OB_DUPLI, OB_DUPLIFACES_SCALE, OB_DUPLIROT, OB_EMPTY_IMAGE_HIDE_BACK, OB_EMPTY_IMAGE_HIDE_FRONT, OB_EMPTY_IMAGE_HIDE_NON_AXIS_ALIGNED, OB_EMPTY_IMAGE_HIDE_ORTHOGRAPHIC, OB_EMPTY_IMAGE_HIDE_PERSPECTIVE, OB_EMPTY_IMAGE_USE_ALPHA_BLEND, OB_LOCK_LOCX, OB_LOCK_ROT4D, OB_LOCK_ROTW, OB_LOCK_ROTX, OB_LOCK_SCALEX, OB_MODIFIER_FLAG_ADD_REST_POSITION, OB_POSX, OB_POSY, OB_POSZ, OB_SHAPE_EDIT_MODE, OB_SHAPE_LOCK, OB_SOLID, OB_TEXSPACE, OB_TEXTURE, OB_TRANSFORM_ADJUST_ROOT_PARENT_FOR_VIEW_LOCK, OB_USE_GPENCIL_LIGHTS, OB_WIRE, parent_type_items, PROP_ANIMATABLE, PROP_AXISANGLE, PROP_BOOLEAN, PROP_COLLECTION, PROP_COLOR, PROP_DISTANCE, PROP_EDITABLE, PROP_ENUM, PROP_EULER, PROP_FLOAT, PROP_ID_REFCOUNT, PROP_ID_SELF_CHECK, PROP_INT, PROP_MATRIX, PROP_NEVER_NULL, PROP_NEVER_UNLINK, PROP_NONE, PROP_POINTER, PROP_PROPORTIONAL, PROP_QUATERNION, PROP_STRING, PROP_TRANSLATION, PROP_UNSIGNED, PROP_XYZ, PROP_XYZ_LENGTH, PROPOVERRIDE_IGNORE, PROPOVERRIDE_LIBRARY_INSERTION, PROPOVERRIDE_NO_COMPARISON, PROPOVERRIDE_NO_PROP_NAME, PROPOVERRIDE_OVERRIDABLE_LIBRARY, RNA_api_object(), rna_def_animdata_common(), rna_def_animviz_common(), rna_def_motionpath_common(), rna_def_object_constraints(), rna_def_object_face_maps(), rna_def_object_grease_pencil_modifiers(), rna_def_object_modifiers(), rna_def_object_particle_systems(), rna_def_object_shaderfxs(), rna_def_object_vertex_groups(), rna_def_object_visibility(), RNA_def_property(), RNA_def_property_array(), RNA_def_property_boolean_default(), RNA_def_property_boolean_funcs(), RNA_def_property_boolean_negative_sdna(), RNA_def_property_boolean_sdna(), RNA_def_property_clear_flag(), RNA_def_property_collection_funcs(), RNA_def_property_collection_sdna(), RNA_def_property_editable_array_func(), RNA_def_property_editable_func(), RNA_def_property_enum_bitflag_sdna(), RNA_def_property_enum_funcs(), RNA_def_property_enum_items(), RNA_def_property_enum_sdna(), RNA_def_property_flag(), RNA_def_property_float_array_default(), RNA_def_property_float_funcs(), RNA_def_property_float_sdna(), RNA_def_property_int_funcs(), RNA_def_property_int_sdna(), RNA_def_property_multi_array(), RNA_def_property_override_clear_flag(), RNA_def_property_override_flag(), RNA_def_property_override_funcs(), RNA_def_property_pointer_funcs(), RNA_def_property_pointer_sdna(), RNA_def_property_range(), RNA_def_property_string_funcs(), RNA_def_property_string_sdna(), RNA_def_property_struct_type(), RNA_def_property_translation_context(), RNA_def_property_ui_icon(), RNA_def_property_ui_range(), RNA_def_property_ui_text(), RNA_def_property_update(), RNA_def_struct(), RNA_def_struct_clear_flag(), RNA_def_struct_ui_icon(), RNA_def_struct_ui_text(), rna_default_axis_angle, RNA_define_lib_overridable(), rna_enum_object_axis_items, rna_enum_object_empty_drawtype_items, rna_enum_object_empty_image_depth_items, rna_enum_object_mode_items, rna_enum_object_rotation_mode_items, rna_enum_object_type_items, rna_matrix_dimsize_4x4, RNA_TRANSLATION_PREC_DEFAULT, and STRUCT_ID_REFCOUNT.

Referenced by RNA_def_object().

◆ RNA_def_object()

void RNA_def_object ( BlenderRNA brna)

◆ rna_def_object_constraints()

static void rna_def_object_constraints ( BlenderRNA brna,
PropertyRNA cprop 
)
static

◆ rna_def_object_display()

static void rna_def_object_display ( BlenderRNA brna)
static

◆ rna_def_object_face_maps()

static void rna_def_object_face_maps ( BlenderRNA brna,
PropertyRNA cprop 
)
static

◆ rna_def_object_grease_pencil_modifiers()

static void rna_def_object_grease_pencil_modifiers ( BlenderRNA brna,
PropertyRNA cprop 
)
static

◆ rna_def_object_lineart()

static void rna_def_object_lineart ( BlenderRNA brna)
static

◆ rna_def_object_modifiers()

static void rna_def_object_modifiers ( BlenderRNA brna,
PropertyRNA cprop 
)
static

◆ rna_def_object_particle_systems()

static void rna_def_object_particle_systems ( BlenderRNA brna,
PropertyRNA cprop 
)
static

◆ rna_def_object_shaderfxs()

static void rna_def_object_shaderfxs ( BlenderRNA brna,
PropertyRNA cprop 
)
static

◆ rna_def_object_vertex_groups()

static void rna_def_object_vertex_groups ( BlenderRNA brna,
PropertyRNA cprop 
)
static

◆ rna_def_object_visibility()

static void rna_def_object_visibility ( StructRNA srna)
static

◆ rna_def_vertex_group()

static void rna_def_vertex_group ( BlenderRNA brna)
static

Variable Documentation

◆ instance_items

const EnumPropertyItem instance_items[]
static
Initial value:
= {
{0, NULL, 0, NULL, NULL},
}
#define INSTANCE_ITEM_COLLECTION
Definition: rna_object.c:188
#define INSTANCE_ITEMS_SHARED
Definition: rna_object.c:181

Definition at line 192 of file rna_object.c.

Referenced by rna_def_object().

◆ parent_type_items

const EnumPropertyItem parent_type_items[]
static
Initial value:
= {
{PAROBJECT, "OBJECT", 0, "Object", "The object is parented to an object"},
{PARSKEL, "ARMATURE", 0, "Armature", ""},
{PARSKEL, "LATTICE", 0, "Lattice", "The object is parented to a lattice"},
{PARVERT1, "VERTEX", 0, "Vertex", "The object is parented to a vertex"},
{PARVERT3, "VERTEX_3", 0, "3 Vertices", ""},
{PARBONE, "BONE", 0, "Bone", "The object is parented to a bone"},
{0, NULL, 0, NULL, NULL},
}
@ PARVERT1
@ PARSKEL
@ PAROBJECT
@ PARVERT3
@ PARBONE

Definition at line 170 of file rna_object.c.

Referenced by rna_def_object().

◆ rna_enum_lightprobes_type_items

const EnumPropertyItem rna_enum_lightprobes_type_items[]
Initial value:
= {
{LIGHTPROBE_TYPE_CUBE, "CUBE", ICON_LIGHTPROBE_CUBEMAP, "Cube", ""},
{LIGHTPROBE_TYPE_PLANAR, "PLANAR", ICON_LIGHTPROBE_PLANAR, "Planar", ""},
{LIGHTPROBE_TYPE_GRID, "GRID", ICON_LIGHTPROBE_GRID, "Grid", ""},
{0, NULL, 0, NULL, NULL},
}
@ LIGHTPROBE_TYPE_CUBE
@ LIGHTPROBE_TYPE_PLANAR
@ LIGHTPROBE_TYPE_GRID

Definition at line 228 of file rna_object.c.

Referenced by RNA_def_main_lightprobes().

◆ rna_enum_metaelem_type_items

const EnumPropertyItem rna_enum_metaelem_type_items[]
Initial value:
= {
{MB_BALL, "BALL", ICON_META_BALL, "Ball", ""},
{MB_TUBE, "CAPSULE", ICON_META_CAPSULE, "Capsule", ""},
{MB_PLANE, "PLANE", ICON_META_PLANE, "Plane", ""},
{MB_ELIPSOID, "ELLIPSOID", ICON_META_ELLIPSOID, "Ellipsoid", ""},
{MB_CUBE, "CUBE", ICON_META_CUBE, "Cube", ""},
{0, NULL, 0, NULL, NULL},
}
#define MB_BALL
#define MB_TUBE
#define MB_ELIPSOID
#define MB_PLANE
#define MB_CUBE

Definition at line 218 of file rna_object.c.

Referenced by OBJECT_OT_metaball_add(), rna_def_metaball_elements(), and rna_def_metaelement().

◆ rna_enum_object_axis_items

const EnumPropertyItem rna_enum_object_axis_items[]
Initial value:
= {
{OB_POSX, "POS_X", 0, "+X", ""},
{OB_POSY, "POS_Y", 0, "+Y", ""},
{OB_POSZ, "POS_Z", 0, "+Z", ""},
{OB_NEGX, "NEG_X", 0, "-X", ""},
{OB_NEGY, "NEG_Y", 0, "-Y", ""},
{OB_NEGZ, "NEG_Z", 0, "-Z", ""},
{0, NULL, 0, NULL, NULL},
}
@ OB_POSX
@ OB_NEGZ
@ OB_POSY
@ OB_NEGX
@ OB_POSZ
@ OB_NEGY

Definition at line 297 of file rna_object.c.

Referenced by RNA_api_gizmo(), rna_def_cachefile(), rna_def_constraint_shrinkwrap(), rna_def_modifier_meshcache(), rna_def_object(), and rna_def_statvis().

◆ rna_enum_object_empty_drawtype_items

const EnumPropertyItem rna_enum_object_empty_drawtype_items[]
Initial value:
= {
{OB_PLAINAXES, "PLAIN_AXES", ICON_EMPTY_AXIS, "Plain Axes", ""},
{OB_ARROWS, "ARROWS", ICON_EMPTY_ARROWS, "Arrows", ""},
{OB_SINGLE_ARROW, "SINGLE_ARROW", ICON_EMPTY_SINGLE_ARROW, "Single Arrow", ""},
{OB_CIRCLE, "CIRCLE", ICON_MESH_CIRCLE, "Circle", ""},
{OB_CUBE, "CUBE", ICON_CUBE, "Cube", ""},
{OB_EMPTY_SPHERE, "SPHERE", ICON_SPHERE, "Sphere", ""},
{OB_EMPTY_CONE, "CONE", ICON_CONE, "Cone", ""},
{OB_EMPTY_IMAGE, "IMAGE", ICON_FILE_IMAGE, "Image", ""},
{0, NULL, 0, NULL, NULL},
}
@ OB_EMPTY_CONE
@ OB_SINGLE_ARROW
@ OB_PLAINAXES
@ OB_ARROWS
@ OB_CIRCLE
@ OB_CUBE
@ OB_EMPTY_IMAGE
@ OB_EMPTY_SPHERE

Definition at line 129 of file rna_object.c.

Referenced by OBJECT_OT_empty_add(), and rna_def_object().

◆ rna_enum_object_empty_image_depth_items

const EnumPropertyItem rna_enum_object_empty_image_depth_items[]
static
Initial value:
= {
{OB_EMPTY_IMAGE_DEPTH_DEFAULT, "DEFAULT", 0, "Default", ""},
{OB_EMPTY_IMAGE_DEPTH_FRONT, "FRONT", 0, "Front", ""},
{OB_EMPTY_IMAGE_DEPTH_BACK, "BACK", 0, "Back", ""},
{0, NULL, 0, NULL, NULL},
}
#define OB_EMPTY_IMAGE_DEPTH_BACK
#define OB_EMPTY_IMAGE_DEPTH_FRONT
#define OB_EMPTY_IMAGE_DEPTH_DEFAULT

Definition at line 141 of file rna_object.c.

Referenced by rna_def_object().

◆ rna_enum_object_gpencil_type_items

const EnumPropertyItem rna_enum_object_gpencil_type_items[]
Initial value:
= {
{GP_EMPTY, "EMPTY", ICON_EMPTY_AXIS, "Blank", "Create an empty grease pencil object"},
{GP_STROKE, "STROKE", ICON_STROKE, "Stroke", "Create a simple stroke with basic colors"},
{GP_MONKEY, "MONKEY", ICON_MONKEY, "Monkey", "Construct a Suzanne grease pencil object"},
"LRT_SCENE",
ICON_SCENE_DATA,
"Scene Line Art",
"Quickly set up line art for the entire scene"},
"LRT_COLLECTION",
ICON_OUTLINER_COLLECTION,
"Collection Line Art",
"Quickly set up line art for the active collection"},
"LRT_OBJECT",
ICON_OBJECT_DATA,
"Object Line Art",
"Quickly set up line art for the active object"},
{0, NULL, 0, NULL, NULL}}
@ GP_STROKE
@ GP_MONKEY
@ GP_EMPTY
@ GP_LRT_OBJECT
@ GP_LRT_COLLECTION
@ GP_LRT_SCENE
#define RNA_ENUM_ITEM_SEPR
Definition: RNA_types.h:483

Definition at line 148 of file rna_object.c.

Referenced by OBJECT_OT_gpencil_add().

◆ rna_enum_object_mode_items

const EnumPropertyItem rna_enum_object_mode_items[]

◆ rna_enum_object_rotation_mode_items

const EnumPropertyItem rna_enum_object_rotation_mode_items[]
Initial value:
= {
{ROT_MODE_QUAT, "QUATERNION", 0, "Quaternion (WXYZ)", "No Gimbal Lock"},
{ROT_MODE_XYZ, "XYZ", 0, "XYZ Euler", "XYZ Rotation Order - prone to Gimbal Lock (default)"},
{ROT_MODE_XZY, "XZY", 0, "XZY Euler", "XZY Rotation Order - prone to Gimbal Lock"},
{ROT_MODE_YXZ, "YXZ", 0, "YXZ Euler", "YXZ Rotation Order - prone to Gimbal Lock"},
{ROT_MODE_YZX, "YZX", 0, "YZX Euler", "YZX Rotation Order - prone to Gimbal Lock"},
{ROT_MODE_ZXY, "ZXY", 0, "ZXY Euler", "ZXY Rotation Order - prone to Gimbal Lock"},
{ROT_MODE_ZYX, "ZYX", 0, "ZYX Euler", "ZYX Rotation Order - prone to Gimbal Lock"},
"AXIS_ANGLE",
0,
"Axis Angle",
"Axis Angle (W+XYZ), defines a rotation around some axis defined by 3D-Vector"},
{0, NULL, 0, NULL, NULL},
}
@ ROT_MODE_XZY
@ ROT_MODE_QUAT
@ ROT_MODE_ZXY
@ ROT_MODE_AXISANGLE
@ ROT_MODE_ZYX
@ ROT_MODE_XYZ
@ ROT_MODE_YXZ
@ ROT_MODE_YZX

Definition at line 281 of file rna_object.c.

Referenced by POSE_OT_rotation_mode_set(), rna_def_object(), rna_def_pose_channel(), and rna_def_view3d_cursor().

◆ rna_enum_object_type_curve_items

const EnumPropertyItem rna_enum_object_type_curve_items[]
Initial value:
= {
{0, NULL, 0, NULL, NULL},
}
#define OBTYPE_CU_CURVE
Definition: rna_object.c:236
#define OBTYPE_CU_FONT
Definition: rna_object.c:244
#define OBTYPE_CU_SURF
Definition: rna_object.c:240

Definition at line 274 of file rna_object.c.

Referenced by RNA_def_main_curves().

◆ rna_enum_object_type_items

const EnumPropertyItem rna_enum_object_type_items[]
Initial value:
= {
{OB_MESH, "MESH", ICON_OUTLINER_OB_MESH, "Mesh", ""},
{OB_MBALL, "META", ICON_OUTLINER_OB_META, "Metaball", ""},
{OB_CURVES, "CURVES", ICON_OUTLINER_OB_CURVES, "Hair Curves", ""},
{OB_POINTCLOUD, "POINTCLOUD", ICON_OUTLINER_OB_POINTCLOUD, "Point Cloud", ""},
{OB_VOLUME, "VOLUME", ICON_OUTLINER_OB_VOLUME, "Volume", ""},
{OB_GPENCIL, "GPENCIL", ICON_OUTLINER_OB_GREASEPENCIL, "Grease Pencil", ""},
{OB_ARMATURE, "ARMATURE", ICON_OUTLINER_OB_ARMATURE, "Armature", ""},
{OB_LATTICE, "LATTICE", ICON_OUTLINER_OB_LATTICE, "Lattice", ""},
{OB_EMPTY, "EMPTY", ICON_OUTLINER_OB_EMPTY, "Empty", ""},
{OB_LAMP, "LIGHT", ICON_OUTLINER_OB_LIGHT, "Light", ""},
{OB_LIGHTPROBE, "LIGHT_PROBE", ICON_OUTLINER_OB_LIGHTPROBE, "Light Probe", ""},
{OB_CAMERA, "CAMERA", ICON_OUTLINER_OB_CAMERA, "Camera", ""},
{OB_SPEAKER, "SPEAKER", ICON_OUTLINER_OB_SPEAKER, "Speaker", ""},
{0, NULL, 0, NULL, NULL},
}
@ OB_SPEAKER
@ OB_LATTICE
@ OB_MBALL
@ OB_EMPTY
@ OB_CAMERA
@ OB_ARMATURE
@ OB_LAMP
@ OB_MESH
@ OB_POINTCLOUD
@ OB_VOLUME
@ OB_CURVES
@ OB_GPENCIL
@ OB_LIGHTPROBE

Definition at line 249 of file rna_object.c.

Referenced by OBJECT_OT_add(), OBJECT_OT_select_by_type(), and rna_def_object().

◆ rna_enum_workspace_object_mode_items

const EnumPropertyItem rna_enum_workspace_object_mode_items[]

Definition at line 92 of file rna_object.c.

Referenced by rna_def_workspace().