Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 8, 2009, 12:58:47 AM (16 years ago)
Author:
dafrick
Message:

Reverted to revision 2906 (because I'm too stupid to merge correctly, 2nd try will follow shortly. ;))

Location:
code/branches/questsystem5
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • code/branches/questsystem5

  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btContinuousConvexCollision.cpp

    r2907 r2908  
    136136                        //btScalar clippedDist  = dist;
    137137                       
    138                         //don't report time of impact for motion away from the contact normal (or causes minor penetration)
    139                         if ((projectedLinearVelocity+ maxAngularProjectedVelocity)<=SIMD_EPSILON)
    140                                 return false;
    141138                       
    142139                        dLambda = dist / (projectedLinearVelocity+ maxAngularProjectedVelocity);
     
    200197
    201198                }
    202        
     199
     200                //don't report time of impact for motion away from the contact normal (or causes minor penetration)
    203201                if ((projectedLinearVelocity+ maxAngularProjectedVelocity)<=result.m_allowedPenetration)//SIMD_EPSILON)
    204202                        return false;
    205                        
     203
    206204                result.m_fraction = lambda;
    207205                result.m_normal = n;
  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btGjkPairDetector.cpp

    r2907 r2908  
    151151                        if ((delta > btScalar(0.0)) && (delta * delta > squaredDistance * input.m_maximumDistanceSquared))
    152152                        {
    153                                 checkSimplex=true;
    154                                 //checkPenetration = false;
     153                                checkPenetration = false;
    155154                                break;
    156155                        }
  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h

    r2907 r2908  
    113113                        }
    114114                       
    115                         ///this returns the most recent applied impulse, to satisfy contact constraints by the constraint solver
    116                         btScalar        getAppliedImpulse() const
    117                         {
    118                                 return m_appliedImpulse;
    119                         }
    120 
    121115                       
    122116
  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.cpp

    r2907 r2908  
    184184               
    185185        }
    186         if (insertIndex<0)
    187                 insertIndex=0;
    188 
    189186        btAssert(m_pointCache[insertIndex].m_userPersistentData==0);
    190187        m_pointCache[insertIndex] = newPoint;
  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btPersistentManifold.h

    r2907 r2908  
    5656
    5757        btScalar        m_contactBreakingThreshold;
    58         btScalar        m_contactProcessingThreshold;
    5958
    6059       
     
    7271        btPersistentManifold();
    7372
    74         btPersistentManifold(void* body0,void* body1,int , btScalar contactBreakingThreshold,btScalar contactProcessingThreshold)
     73        btPersistentManifold(void* body0,void* body1,int , btScalar contactBreakingThreshold)
    7574                : m_body0(body0),m_body1(body1),m_cachedPoints(0),
    76                 m_contactBreakingThreshold(contactBreakingThreshold),
    77                 m_contactProcessingThreshold(contactProcessingThreshold)
     75                m_contactBreakingThreshold(contactBreakingThreshold)
    7876        {
    7977               
     
    114112        ///@todo: get this margin from the current physics / collision environment
    115113        btScalar        getContactBreakingThreshold() const;
    116 
    117         btScalar        getContactProcessingThreshold() const
    118         {
    119                 return m_contactProcessingThreshold;
    120         }
    121114       
    122115        int getCacheEntry(const btManifoldPoint& newPoint) const;
  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.cpp

    r2907 r2908  
    2424#include "btRaycastCallback.h"
    2525
    26 btTriangleRaycastCallback::btTriangleRaycastCallback(const btVector3& from,const btVector3& to, unsigned int flags)
     26btTriangleRaycastCallback::btTriangleRaycastCallback(const btVector3& from,const btVector3& to)
    2727        :
    2828        m_from(from),
    2929        m_to(to),
    30    //@BP Mod
    31    m_flags(flags),
    3230        m_hitFraction(btScalar(1.))
    3331{
     
    5856                return ; // same sign
    5957        }
    60    //@BP Mod - Backface filtering
    61    if (((m_flags & kF_FilterBackfaces) != 0) && (dist_a > btScalar(0.0)))
    62    {
    63       // Backface, skip check
    64       return;
    65    }
    6658       
    6759        const btScalar proj_length=dist_a-dist_b;
     
    9890                                        if ( (btScalar)(cp2.dot(triangleNormal)) >=edge_tolerance)
    9991                                        {
    100                   //@BP Mod
    101                   // Triangle normal isn't normalized
    102                                       triangleNormal.normalize();
    10392
    104                   //@BP Mod - Allow for unflipped normal when raycasting against backfaces
    105                   if (((m_flags & kF_KeepUnflippedNormal) != 0) || (dist_a <= btScalar(0.0)))
     93                                                if ( dist_a > 0 )
    10694                                                {
    107                                                         m_hitFraction = reportHit(-triangleNormal,distance,partId,triangleIndex);
     95                                                        m_hitFraction = reportHit(triangleNormal,distance,partId,triangleIndex);
    10896                                                }
    10997                                                else
    11098                                                {
    111                      m_hitFraction = reportHit(triangleNormal,distance,partId,triangleIndex);
     99                                                        m_hitFraction = reportHit(-triangleNormal,distance,partId,triangleIndex);
    112100                                                }
    113101                                        }
  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btRaycastCallback.h

    r2907 r2908  
    3030        btVector3 m_to;
    3131
    32    //@BP Mod - allow backface filtering and unflipped normals
    33    enum EFlags
    34    {
    35       kF_None                 = 0,
    36       kF_FilterBackfaces      = 1 << 0,
    37       kF_KeepUnflippedNormal  = 1 << 1,   // Prevents returned face normal getting flipped when a ray hits a back-facing triangle
    38 
    39       kF_Terminator        = 0xFFFFFFFF
    40    };
    41    unsigned int m_flags;
    42 
    4332        btScalar        m_hitFraction;
    4433
    45         btTriangleRaycastCallback(const btVector3& from,const btVector3& to, unsigned int flags=0);
     34        btTriangleRaycastCallback(const btVector3& from,const btVector3& to);
    4635       
    4736        virtual void processTriangle(btVector3* triangle, int partId, int triangleIndex);
  • code/branches/questsystem5/src/bullet/BulletCollision/NarrowPhaseCollision/btVoronoiSimplexSolver.cpp

    r2907 r2908  
    2626
    2727#include "btVoronoiSimplexSolver.h"
     28#include <assert.h>
     29//#include <stdio.h>
    2830
    2931#define VERTA  0
     
    3638{
    3739       
    38         btAssert(m_numVertices>0);
     40        assert(m_numVertices>0);
    3941        m_numVertices--;
    4042        m_simplexVectorW[index] = m_simplexVectorW[m_numVertices];
Note: See TracChangeset for help on using the changeset viewer.