85 reports,
RPT_INFO,
"Object '%s' already has a Rigid Body Constraint", ob->
id.
name + 2);
150 ot->
idname =
"RIGIDBODY_OT_constraint_add";
151 ot->
name =
"Add Rigid Body Constraint";
152 ot->
description =
"Add Rigid Body Constraint to active object";
166 "Rigid Body Constraint Type",
196 ot->
idname =
"RIGIDBODY_OT_constraint_remove";
197 ot->
name =
"Remove Rigid Body Constraint";
198 ot->
description =
"Remove Rigid Body Constraint from Object";
struct Collection * BKE_collection_add(struct Main *bmain, struct Collection *parent, const char *name)
bool BKE_collection_object_add(struct Main *bmain, struct Collection *collection, struct Object *ob)
struct Scene * CTX_data_scene(const bContext *C)
struct ViewLayer * CTX_data_view_layer(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
void id_us_plus(struct ID *id)
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
API for Blender-side Rigid Body stuff.
void BKE_rigidbody_remove_constraint(struct Main *bmain, struct Scene *scene, struct Object *ob, bool free_us)
struct RigidBodyWorld * BKE_rigidbody_get_world(struct Scene *scene)
struct RigidBodyCon * BKE_rigidbody_create_constraint(struct Scene *scene, struct Object *ob, short type)
void DEG_id_tag_update(struct ID *id, int flag)
void DEG_relations_tag_update(struct Main *bmain)
@ ID_RECALC_COPY_ON_WRITE
#define ID_IS_LINKED(_id)
#define ID_IS_OVERRIDE_LIBRARY(_id)
Object groups, one object can be in many groups at once.
Object is a sort of wrapper for general info.
Types and defines for representing Rigid Body entities.
#define OBACT(_view_layer)
struct Object * ED_object_active_context(const struct bContext *C)
bool ED_operator_object_active_editable(struct bContext *C)
_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
static bool ED_operator_rigidbody_con_active_poll(bContext *C)
void ED_rigidbody_constraint_remove(Main *bmain, Scene *scene, Object *ob)
static int rigidbody_con_add_exec(bContext *C, wmOperator *op)
void RIGIDBODY_OT_constraint_remove(wmOperatorType *ot)
static bool ED_operator_rigidbody_con_add_poll(bContext *C)
static int rigidbody_con_remove_exec(bContext *C, wmOperator *op)
bool ED_rigidbody_constraint_add(Main *bmain, Scene *scene, Object *ob, int type, ReportList *reports)
static bool operator_rigidbody_constraints_editable_poll(Scene *scene)
void RIGIDBODY_OT_constraint_add(wmOperatorType *ot)
int RNA_enum_get(PointerRNA *ptr, const char *name)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
const EnumPropertyItem rna_enum_rigidbody_constraint_type_items[]
struct RigidBodyCon * rigidbody_constraint
struct Collection * constraints
struct RigidBodyWorld * rigidbody_world
bool(* poll)(struct bContext *) ATTR_WARN_UNUSED_RESULT
int(* exec)(struct bContext *, struct wmOperator *) ATTR_WARN_UNUSED_RESULT
struct ReportList * reports
void WM_event_add_notifier(const bContext *C, uint type, void *reference)