ya2 · news · projects · code · about

renamed modules
[pmachines.git] / pmachines / items / teetertooter.py
diff --git a/pmachines/items/teetertooter.py b/pmachines/items/teetertooter.py
new file mode 100644 (file)
index 0000000..20adfb9
--- /dev/null
@@ -0,0 +1,21 @@
+from panda3d.core import TransformState
+from panda3d.bullet import BulletCylinderShape, BulletRigidBodyNode, BulletGhostNode, YUp, ZUp
+from pmachines.items.item import Item
+
+
+class TeeterTooter(Item):
+
+    def __init__(self, world, plane_node, cb_inst, curr_bottom, repos, mass=1, pos=(0, 0, 0), r=0, count=0, restitution=.5, friction=.5):
+        super().__init__(world, plane_node, cb_inst, curr_bottom, repos, 'assets/models/bam/teeter_tooter/teeter_tooter.bam', exp_num_contacts=2, mass=mass, pos=pos, r=r, count=count, restitution=restitution, friction=friction, model_scale=.5)
+
+    def _set_shape(self, apply_scale=True):
+        scale = self._model_scale if apply_scale else 1
+        self.node.add_shape(
+            BulletCylinderShape(.1, 1.6, YUp),
+            TransformState.makePos((0, 0, scale * .36)))
+        self.node.add_shape(
+            BulletCylinderShape(.1, .7, ZUp),
+            TransformState.makePos((0, scale * .8, scale * -.1)))
+        self.node.add_shape(
+            BulletCylinderShape(.1, .7, ZUp),
+            TransformState.makePos((0, scale * -.8, scale * -.1)))