func (p *CollisionPlane) CheckAgainstHalfSpace(plane *CollisionPlane, existingContacts []*Contact) (bool, []*Contact) {
	return false, existingContacts
}
CheckAgainstHalfSpace doesn't return collisions against another plane, so this implementation is empty.
package cubez
import (
	m "github.com/tbogdala/cubez/math"
)
type Collider interface {
	Clone() Collider
	CalculateDerivedData()
	GetBody() *RigidBody
	GetTransform() m.Matrix3x4
	CheckAgainstHalfSpace(plane *CollisionPlane, existingContacts []*Contact) (bool, []*Contact)
	CheckAgainstSphere(sphere *CollisionSphere, existingContacts []*Contact) (bool, []*Contact)
	CheckAgainstCube(secondCube *CollisionCube, existingContacts []*Contact) (bool, []*Contact)
}
type CollisionPlane struct {
	Normal m.Vector3
	Offset m.Real
}
type CollisionCube struct {
	Body *RigidBody
	Offset m.Matrix3x4
	transform m.Matrix3x4
	HalfSize m.Vector3
}
type CollisionSphere struct {
	Body *RigidBody
	Offset m.Matrix3x4
	transform m.Matrix3x4
	Radius m.Real
}
func NewCollisionPlane(n m.Vector3, o m.Real) *CollisionPlane {
	plane := new(CollisionPlane)
	plane.Normal = n
	plane.Offset = o
	return plane
}
func (p *CollisionPlane) Clone() Collider {
	newPlane := NewCollisionPlane(p.Normal, p.Offset)
	return newPlane
}
func (p *CollisionPlane) CalculateDerivedData() {
}
func (p *CollisionPlane) GetTransform() m.Matrix3x4 {
	var m m.Matrix3x4
	m.SetIdentity()
	return m
}
func (p *CollisionPlane) GetBody() *RigidBody {
	return nil
}