MStatus nailConstraintNode::compute(const MPlug& plug, MDataBlock& data) { //std::cout << "nailConstraintNode::compute: " << plug.name() << std::endl; //MTime time = data.inputValue( nailConstraintNode::inTime ).asTime(); if(plug == ca_constraint) { computeConstraint(plug, data); } else if(plug == ca_constraintParam) { computeConstraintParam(plug, data); } else if(plug.isElement()) { if(plug.array() == worldMatrix && plug.logicalIndex() == 0) { computeWorldMatrix(plug, data); } else { return MStatus::kUnknownParameter; } } else { return MStatus::kUnknownParameter; } return MStatus::kSuccess; }
MStatus rigidBodyNode::compute(const MPlug& plug, MDataBlock& data) { // std::cout << "rigidBodyNode::compute | plug " << plug.name() << std::endl; //MTime time = data.inputValue( rigidBodyNode::inTime ).asTime(); if(plug == ca_rigidBody) { computeRigidBody(plug, data); } else if(plug == ca_rigidBodyParam) { computeRigidBodyParam(plug, data); } else if(plug == ca_solver) { data.inputValue(ia_solver).asBool(); } else if(plug.isElement()) { if(plug.array() == worldMatrix && plug.logicalIndex() == 0) { computeWorldMatrix(plug, data); } else { return MStatus::kUnknownParameter; } } else { return MStatus::kUnknownParameter; } return MStatus::kSuccess; }