public bool GetMasterPosition(out Vector3 masterOrigin, out Matrix masterAxis)
{
if(this.Disposed == true)
{
throw new ObjectDisposedException(this.GetType().Name);
}
Vector3 localOrigin;
Matrix localAxis;
idConsole.Warning("TODO: idEntity.GetMasterPosition");
// TODO
/*idAnimator *masterAnimator;
if ( bindMaster ) {
// if bound to a joint of an animated model
if ( bindJoint != INVALID_JOINT ) {
masterAnimator = bindMaster->GetAnimator();
if ( !masterAnimator ) {
masterOrigin = vec3_origin;
masterAxis = mat3_identity;
return false;
} else {
masterAnimator->GetJointTransform( bindJoint, gameLocal.time, masterOrigin, masterAxis );
masterAxis *= bindMaster->renderEntity.axis;
masterOrigin = bindMaster->renderEntity.origin + masterOrigin * bindMaster->renderEntity.axis;
}
} else if ( bindBody >= 0 && bindMaster->GetPhysics() ) {
masterOrigin = bindMaster->GetPhysics()->GetOrigin( bindBody );
masterAxis = bindMaster->GetPhysics()->GetAxis( bindBody );
} else {
masterOrigin = bindMaster->renderEntity.origin;
masterAxis = bindMaster->renderEntity.axis;
}
return true;
}
else*/
{
masterOrigin = Vector3.Zero;
masterAxis = Matrix.Identity;
return false;
}
}