예제 #1
0
    def make_dynamic_angular(self, restore_speed=True):
        '''Resgata os parâmetros dinâmicos angulares de um objeto estático ou
        cinemático paralizado pelos métodos `obj.make_static()` ou
        `obj.make_kinematic()`.'''

        if not self.is_dynamic_angular():
            self._inertia = 1.0 / (self._density * self.ROG_sqr())

            # Resgata a velocidade
            if restore_speed and self._omega == 0:
                self._omega = popattr(self, '_old_omega', 0.0)
예제 #2
0
    def make_dynamic_linear(self, restore_speed=True):
        '''Resgata os parâmetros dinâmicos lineares de um objeto estático ou
        cinemático paralizado pelos métodos `obj.make_static()` ou
        `obj.make_kinematic()`.'''

        if not self.is_dynamic_linear():
            self._invmass = 1.0 / (self.area() * self._density)

            # Resgata a velocidade
            if restore_speed and self._vel.is_null():
                self._vel = popattr(self, '_old_vel', null2D)