title: Box2d Collision Impulses
body: <p>I would like to use the impulse of a collision in order to calculate the damage each object in the collision undertakes. So far I have the following:</p>
  
  <pre><code>void FMContactListener::PostSolve(b2Contact* contact, const b2ContactImpulse* impulse) {
  
      // Can be up to 2 for polygon collision
      int count = contact-&gt;GetManifold()-&gt;pointCount;
  
      // My two sprites in the collision
      CCSprite *spriteA = (CCSprite*)contact-&gt;GetFixtureA()-&gt;GetBody()-&gt;GetUserData();
      CCSprite *spriteB = (CCSprite*)contact-&gt;GetFixtureB()-&gt;GetBody()-&gt;GetUserData();
  
      for (int i = 0; i &lt; count; ++i) {
          b2ManifoldPoint point = contact-&gt;GetManifold()-&gt;points[i];
          // This is the impulse at this point
          float impulse = point.normalImpulse;
      }
  }
  </code></pre>
  
  <p>This gives me the impulse at each call to PostSolve for each point in the collision.</p>
  
  <p>I'm no physics student, but doesn't each object have their own impulse as the change in its momentum over the time of the box2d step (say 1/60th of a second)? If I'm getting a single impulse from the collision of two objects, what does this imply?</p>