2010-09-09 19:41:14 +00:00
/********************************************************************************
* ReactPhysics3D physics library , http : //code.google.com/p/reactphysics3d/ *
* Copyright ( c ) 2010 Daniel Chappuis *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* *
* Permission is hereby granted , free of charge , to any person obtaining a copy *
* of this software and associated documentation files ( the " Software " ) , to deal *
* in the Software without restriction , including without limitation the rights *
* to use , copy , modify , merge , publish , distribute , sublicense , and / or sell *
* copies of the Software , and to permit persons to whom the Software is *
* furnished to do so , subject to the following conditions : *
* *
* The above copyright notice and this permission notice shall be included in *
* all copies or substantial portions of the Software . *
* *
* THE SOFTWARE IS PROVIDED " AS IS " , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR *
* IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY , *
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE *
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER *
* LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM , *
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN *
* THE SOFTWARE . *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2009-07-02 21:21:19 +00:00
# ifndef NARROWPHASEALGORITHM_H
# define NARROWPHASEALGORITHM_H
2009-07-03 12:16:28 +00:00
// Libraries
# include "../body/BoundingVolume.h"
2010-04-06 16:45:48 +00:00
# include "ContactInfo.h"
2009-07-03 12:16:28 +00:00
2009-07-02 21:21:19 +00:00
// Namespace ReactPhysics3D
namespace reactphysics3d {
/* -------------------------------------------------------------------
Class NarrowPhaseAlgorithm :
This class is an abstract class that represents an algorithm
used to perform the narrow phase of a collision detection . The
goal of the narrow phase algorithm is to compute contact
informations of a collision between two bodies .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
*/
class NarrowPhaseAlgorithm {
private :
public :
NarrowPhaseAlgorithm ( ) ; // Constructor
virtual ~ NarrowPhaseAlgorithm ( ) ; // Destructor
2009-07-21 20:29:37 +00:00
2010-04-06 16:45:48 +00:00
virtual bool testCollision ( const BoundingVolume * const boundingVolume1 , const BoundingVolume * const boundingVolume2 , ContactInfo * & contactInfo ) = 0 ; // Return true and compute a contact info if the two bounding volume collide
2009-07-02 21:21:19 +00:00
} ;
} // End of reactphysics3d namespace
# endif