当前位置: 首页>>代码示例>>C#>>正文


C# AuroraODEPrim.RequestPhysicsterseUpdate方法代码示例

本文整理汇总了C#中Aurora.Physics.AuroraOpenDynamicsEngine.AuroraODEPrim.RequestPhysicsterseUpdate方法的典型用法代码示例。如果您正苦于以下问题:C# AuroraODEPrim.RequestPhysicsterseUpdate方法的具体用法?C# AuroraODEPrim.RequestPhysicsterseUpdate怎么用?C# AuroraODEPrim.RequestPhysicsterseUpdate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Aurora.Physics.AuroraOpenDynamicsEngine.AuroraODEPrim的用法示例。


在下文中一共展示了AuroraODEPrim.RequestPhysicsterseUpdate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Step

        internal void Step(IntPtr pBody, float pTimestep, AuroraODEPhysicsScene pParentScene, AuroraODEPrim parent)
        {
            m_body = pBody;
            if (pBody == IntPtr.Zero || m_type == Vehicle.TYPE_NONE)
                return;
            if (!d.BodyIsEnabled(Body))
                d.BodyEnable(Body);

            frcount++;  // used to limit debug comment output
            if (frcount > 100)
                frcount = 0;

            MoveLinear(pTimestep, pParentScene);
            MoveAngular(pTimestep, pParentScene);
            LimitRotation(pTimestep);

            /*if (!parent.m_angularlock.ApproxEquals(Vector3.One, 0.003f) &&
                                parent.Amotor != IntPtr.Zero)
            {
                d.JointSetAMotorParam(Amotor, (int)dParam.LowStop, -0f);
                d.JointSetAMotorParam(Amotor, (int)dParam.LoStop3, -0f);
                d.JointSetAMotorParam(Amotor, (int)dParam.LoStop2, -0f);
                d.JointSetAMotorParam(Amotor, (int)dParam.HiStop, 0f);
                d.JointSetAMotorParam(Amotor, (int)dParam.HiStop3, 0f);
                d.JointSetAMotorParam(Amotor, (int)dParam.HiStop2, 0f);
                d.JointSetAMotorParam(Amotor, (int)dParam.Vel, 9000f);
                d.JointSetAMotorParam(Amotor, (int)dParam.FudgeFactor, 0f);
                d.JointSetAMotorParam(Amotor, (int)dParam.FMax, int.MaxValue);
                d.Vector3 avel2 = d.BodyGetAngularVel(Body);

                if (parent.m_angularlock.X == 0)
                    avel2.X = 0;
                if (parent.m_angularlock.Y == 0)
                    avel2.Y = 0;
                if (parent.m_angularlock.Z == 0)
                    avel2.Z = 0;
                d.BodySetAngularVel(Body, avel2.X, avel2.Y, avel2.Z);
                d.BodySetAngularDamping(Body, 1);
                d.BodySetTorque(Body, 0, 0, 0);
            }*/

            // WE deal with updates
            parent.RequestPhysicsterseUpdate();
        }   // end Step
开发者ID:kow,项目名称:Aurora-Sim,代码行数:44,代码来源:AODEDynamics.cs

示例2: Step

        internal void Step(IntPtr pBody, float pTimestep, AuroraODEPhysicsScene pParentScene, AuroraODEPrim parent)
        {
            m_body = pBody;
            if (pBody == IntPtr.Zero || m_type == Vehicle.TYPE_NONE)
                return;
            if (!d.BodyIsEnabled(Body))
                d.BodyEnable(Body);

            frcount++;  // used to limit debug comment output
            if (frcount > 100)
                frcount = 0;

            MoveLinear(pTimestep, pParentScene);
            MoveAngular(pTimestep, pParentScene);
            LimitRotation(pTimestep);

            // WE deal with updates
            parent.RequestPhysicsterseUpdate();
        }   // end Step
开发者ID:x8ball,项目名称:Aurora-Sim,代码行数:19,代码来源:AODEDynamics.cs

示例3: SendUpdate

 private void SendUpdate (AuroraODEPrim parent)
 {
     // WE deal with updates
     if(m_linearZeroFlag && m_angularZeroFlag)
     {
         if(m_sentZeroFlag > 0)
         {
             parent.ForceSetVelocity(Vector3.Zero);
             parent.ForceSetRotVelocity(Vector3.Zero);
             m_sentZeroFlag--;
             parent.RequestPhysicsterseUpdate();
         }
     }
     else
     {
         if(!m_lastVelocity.ApproxEquals(parent.Velocity, 0.1f) ||
             !m_lastAngVelocity.ApproxEquals(parent.RotationalVelocity, 0.1f))
         {
             m_lastVelocity = parent.Velocity;
             m_lastAngVelocity = parent.RotationalVelocity;
             m_sentZeroFlag = 5;
         }
         else
         {
         }
     }
 }
开发者ID:chazzmac,项目名称:Aurora-Sim,代码行数:27,代码来源:AODEDynamics.cs


注:本文中的Aurora.Physics.AuroraOpenDynamicsEngine.AuroraODEPrim.RequestPhysicsterseUpdate方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。