~siretart/ubuntu/utopic/blender/libav10

« back to all changes in this revision

Viewing changes to extern/bullet2/src/BulletCollision/BroadphaseCollision/btDbvtBroadphase.h

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2012-07-23 08:54:18 UTC
  • mfrom: (14.2.16 sid)
  • mto: (14.2.19 sid)
  • mto: This revision was merged to the branch mainline in revision 42.
  • Revision ID: package-import@ubuntu.com-20120723085418-9foz30v6afaf5ffs
Tags: 2.63a-2
* debian/: Cycles support added (Closes: #658075)
  For now, this top feature has been enabled only
  on [any-amd64 any-i386] architectures because
  of OpenImageIO failing on all others
* debian/: scripts installation path changed
  from /usr/lib to /usr/share:
  + debian/patches/: patchset re-worked for path changing
  + debian/control: "Breaks" field added on yafaray-exporter

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
Bullet Continuous Collision Detection and Physics Library
3
 
Copyright (c) 2003-2007 Erwin Coumans  http://continuousphysics.com/Bullet/
 
3
Copyright (c) 2003-2009 Erwin Coumans  http://bulletphysics.org
4
4
 
5
5
This software is provided 'as-is', without any express or implied warranty.
6
6
In no event will the authors be held liable for any damages arising from the use of this software.
12
12
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
13
13
3. This notice may not be removed or altered from any source distribution.
14
14
*/
 
15
 
15
16
///btDbvtBroadphase implementation by Nathanael Presson
16
17
#ifndef BT_DBVT_BROADPHASE_H
17
18
#define BT_DBVT_BROADPHASE_H
101
102
        ~btDbvtBroadphase();
102
103
        void                                                    collide(btDispatcher* dispatcher);
103
104
        void                                                    optimize();
104
 
        /* btBroadphaseInterface Implementation */ 
 
105
        
 
106
        /* btBroadphaseInterface Implementation */
105
107
        btBroadphaseProxy*                              createProxy(const btVector3& aabbMin,const btVector3& aabbMax,int shapeType,void* userPtr,short int collisionFilterGroup,short int collisionFilterMask,btDispatcher* dispatcher,void* multiSapProxy);
106
 
        void                                                    destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
107
 
        void                                                    setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* dispatcher);
108
 
        virtual void    rayTest(const btVector3& rayFrom,const btVector3& rayTo, btBroadphaseRayCallback& rayCallback, const btVector3& aabbMin=btVector3(0,0,0), const btVector3& aabbMax = btVector3(0,0,0));
109
 
 
110
 
        virtual void    getAabb(btBroadphaseProxy* proxy,btVector3& aabbMin, btVector3& aabbMax ) const;
111
 
        void                                                    calculateOverlappingPairs(btDispatcher* dispatcher);
112
 
        btOverlappingPairCache*                 getOverlappingPairCache();
113
 
        const btOverlappingPairCache*   getOverlappingPairCache() const;
114
 
        void                                                    getBroadphaseAabb(btVector3& aabbMin,btVector3& aabbMax) const;
115
 
        void                                                    printStats();
116
 
        static void                                             benchmark(btBroadphaseInterface*);
117
 
 
118
 
 
119
 
        void    performDeferredRemoval(btDispatcher* dispatcher);
 
108
        virtual void                                    destroyProxy(btBroadphaseProxy* proxy,btDispatcher* dispatcher);
 
109
        virtual void                                    setAabb(btBroadphaseProxy* proxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* dispatcher);
 
110
        virtual void                                    rayTest(const btVector3& rayFrom,const btVector3& rayTo, btBroadphaseRayCallback& rayCallback, const btVector3& aabbMin=btVector3(0,0,0), const btVector3& aabbMax = btVector3(0,0,0));
 
111
        virtual void                                    aabbTest(const btVector3& aabbMin, const btVector3& aabbMax, btBroadphaseAabbCallback& callback);
 
112
 
 
113
        virtual void                                    getAabb(btBroadphaseProxy* proxy,btVector3& aabbMin, btVector3& aabbMax ) const;
 
114
        virtual void                                    calculateOverlappingPairs(btDispatcher* dispatcher);
 
115
        virtual btOverlappingPairCache* getOverlappingPairCache();
 
116
        virtual const btOverlappingPairCache*   getOverlappingPairCache() const;
 
117
        virtual void                                    getBroadphaseAabb(btVector3& aabbMin,btVector3& aabbMax) const;
 
118
        virtual void                                    printStats();
 
119
 
120
120
 
121
121
        ///reset broadphase internal structures, to ensure determinism/reproducability
122
122
        virtual void resetPool(btDispatcher* dispatcher);
123
123
 
 
124
        void    performDeferredRemoval(btDispatcher* dispatcher);
 
125
        
 
126
        void    setVelocityPrediction(btScalar prediction)
 
127
        {
 
128
                m_prediction = prediction;
 
129
        }
 
130
        btScalar getVelocityPrediction() const
 
131
        {
 
132
                return m_prediction;
 
133
        }
 
134
 
 
135
        ///this setAabbForceUpdate is similar to setAabb but always forces the aabb update. 
 
136
        ///it is not part of the btBroadphaseInterface but specific to btDbvtBroadphase.
 
137
        ///it bypasses certain optimizations that prevent aabb updates (when the aabb shrinks), see
 
138
        ///http://code.google.com/p/bullet/issues/detail?id=223
 
139
        void                                                    setAabbForceUpdate(             btBroadphaseProxy* absproxy,const btVector3& aabbMin,const btVector3& aabbMax,btDispatcher* /*dispatcher*/);
 
140
 
 
141
        static void                                             benchmark(btBroadphaseInterface*);
 
142
 
 
143
 
124
144
};
125
145
 
126
146
#endif