72 lines
2.8 KiB
C++
72 lines
2.8 KiB
C++
#ifndef _CCOLLISION_HPP_
|
|
#define _CCOLLISION_HPP_
|
|
|
|
/*** SDL Header Files ***/
|
|
#include <SDL.h>
|
|
|
|
/*** DLL Header File ***/
|
|
#include "dllExport.h"
|
|
|
|
/*** Custom Header File ***/
|
|
#include "Vector/Vector2.hpp"
|
|
#include "iVector/iVector2.hpp"
|
|
|
|
#include "Vector/Vector4.hpp"
|
|
#include "iVector/iVector4.hpp"
|
|
|
|
namespace MathEngine {
|
|
class EXPORT_FROM_MYDLL cCollision
|
|
{
|
|
private:
|
|
cCollision();
|
|
~cCollision();
|
|
|
|
public:
|
|
/// Functions
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const SDL_Rect& a, const SDL_Rect& b );
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const Vector4& a, const Vector4& b );
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox(const iVector4& a, const iVector4& b);
|
|
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const SDL_Rect& a, const Vector4& b );
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const Vector4& a, const SDL_Rect& b );
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const SDL_Rect& a, const iVector4& b );
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const iVector4& a, const SDL_Rect& b );
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const iVector4& a, const Vector4& b );
|
|
/* returns true if a is touching b */
|
|
static const bool BoundingBox( const Vector4& a, const iVector4& b );
|
|
|
|
/* returns the Vector2 were a over laps b */
|
|
static const Vector2 Inside( const Vector4& a, const Vector4& b );
|
|
/* returns the Vector2 were a over laps b */
|
|
static const Vector2 Inside( const SDL_Rect& a, const Vector4& b );
|
|
/* returns the Vector2 were a over laps b */
|
|
static const Vector2 Inside( const Vector4& a, const SDL_Rect& b );
|
|
|
|
/* returns true if xy are inside SDL_Rect */
|
|
static const bool isInside( const signed long int x, const signed long int y, const SDL_Rect& inside );
|
|
/* returns true if xy are inside iVector4 */
|
|
static const bool isInside( const signed long int x, const signed long int y, const iVector4& inside );
|
|
|
|
/* returns the iVector2 were a over laps b */
|
|
static const iVector2 Inside(const SDL_Rect& a, const SDL_Rect& b);
|
|
/* returns the iVector2 were a over laps b */
|
|
static const iVector2 Inside( const iVector4& a, const iVector4& b );
|
|
/* returns the iVector2 were a over laps b */
|
|
static const iVector2 Inside( const SDL_Rect& a, const iVector4& b );
|
|
/* returns the iVector2 were a over laps b */
|
|
static const iVector2 Inside( const iVector4& a, const SDL_Rect& b );
|
|
|
|
static const Vector2 Inside( const iVector4& a, const Vector4& b );
|
|
static const Vector2 Inside( const Vector4& a, const iVector4& b );
|
|
};/// END CLASS DEFINITION cCollision
|
|
}/// END NAMESPACE DEFINITION MathEngine
|
|
#endif/// END IFNDEF _CCOLLISION_HPP_
|