forked from LeenkxTeam/LNXSDK
		
	
		
			
	
	
		
			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
 |