47 lines
947 B
C
47 lines
947 B
C
/**
|
|
* Copyright (c) 2021 Dominic Masters
|
|
*
|
|
* This software is released under the MIT License.
|
|
* https://opensource.org/licenses/MIT
|
|
*/
|
|
|
|
#pragma once
|
|
#include <dawn/dawn.h>
|
|
#include "sphere.h"
|
|
#include "../input/input.h"
|
|
|
|
typedef struct {
|
|
float hitX;
|
|
float hitY;
|
|
|
|
float normalX;
|
|
float normalY;
|
|
} aabbpointhit2d_t;
|
|
|
|
typedef struct {
|
|
float time;
|
|
|
|
float normalX;
|
|
float normalY;
|
|
|
|
float hitX;
|
|
float hitY;
|
|
} aabbvectorhit2d_t;
|
|
|
|
/**
|
|
* Perform a test against a point and an AABB.
|
|
*
|
|
* @param pointX Point X coordinate.
|
|
* @param pointY Point Y coordinate.
|
|
* @param x Box X coordinate.
|
|
* @param y Box Y coordinate.
|
|
* @param width Box width.
|
|
* @param height Box height.
|
|
* @param hit Pointer to hit information to store result in, or NULL for none.
|
|
* @return True if a hit occured, otherwise false.
|
|
*/
|
|
bool aabbPoint2D(
|
|
float pointX, float pointY,
|
|
float x, float y, float width, float height,
|
|
aabbpointhit2d_t *hit
|
|
); |