void ProxyEntity::updateLocation(const TimedMotionVector3f &newLocation, const TimedMotionQuaternion& newOrient, const BoundingSphere3f& newBounds) { SILOG(ogre,detailed,"UpdateLocation "<<this<<" to "<<newLocation.position()<<"; "<<newOrient.position()); setOgrePosition(Vector3d(newLocation.position())); setOgreOrientation(newOrient.position()); updateScale( newBounds.radius() ); checkDynamic(); }
void ProxyObject::setOrientation(const TimedMotionQuaternion& reqorient, uint64 seqno, bool predictive) { if (seqno < mUpdateSeqno[LOC_ORIENT_PART] && !predictive) return; if (!predictive) mUpdateSeqno[LOC_ORIENT_PART] = seqno; mOrientation = TimedMotionQuaternion(reqorient.time(), MotionQuaternion(reqorient.position(), reqorient.velocity())); PositionProvider::notify(&PositionListener::updateLocation, mLoc, mOrientation, mBounds); }
void ProxyEntity::iUpdateLocation( ProxyObjectPtr proxy, const TimedMotionVector3f &newLocation, const TimedMotionQuaternion& newOrient, const BoundingSphere3f& newBounds, const SpaceObjectReference& sporef, Liveness::Token lt) { if (!lt) return; assert(proxy == mProxy); SILOG(ogre,detailed,"UpdateLocation "<<this<<" to "<<newLocation.position()<<"; "<<newOrient.position()); setOgrePosition(Vector3d(newLocation.position())); setOgreOrientation(newOrient.position()); updateScale( newBounds.radius() ); checkDynamic(); }