static void convertLTMs(Frame* frame) { frame->LTM._13 *= -1; frame->LTM._23 *= -1; frame->LTM._33 *= -1; frame->LTM._43 *= -1; Vector at; D3DXVec3Cross( &at, &dxRight( &frame->LTM ), &dxUp( &frame->LTM ) ); frame->LTM._31 = at.x, frame->LTM._32 = at.y, frame->LTM._33 = at.z; if( frame->pFrameSibling ) convertLTMs( static_cast<Frame*>( frame->pFrameSibling ) ); if( frame->pFrameFirstChild ) convertLTMs( static_cast<Frame*>( frame->pFrameFirstChild ) ); }
Vector3f Frame::getRight(void) { if( isDirty() ) synchronizeSafe(); return wrap( dxRight( <M ) ); }