44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#ifndef BT_COLLISION_OBJECT_WRAPPER_H
 | 
						|
#define BT_COLLISION_OBJECT_WRAPPER_H
 | 
						|
 | 
						|
///btCollisionObjectWrapperis an internal data structure. 
 | 
						|
///Most users can ignore this and use btCollisionObject and btCollisionShape instead
 | 
						|
class btCollisionShape;
 | 
						|
class btCollisionObject;
 | 
						|
class btTransform;
 | 
						|
#include "LinearMath/btScalar.h" // for SIMD_FORCE_INLINE definition
 | 
						|
 | 
						|
#define BT_DECLARE_STACK_ONLY_OBJECT \
 | 
						|
	private: \
 | 
						|
		void* operator new(size_t size); \
 | 
						|
		void operator delete(void*);
 | 
						|
 | 
						|
struct btCollisionObjectWrapper;
 | 
						|
struct btCollisionObjectWrapper
 | 
						|
{
 | 
						|
BT_DECLARE_STACK_ONLY_OBJECT
 | 
						|
 | 
						|
private:
 | 
						|
	btCollisionObjectWrapper(const btCollisionObjectWrapper&); // not implemented. Not allowed.
 | 
						|
	btCollisionObjectWrapper* operator=(const btCollisionObjectWrapper&);
 | 
						|
 | 
						|
public:
 | 
						|
	const btCollisionObjectWrapper* m_parent;
 | 
						|
	const btCollisionShape* m_shape;
 | 
						|
	const btCollisionObject* m_collisionObject;
 | 
						|
	const btTransform& m_worldTransform;
 | 
						|
	int		m_partId;
 | 
						|
	int		m_index;
 | 
						|
 | 
						|
	btCollisionObjectWrapper(const btCollisionObjectWrapper* parent, const btCollisionShape* shape, const btCollisionObject* collisionObject, const btTransform& worldTransform, int partId, int index)
 | 
						|
	: m_parent(parent), m_shape(shape), m_collisionObject(collisionObject), m_worldTransform(worldTransform),
 | 
						|
	m_partId(partId), m_index(index)
 | 
						|
	{}
 | 
						|
 | 
						|
	SIMD_FORCE_INLINE const btTransform& getWorldTransform() const { return m_worldTransform; }
 | 
						|
	SIMD_FORCE_INLINE const btCollisionObject* getCollisionObject() const { return m_collisionObject; }
 | 
						|
	SIMD_FORCE_INLINE const btCollisionShape* getCollisionShape() const { return m_shape; }
 | 
						|
};
 | 
						|
 | 
						|
#endif //BT_COLLISION_OBJECT_WRAPPER_H
 |