Examples of RigidBody


Examples of com.bulletphysics.dynamics.RigidBody

      dynamicsWorld.debugDrawWorld();
    }

    for (int i=2; i>=0; i--) {
      CollisionObject obj = dynamicsWorld.getCollisionObjectArray().getQuick(i);
      RigidBody body = RigidBody.upcast(obj);
      drawFrame(body.getWorldTransform(new Transform()));
    }
   
    renderme();

    //glFlush();
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

    startTransform.origin.set(0f, 25f, -200f);
    staticScenario.addChildShape(startTransform, staticboxShape5);

    startTransform.origin.set(0f, 0f, 0f);

    RigidBody staticBody = localCreateRigidBody(mass, startTransform, staticScenario);

    staticBody.setCollisionFlags(staticBody.getCollisionFlags() | CollisionFlags.STATIC_OBJECT);

    // enable custom material callback
    //staticBody.setCollisionFlags(staticBody.getCollisionFlags() | CollisionFlags.CUSTOM_MATERIAL_CALLBACK);

    // static plane
    Vector3f normal = new Vector3f(0.4f, 1.5f, -0.4f);
    normal.normalize();
    CollisionShape staticplaneShape6 = new StaticPlaneShape(normal, 0f); // A plane

    startTransform.origin.set(0f, 0f, 0f);

    RigidBody staticBody2 = localCreateRigidBody(mass, startTransform, staticplaneShape6);

    staticBody2.setCollisionFlags(staticBody2.getCollisionFlags() | CollisionFlags.STATIC_OBJECT);

    for (int i=0; i<9; i++) {
      CollisionShape boxShape = new BoxShape(new Vector3f(1f, 1f, 1f));
      startTransform.origin.set(2f * i - 5f, 2f, -3f);
      localCreateRigidBody(1, startTransform, boxShape);
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

      Transform startTransform = new Transform();
      startTransform.setIdentity();
      Vector3f camPos = getCameraPosition();
      startTransform.origin.set(camPos);

      RigidBody body = localCreateRigidBody(mass, startTransform, trimeshShape);

      Vector3f linVel = new Vector3f(destination.x - camPos.x, destination.y - camPos.y, destination.z - camPos.z);
      linVel.normalize();
      linVel.scale(ShootBoxInitialSpeed * 0.25f);

      Transform tr = new Transform();
      tr.origin.set(camPos);
      tr.setRotation(new Quat4f(0f, 0f, 0f, 1f));
      body.setWorldTransform(tr);

      body.setLinearVelocity(linVel);
      body.setAngularVelocity(new Vector3f(0f, 0f, 0f));
    }
  }
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

      shape.calculateLocalInertia(mass, localInertia);
    }

    DefaultMotionState myMotionState = new DefaultMotionState(startTransform);
    RigidBodyConstructionInfo rbInfo = new RigidBodyConstructionInfo(mass, myMotionState, shape, localInertia);
    RigidBody body = new RigidBody(rbInfo);

    ownerWorld.addRigidBody(body);

    return body;
  }
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

        int numObj = getDynamicsWorld().getNumCollisionObjects();
        if (numObj != 0) {
          CollisionObject obj = getDynamicsWorld().getCollisionObjectArray().getQuick(numObj - 1);

          getDynamicsWorld().removeCollisionObject(obj);
          RigidBody body = RigidBody.upcast(obj);
          if (body != null && body.getMotionState() != null) {
            //delete body->getMotionState();
          }
          //delete obj;
        }
        break;
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

        //#else
        shootBoxShape = new BoxShape(new Vector3f(1f, 1f, 1f));
        //#endif//
      }

      RigidBody body = this.localCreateRigidBody(mass, startTransform, shootBoxShape);

      Vector3f linVel = new Vector3f(destination.x - camPos.x, destination.y - camPos.y, destination.z - camPos.z);
      linVel.normalize();
      linVel.scale(ShootBoxInitialSpeed);

      Transform worldTrans = body.getWorldTransform(new Transform());
      worldTrans.origin.set(camPos);
      worldTrans.setRotation(new Quat4f(0f, 0f, 0f, 1f));
      body.setWorldTransform(worldTrans);
     
      body.setLinearVelocity(linVel);
      body.setAngularVelocity(new Vector3f(0f, 0f, 0f));

      body.setCcdMotionThreshold(1f);
      body.setCcdSweptSphereRadius(0.2f);
    }
  }
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

          // apply an impulse
          if (dynamicsWorld != null) {
            CollisionWorld.ClosestRayResultCallback rayCallback = new CollisionWorld.ClosestRayResultCallback(cameraPosition, rayTo);
            dynamicsWorld.rayTest(cameraPosition, rayTo, rayCallback);
            if (rayCallback.hasHit()) {
              RigidBody body = RigidBody.upcast(rayCallback.collisionObject);
              if (body != null) {
                body.setActivationState(CollisionObject.ACTIVE_TAG);
                Vector3f impulse = new Vector3f(rayTo);
                impulse.normalize();
                float impulseStrength = 10f;
                impulse.scale(impulseStrength);
                Vector3f relPos = new Vector3f();
                relPos.sub(rayCallback.hitPointWorld, body.getCenterOfMassPosition(new Vector3f()));
                body.applyImpulse(impulse, relPos);
              }
            }
          }
        }
        else {
        }
        break;
      }
      case 0: {
        if (state == 0) {
          // add a point to point constraint for picking
          if (dynamicsWorld != null) {
            CollisionWorld.ClosestRayResultCallback rayCallback = new CollisionWorld.ClosestRayResultCallback(cameraPosition, rayTo);
            dynamicsWorld.rayTest(cameraPosition, rayTo, rayCallback);
            if (rayCallback.hasHit()) {
              RigidBody body = RigidBody.upcast(rayCallback.collisionObject);
              if (body != null) {
                // other exclusions?
                if (!(body.isStaticObject() || body.isKinematicObject())) {
                  pickedBody = body;
                  pickedBody.setActivationState(CollisionObject.DISABLE_DEACTIVATION);

                  Vector3f pickPos = new Vector3f(rayCallback.hitPointWorld);

                  Transform tmpTrans = body.getCenterOfMassTransform(new Transform());
                  tmpTrans.inverse();
                  Vector3f localPivot = new Vector3f(pickPos);
                  tmpTrans.transform(localPivot);

                  Point2PointConstraint p2p = new Point2PointConstraint(body, localPivot);
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

    //#ifdef USE_MOTIONSTATE
    DefaultMotionState myMotionState = new DefaultMotionState(startTransform);
   
    RigidBodyConstructionInfo cInfo = new RigidBodyConstructionInfo(mass, myMotionState, shape, localInertia);
   
    RigidBody body = new RigidBody(cInfo);
    //#else
    //btRigidBody* body = new btRigidBody(mass,0,shape,localInertia); 
    //body->setWorldTransform(startTransform);
    //#endif//
   
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

    if (dynamicsWorld != null) {
      int numObjects = dynamicsWorld.getNumCollisionObjects();
      wireColor.set(1f, 0f, 0f);
      for (int i = 0; i < numObjects; i++) {
        CollisionObject colObj = dynamicsWorld.getCollisionObjectArray().getQuick(i);
        RigidBody body = RigidBody.upcast(colObj);

        if (body != null && body.getMotionState() != null) {
          DefaultMotionState myMotionState = (DefaultMotionState) body.getMotionState();
          m.set(myMotionState.graphicsWorldTrans);
        }
        else {
          colObj.getWorldTransform(m);
        }
View Full Code Here

Examples of com.bulletphysics.dynamics.RigidBody

      numObjects = dynamicsWorld.getNumCollisionObjects();
    }

    for (int i = 0; i < numObjects; i++) {
      CollisionObject colObj = dynamicsWorld.getCollisionObjectArray().getQuick(i);
      RigidBody body = RigidBody.upcast(colObj);
      if (body != null) {
        if (body.getMotionState() != null) {
          DefaultMotionState myMotionState = (DefaultMotionState) body.getMotionState();
          myMotionState.graphicsWorldTrans.set(myMotionState.startWorldTrans);
          colObj.setWorldTransform(myMotionState.graphicsWorldTrans);
          colObj.setInterpolationWorldTransform(myMotionState.startWorldTrans);
          colObj.activate();
        }
        // removed cached contact points
        dynamicsWorld.getBroadphase().getOverlappingPairCache().cleanProxyFromPairs(colObj.getBroadphaseHandle(), getDynamicsWorld().getDispatcher());

        body = RigidBody.upcast(colObj);
        if (body != null && !body.isStaticObject()) {
          RigidBody.upcast(colObj).setLinearVelocity(new Vector3f(0f, 0f, 0f));
          RigidBody.upcast(colObj).setAngularVelocity(new Vector3f(0f, 0f, 0f));
        }
      }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.