Example #1
0
static void GetRectangleCollisionVolume(const SRectangle& r, CollisionVolume& v, float3& rm) {
	float3 vScales;

	// rectangle dimensions (WS)
	vScales.x = WS(r.x2 - r.x1);
	vScales.z = WS(r.z2 - r.z1);
	vScales.y = 1.0f;

	// rectangle mid-point (WS)
	rm.x = WS(r.x1 + r.x2) >> 1;
	rm.z = WS(r.z1 + r.z2) >> 1;
	rm.y = 0.0f;

	#define CV CollisionVolume
	v.Init(vScales, ZeroVector, CV::COLVOL_TYPE_BOX, CV::COLVOL_HITTEST_CONT, CV::COLVOL_AXIS_Y);
	#undef CV
}