Example #1
0
 public CWorldRayPreFilterEventArgs(CBody pBody,
                                    object pUserData,
                                    CCollision pCollision)
 {
     m_Body      = pBody;
     m_UserData  = pUserData;
     m_Collision = pCollision;
 }
Example #2
0
 public int PointDistance(Vector3D pPoint, CCollision pCollision, Matrix3D pMatrix, Vector3D pContact, Vector3D pNormal)
 {
     return(Newton.NewtonCollisionPointDistance(m_World.Handle,
                                                new NewtonVector3(pPoint).NWVector3,
                                                m_Handle,
                                                new NewtonMatrix(pMatrix).NWMatrix,
                                                new NewtonVector3(pContact).NWVector3,
                                                new NewtonVector3(pNormal).NWVector3));
 }
Example #3
0
 public int PointDistance(Vector3D pPoint, CCollision pCollision, Matrix3D pMatrix, Vector3D pContact, Vector3D pNormal)
 {
     return Newton.NewtonCollisionPointDistance(m_World.Handle,
         new NewtonVector3(pPoint).NWVector3,
         m_Handle,
         new NewtonMatrix(pMatrix).NWMatrix,
         new NewtonVector3(pContact).NWVector3,
         new NewtonVector3(pNormal).NWVector3);
 }
Example #4
0
        public CBody(CCollision pCollision)
        {
            if (pCollision == null) throw new ArgumentNullException("pCollision");

            m_Collision = pCollision;
            m_Handle = Newton.NewtonCreateBody(m_Collision.World.Handle, m_Collision.Handle);

            CHashTables.Body.Add(m_Handle, this);
        }
Example #5
0
 public int ClosestPoint(CCollision pCollisionA, Matrix3D pMatrixA, CCollision pCollisionB, Matrix3D pMatrixB, Vector3D pContactA, Vector3D pContactB, Vector3D pNormalAB)
 {
     return Newton.NewtonCollisionClosestPoint(m_World.Handle,
         m_Handle,
         new NewtonMatrix(pMatrixA).NWMatrix,
         pCollisionB.m_Handle,
         new NewtonMatrix(pMatrixB).NWMatrix,
         new NewtonVector3(pContactA).NWVector3,
         new NewtonVector3(pContactB).NWVector3,
         new NewtonVector3(pNormalAB).NWVector3);
 }
Example #6
0
 public int ClosestPoint(CCollision pCollisionA, Matrix3D pMatrixA, CCollision pCollisionB, Matrix3D pMatrixB, Vector3D pContactA, Vector3D pContactB, Vector3D pNormalAB)
 {
     return(Newton.NewtonCollisionClosestPoint(m_World.Handle,
                                               m_Handle,
                                               new NewtonMatrix(pMatrixA).NWMatrix,
                                               pCollisionB.m_Handle,
                                               new NewtonMatrix(pMatrixB).NWMatrix,
                                               new NewtonVector3(pContactA).NWVector3,
                                               new NewtonVector3(pContactB).NWVector3,
                                               new NewtonVector3(pNormalAB).NWVector3));
 }
 protected virtual void Dispose(bool disposing)
 {
     if (disposing)
     {
         if (_collision != null)
         {
             _collision.Release();
             _collision = null;
         }
     }
 }
Example #8
0
        public CBody(CCollision pCollision)
        {
            if (pCollision == null)
            {
                throw new ArgumentNullException("pCollision");
            }

            m_Collision = pCollision;
            m_Handle    = Newton.NewtonCreateBody(m_Collision.World.Handle, m_Collision.Handle);

            CHashTables.Body.Add(m_Handle, this);
        }
Example #9
0
 public int Collide(IntPtr pNewtonWorld, int pMaxSize, Matrix3D pMatrixA, CCollision pCollisionB, Matrix3D pMatrixB, Vector3D pContacts, Vector3D pNormals, Vector3D pPenetration)
 {
     return Newton.NewtonCollisionCollide(m_World.Handle,
         pMaxSize,
         m_Handle,
         new NewtonMatrix(pMatrixA).NWMatrix,
         pCollisionB.m_Handle,
         new NewtonMatrix(pMatrixB).NWMatrix,
         new NewtonVector3(pContacts).NWVector3,
         new NewtonVector3(pNormals).NWVector3,
         new NewtonVector3(pPenetration).NWVector3);
 }
Example #10
0
 public int Collide(IntPtr pNewtonWorld, int pMaxSize, Matrix3D pMatrixA, CCollision pCollisionB, Matrix3D pMatrixB, Vector3D pContacts, Vector3D pNormals, Vector3D pPenetration)
 {
     return(Newton.NewtonCollisionCollide(m_World.Handle,
                                          pMaxSize,
                                          m_Handle,
                                          new NewtonMatrix(pMatrixA).NWMatrix,
                                          pCollisionB.m_Handle,
                                          new NewtonMatrix(pMatrixB).NWMatrix,
                                          new NewtonVector3(pContacts).NWVector3,
                                          new NewtonVector3(pNormals).NWVector3,
                                          new NewtonVector3(pPenetration).NWVector3));
 }
Example #11
0
        public void Initialise(World world)
        {
            if (_isInitialised)
                return;

            if (world == null) throw new ArgumentNullException("world");

            _world = world;
            _collision = OnInitialise();
            OnInitialiseEnd();
            _isInitialised = true;
        }
Example #12
0
        public int CollideContinue(int pMaxSize, float pTimestap, Matrix3D pMatrixA, Vector3D pVelocA, Vector3D pOmegaA, CCollision pCollisionB, Matrix3D pMatrixB, Vector3D pVelocB, Vector3D pOmegaB, float pTimeOfImpact, Vector3D pContacts, Vector3D pNormals, float[] pPenetration)
        {
            return Newton.NewtonCollisionCollideContinue(m_World.Handle,
                pMaxSize,
                pTimestap,
                m_Handle,
                new NewtonMatrix(pMatrixA).NWMatrix,
                new NewtonVector3(pVelocA).NWVector3,
                new NewtonVector3(pOmegaA).NWVector3,
                pCollisionB.m_Handle,
                new NewtonMatrix(pMatrixB).NWMatrix,
                new NewtonVector3(pVelocB).NWVector3,
                new NewtonVector3(pOmegaB).NWVector3,
                pTimeOfImpact,
                new NewtonVector3(pContacts).NWVector3,
                new NewtonVector3(pNormals).NWVector3,
                pPenetration);

        }
Example #13
0
 public int CollideContinue(int pMaxSize, float pTimestap, Matrix3D pMatrixA, Vector3D pVelocA, Vector3D pOmegaA, CCollision pCollisionB, Matrix3D pMatrixB, Vector3D pVelocB, Vector3D pOmegaB, float pTimeOfImpact, Vector3D pContacts, Vector3D pNormals, float[] pPenetration)
 {
     return(Newton.NewtonCollisionCollideContinue(m_World.Handle,
                                                  pMaxSize,
                                                  pTimestap,
                                                  m_Handle,
                                                  new NewtonMatrix(pMatrixA).NWMatrix,
                                                  new NewtonVector3(pVelocA).NWVector3,
                                                  new NewtonVector3(pOmegaA).NWVector3,
                                                  pCollisionB.m_Handle,
                                                  new NewtonMatrix(pMatrixB).NWMatrix,
                                                  new NewtonVector3(pVelocB).NWVector3,
                                                  new NewtonVector3(pOmegaB).NWVector3,
                                                  pTimeOfImpact,
                                                  new NewtonVector3(pContacts).NWVector3,
                                                  new NewtonVector3(pNormals).NWVector3,
                                                  pPenetration));
 }
Example #14
0
        public CWorldRayPreFilterEventArgs(CBody pBody,
			object pUserData,
			CCollision pCollision)
		{
			m_Body = pBody;
			m_UserData = pUserData;
			m_Collision = pCollision;
		}