BowlerKernel
PhysicsEngine.java
Go to the documentation of this file.
1 package com.neuronrobotics.bowlerstudio.physics;
2 
3 import java.io.File;
4 import java.io.IOException;
5 import java.util.ArrayList;
6 
7 import javax.vecmath.Matrix4f;
8 import javax.vecmath.Quat4f;
9 import javax.vecmath.Vector3f;
10 
11 import org.codehaus.groovy.transform.tailrec.TailRecursiveASTTransformation;
12 import org.eclipse.jgit.api.errors.GitAPIException;
13 import org.eclipse.jgit.api.errors.InvalidRemoteException;
14 import org.eclipse.jgit.api.errors.TransportException;
15 
16 import com.bulletphysics.collision.broadphase.BroadphaseInterface;
17 import com.bulletphysics.collision.broadphase.DbvtBroadphase;
18 import com.bulletphysics.collision.dispatch.CollisionDispatcher;
19 import com.bulletphysics.collision.dispatch.DefaultCollisionConfiguration;
20 import com.bulletphysics.collision.shapes.CollisionShape;
21 import com.bulletphysics.collision.shapes.StaticPlaneShape;
22 import com.bulletphysics.dynamics.DiscreteDynamicsWorld;
23 import com.bulletphysics.dynamics.RigidBody;
24 import com.bulletphysics.dynamics.RigidBodyConstructionInfo;
25 import com.bulletphysics.dynamics.constraintsolver.SequentialImpulseConstraintSolver;
26 import com.bulletphysics.linearmath.DefaultMotionState;
27 import com.bulletphysics.linearmath.Transform;
28 import com.neuronrobotics.bowlerstudio.scripting.ScriptingEngine;
29 import com.neuronrobotics.bowlerstudio.vitamins.Vitamins;
30 import com.neuronrobotics.sdk.util.ThreadUtil;
31 
32 import eu.mihosoft.vrl.v3d.CSG;
33 import eu.mihosoft.vrl.v3d.Sphere;
34 
35 import javafx.application.Platform;
36 
37 public class PhysicsEngine {
38 
39  private static PhysicsCore mainEngine;
40 
41  public static void startPhysicsThread(int ms) {
42  get().startPhysicsThread(ms);
43  }
44 
45  public static void stopPhysicsThread() {
46  get().stopPhysicsThread();
47  }
48 
49  public static void step(float timeStep) {
50  get().step(timeStep);
51  }
52 
53  public static void stepMs(double timeStep) {
54  get().stepMs(timeStep);
55  }
56 
57  public static void add(IPhysicsManager manager) {
58  get().add(manager);
59  }
60 
61  public static void remove(IPhysicsManager manager) {
62  get().remove(manager);
63  }
64 
65  public static void clear() {
66  get().clear();
67  mainEngine = null;
68 
69  }
70 
71  public static PhysicsCore get() {
72  if (mainEngine == null) {
73  try {
74  mainEngine = new PhysicsCore();
75  } catch (Exception e) {
76  // TODO Auto-generated catch block
77  e.printStackTrace();
78  }
79  }
80  return mainEngine;
81 
82  }
83 
84  public static ArrayList<CSG> getCsgFromEngine() {
85 
87  }
88 
89 
90 }
static void add(IPhysicsManager manager)