ya2 · news · projects · code · about

dds and bam
[pmachines.git] / pmachines / items / teetertooter.py
1 from panda3d.core import TransformState
2 from panda3d.bullet import BulletCylinderShape, BulletRigidBodyNode, BulletGhostNode, YUp, ZUp
3 from pmachines.items.item import Item
4
5
6 class TeeterTooter(Item):
7
8 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):
9 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)
10
11 def _set_shape(self, apply_scale=True):
12 scale = self._model_scale if apply_scale else 1
13 self.node.add_shape(
14 BulletCylinderShape(.1, 1.6, YUp),
15 TransformState.makePos((0, 0, scale * .36)))
16 self.node.add_shape(
17 BulletCylinderShape(.1, .7, ZUp),
18 TransformState.makePos((0, scale * .8, scale * -.1)))
19 self.node.add_shape(
20 BulletCylinderShape(.1, .7, ZUp),
21 TransformState.makePos((0, scale * -.8, scale * -.1)))