Esempio n. 1
0
		public void CheckValid()
		{
			// Some basic tests to make sure the CheckValid function is being called

			ClothDescription clothDesc = new ClothDescription();

			Assert.AreEqual( 2, clothDesc.CheckValid() );
			Assert.AreEqual( 2, ((Description)clothDesc).CheckValid() );

			//

			SphericalJointDescription sphericalJointDesc = new SphericalJointDescription();

			Assert.AreEqual( 1, sphericalJointDesc.CheckValid() );
			Assert.AreEqual( 1, ((JointDescription)sphericalJointDesc).CheckValid() );
			Assert.AreEqual( 1, ((Description)sphericalJointDesc).CheckValid() );
		}
Esempio n. 2
0
        public void CheckValid()
        {
            // Some basic tests to make sure the CheckValid function is being called

            ClothDescription clothDesc = new ClothDescription();

            Assert.AreEqual(2, clothDesc.CheckValid());
            Assert.AreEqual(2, ((Description)clothDesc).CheckValid());

            //

            SphericalJointDescription sphericalJointDesc = new SphericalJointDescription();

            Assert.AreEqual(1, sphericalJointDesc.CheckValid());
            Assert.AreEqual(1, ((JointDescription)sphericalJointDesc).CheckValid());
            Assert.AreEqual(1, ((Description)sphericalJointDesc).CheckValid());
        }
Esempio n. 3
0
        internal SphericalJoint(PhysXSimulator simulator, SphericalJointDescriptor descriptor)
        {
            Actor wrappedActorA = ((RigidBody)descriptor.RigidBodyA).WrappedActor;

            if (!wrappedActorA.IsDynamic)
            {
                var vector4 = GMath.mul(new Vector4(descriptor.AnchorPositionALocal, 1), descriptor.RigidBodyA.Pose);
                descriptor.AnchorPositionALocal = new Vector3(vector4.X, vector4.Y, vector4.Z);
                wrappedActorA = null;
            }


            Actor wrappedActorB = ((RigidBody)descriptor.RigidBodyB).WrappedActor;

            if (!wrappedActorB.IsDynamic)
            {
                var vector4 = GMath.mul(new Vector4(descriptor.AnchorPositionBLocal, 1), descriptor.RigidBodyB.Pose);
                descriptor.AnchorPositionBLocal = new Vector3(vector4.X, vector4.Y, vector4.Z);
                wrappedActorB = null;
            }

            var sphericalJointDescription = new SphericalJointDescription
            {
                Actor1       = wrappedActorA,
                Actor2       = wrappedActorB,
                LocalAnchor1 = descriptor.AnchorPositionALocal.ToPhysX(),
                LocalAnchor2 = descriptor.AnchorPositionBLocal.ToPhysX(),
                JointFlags   = JointFlag.CollisionEnabled
            };

            _wrappedSphericalJoint = (PX.SphericalJoint)simulator._wrappedScene.CreateJoint(sphericalJointDescription);
            _rigidBodyA            = descriptor.RigidBodyA;
            _rigidBodyB            = descriptor.RigidBodyB;
            _anchorPositionALocal  = descriptor.AnchorPositionALocal;
            _anchorPositionBLocal  = descriptor.AnchorPositionBLocal;
            UserData = descriptor.UserData;
        }
 public PhysxSphericalJoint(SphericalJointDescription SphericalJointDescription)
 {
     this.SphericalJointDescription = SphericalJointDescription;
 }
Esempio n. 5
0
 public PhysxSphericalJoint(SphericalJointDescription SphericalJointDescription)
 {
     this.SphericalJointDescription = SphericalJointDescription;
 }