OpenSim.Region.Framework.Scenes.SceneObjectPart.SendScheduledUpdates C# (CSharp) Method

SendScheduledUpdates() public method

Tell all the prims which have had updates scheduled
public SendScheduledUpdates ( ) : void
return void
        public void SendScheduledUpdates()
        {
            const float ROTATION_TOLERANCE = 0.01f;
            const float VELOCITY_TOLERANCE = 0.001f;
            const float POSITION_TOLERANCE = 0.05f;
            const int TIME_MS_TOLERANCE = 3000;

            if (m_updateFlag == 1)
            {
                // Throw away duplicate or insignificant updates
                if (!RotationOffset.ApproxEquals(m_lastRotation, ROTATION_TOLERANCE) ||
                    !Acceleration.Equals(m_lastAcceleration) ||
                    !Velocity.ApproxEquals(m_lastVelocity, VELOCITY_TOLERANCE) ||
                    Velocity.ApproxEquals(Vector3.Zero, VELOCITY_TOLERANCE) ||
                    !AngularVelocity.ApproxEquals(m_lastAngularVelocity, VELOCITY_TOLERANCE) ||
                    !OffsetPosition.ApproxEquals(m_lastPosition, POSITION_TOLERANCE) ||
                    Environment.TickCount - m_lastTerseSent > TIME_MS_TOLERANCE)
                {
                    AddTerseUpdateToAllAvatars();
                    ClearUpdateSchedule();

                    // This causes the Scene to 'poll' physical objects every couple of frames
                    // bad, so it's been replaced by an event driven method.
                    //if ((ObjectFlags & (uint)PrimFlags.Physics) != 0)
                    //{
                    // Only send the constant terse updates on physical objects!
                    //ScheduleTerseUpdate();
                    //}

                    // Update the "last" values
                    m_lastPosition = OffsetPosition;
                    m_lastRotation = RotationOffset;
                    m_lastVelocity = Velocity;
                    m_lastAcceleration = Acceleration;
                    m_lastAngularVelocity = AngularVelocity;
                    m_lastTerseSent = Environment.TickCount;
                }
            }
            else
            {
                if (m_updateFlag == 2) // is a new prim, just created/reloaded or has major changes
                {
                    AddFullUpdateToAllAvatars();
                    ClearUpdateSchedule();
                }
            }
            ClearUpdateSchedule();
        }
SceneObjectPart