Logo Search packages:      
Sourcecode: blender version File versions  Download package

ContinuousConvexCollision.h

/*
 * Copyright (c) 2005 Erwin Coumans http://continuousphysics.com/Bullet/
 *
 * Permission to use, copy, modify, distribute and sell this software
 * and its documentation for any purpose is hereby granted without fee,
 * provided that the above copyright notice appear in all copies.
 * Erwin Coumans makes no representations about the suitability 
 * of this software for any purpose.  
 * It is provided "as is" without express or implied warranty.
*/

#ifndef CONTINUOUS_COLLISION_CONVEX_CAST_H
#define CONTINUOUS_COLLISION_CONVEX_CAST_H

#include "ConvexCast.h"
#include "SimplexSolverInterface.h"
class ConvexPenetrationDepthSolver;
class ConvexShape;

/// ContinuousConvexCollision implements angular and linear time of impact for convex objects.
/// Based on Brian Mirtich's Conservative Advancement idea (PhD thesis).
/// Algorithm operates in worldspace, in order to keep inbetween motion globally consistent.
/// It uses GJK at the moment. Future improvement would use minkowski sum / supporting vertex, merging innerloops
00024 class ContinuousConvexCollision : public ConvexCast
{
      SimplexSolverInterface* m_simplexSolver;
      ConvexPenetrationDepthSolver* m_penetrationDepthSolver;
      ConvexShape*      m_convexA;
      ConvexShape*      m_convexB;


public:

      ContinuousConvexCollision (ConvexShape*   shapeA,ConvexShape*     shapeB ,SimplexSolverInterface* simplexSolver,ConvexPenetrationDepthSolver* penetrationDepthSolver);

      virtual bool      calcTimeOfImpact(
                        const SimdTransform& fromA,
                        const SimdTransform& toA,
                        const SimdTransform& fromB,
                        const SimdTransform& toB,
                        CastResult& result);


};

#endif //CONTINUOUS_COLLISION_CONVEX_CAST_H


Generated by  Doxygen 1.6.0   Back to index