Changeset View
Changeset View
Standalone View
Standalone View
source/blender/depsgraph/intern/builder/deg_builder_relations_rig.cc
| Show First 20 Lines • Show All 62 Lines • ▼ Show 20 Lines | |||||
| namespace DEG { | namespace DEG { | ||||
| /* IK Solver Eval Steps */ | /* IK Solver Eval Steps */ | ||||
| void DepsgraphRelationBuilder::build_ik_pose(Object *object, | void DepsgraphRelationBuilder::build_ik_pose(Object *object, | ||||
| bPoseChannel *pchan, | bPoseChannel *pchan, | ||||
| bConstraint *con, | bConstraint *con, | ||||
| RootPChanMap *root_map) | RootPChanMap *root_map) | ||||
| { | { | ||||
| if ((con->flag & CONSTRAINT_DISABLE) != 0) { | |||||
| /* Do not add disabled IK constraints to the relations. If these needs to be temporarly | |||||
| * enabled, they will be added as temporary constraints during transform. */ | |||||
| return; | |||||
| } | |||||
| bKinematicConstraint *data = (bKinematicConstraint *)con->data; | bKinematicConstraint *data = (bKinematicConstraint *)con->data; | ||||
| /* Attach owner to IK Solver to. */ | /* Attach owner to IK Solver to. */ | ||||
| bPoseChannel *rootchan = BKE_armature_ik_solver_find_root(pchan, data); | bPoseChannel *rootchan = BKE_armature_ik_solver_find_root(pchan, data); | ||||
| if (rootchan == nullptr) { | if (rootchan == nullptr) { | ||||
| return; | return; | ||||
| } | } | ||||
| OperationKey pchan_local_key( | OperationKey pchan_local_key( | ||||
| &object->id, NodeType::BONE, pchan->name, OperationCode::BONE_LOCAL); | &object->id, NodeType::BONE, pchan->name, OperationCode::BONE_LOCAL); | ||||
| ▲ Show 20 Lines • Show All 428 Lines • Show Last 20 Lines | |||||