Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/physics/rigidbody_constraint.c
| Show First 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | bool ED_rigidbody_constraint_add( | ||||
| if (ob->rigidbody_constraint) { | if (ob->rigidbody_constraint) { | ||||
| BKE_reportf( | BKE_reportf( | ||||
| reports, RPT_INFO, "Object '%s' already has a Rigid Body Constraint", ob->id.name + 2); | reports, RPT_INFO, "Object '%s' already has a Rigid Body Constraint", ob->id.name + 2); | ||||
| return false; | return false; | ||||
| } | } | ||||
| /* create constraint group if it doesn't already exits */ | /* create constraint group if it doesn't already exits */ | ||||
| if (rbw->constraints == NULL) { | if (rbw->constraints == NULL) { | ||||
| rbw->constraints = BKE_collection_add(bmain, NULL, "RigidBodyConstraints"); | rbw->constraints = BKE_collection_add(bmain, NULL, "RigidBodyConstraints"); | ||||
| id_fake_user_set(&rbw->constraints->id); | id_us_plus(&rbw->constraints->id); | ||||
| } | } | ||||
| /* make rigidbody constraint settings */ | /* make rigidbody constraint settings */ | ||||
| ob->rigidbody_constraint = BKE_rigidbody_create_constraint(scene, ob, type); | ob->rigidbody_constraint = BKE_rigidbody_create_constraint(scene, ob, type); | ||||
| /* add constraint to rigid body constraint group */ | /* add constraint to rigid body constraint group */ | ||||
| BKE_collection_object_add(bmain, rbw->constraints, ob); | BKE_collection_object_add(bmain, rbw->constraints, ob); | ||||
| DEG_relations_tag_update(bmain); | DEG_relations_tag_update(bmain); | ||||
| ▲ Show 20 Lines • Show All 107 Lines • Show Last 20 Lines | |||||