Frustrum fix
This commit is contained in:
parent
4f14c5662e
commit
f0b464bccf
|
@ -3,7 +3,7 @@
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#include "Frustrum.h"
|
#include "Frustrum.h"
|
||||||
#include "OysterCollision.h"
|
#include "..\OysterCollision3D.h"
|
||||||
|
|
||||||
using namespace Oyster::Math;
|
using namespace Oyster::Math;
|
||||||
using namespace Oyster::Collision3D;
|
using namespace Oyster::Collision3D;
|
||||||
|
@ -74,7 +74,7 @@ namespace PrivateStatic
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Frustrum::Frustrum( ) : ICollideable(Type_frustrum),
|
Frustrum::Frustrum() : ICollideable(Type_frustrum),
|
||||||
leftPlane(Float3::standard_unit_x, -0.5f), rightPlane(-Float3::standard_unit_x, 0.5f),
|
leftPlane(Float3::standard_unit_x, -0.5f), rightPlane(-Float3::standard_unit_x, 0.5f),
|
||||||
bottomPlane(Float3::standard_unit_y, -0.5f), topPlane(-Float3::standard_unit_y, 0.5f),
|
bottomPlane(Float3::standard_unit_y, -0.5f), topPlane(-Float3::standard_unit_y, 0.5f),
|
||||||
nearPlane(Float3::standard_unit_z, -0.5f), farPlane(-Float3::standard_unit_z, 0.5f) {}
|
nearPlane(Float3::standard_unit_z, -0.5f), farPlane(-Float3::standard_unit_z, 0.5f) {}
|
||||||
|
@ -82,7 +82,7 @@ Frustrum::Frustrum( ) : ICollideable(Type_frustrum),
|
||||||
Frustrum::Frustrum( const Float4x4 &vp ) : ICollideable(Type_frustrum)
|
Frustrum::Frustrum( const Float4x4 &vp ) : ICollideable(Type_frustrum)
|
||||||
{ PrivateStatic::VP_ToPlanes( this->leftPlane, this->rightPlane, this->bottomPlane, this->topPlane, this->nearPlane, this->farPlane, vp ); }
|
{ PrivateStatic::VP_ToPlanes( this->leftPlane, this->rightPlane, this->bottomPlane, this->topPlane, this->nearPlane, this->farPlane, vp ); }
|
||||||
|
|
||||||
Frustrum::~Frustrum( ) {}
|
Frustrum::~Frustrum() {}
|
||||||
|
|
||||||
Frustrum & Frustrum::operator = ( const Frustrum &frustrum )
|
Frustrum & Frustrum::operator = ( const Frustrum &frustrum )
|
||||||
{
|
{
|
||||||
|
|
|
@ -24,9 +24,9 @@ namespace Oyster { namespace Collision3D
|
||||||
{ class Plane leftPlane, rightPlane, bottomPlane, topPlane, nearPlane, farPlane; };
|
{ class Plane leftPlane, rightPlane, bottomPlane, topPlane, nearPlane, farPlane; };
|
||||||
};
|
};
|
||||||
|
|
||||||
Frustrum( );
|
Frustrum();
|
||||||
Frustrum( const ::Oyster::Math::Float4x4 &viewProjection );
|
Frustrum( const ::Oyster::Math::Float4x4 &viewProjection );
|
||||||
virtual ~Frustrum( );
|
virtual ~Frustrum();
|
||||||
|
|
||||||
Frustrum & operator = ( const Frustrum &frustrum );
|
Frustrum & operator = ( const Frustrum &frustrum );
|
||||||
Frustrum & operator = ( const ::Oyster::Math::Float4x4 &viewProjection );
|
Frustrum & operator = ( const ::Oyster::Math::Float4x4 &viewProjection );
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
// Created by Dan Andersson 2013
|
||||||
|
/////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#include "ICollideable.h"
|
||||||
|
|
||||||
|
using namespace ::Oyster::Collision3D;
|
||||||
|
|
||||||
|
ICollideable::ICollideable( Type _type )
|
||||||
|
: type(_type) {}
|
||||||
|
|
||||||
|
ICollideable::~ICollideable() {}
|
|
@ -31,6 +31,7 @@ namespace Oyster { namespace Collision3D /// Contains a collection of 3D shapes
|
||||||
const Type type;
|
const Type type;
|
||||||
|
|
||||||
ICollideable( Type type = Type_undefined );
|
ICollideable( Type type = Type_undefined );
|
||||||
|
virtual ~ICollideable();
|
||||||
|
|
||||||
virtual ::Utility::Memory::UniquePointer<ICollideable> Clone( ) const = 0;
|
virtual ::Utility::Memory::UniquePointer<ICollideable> Clone( ) const = 0;
|
||||||
virtual bool Intersects( const ICollideable *target ) const = 0;
|
virtual bool Intersects( const ICollideable *target ) const = 0;
|
||||||
|
|
Loading…
Reference in New Issue