diff options
Diffstat (limited to 'src/modules/ray/ray_object_point.h')
-rw-r--r-- | src/modules/ray/ray_object_point.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/modules/ray/ray_object_point.h b/src/modules/ray/ray_object_point.h new file mode 100644 index 0000000..c0c9610 --- /dev/null +++ b/src/modules/ray/ray_object_point.h @@ -0,0 +1,37 @@ +#ifndef _RAY_OBJECT_POINT_H +#define _RAY_OBJECT_POINT_H + +#include "ray_3f.h" +#include "ray_object_type.h" +#include "ray_ray.h" +#include "ray_surface.h" + + +typedef struct ray_object_point_t { + ray_object_type_t type; + ray_surface_t surface; + ray_3f_t center; +} ray_object_point_t; + + +static inline int ray_object_point_intersects_ray(ray_object_point_t *point, ray_ray_t *ray, float *res_distance) +{ + /* TODO: determine a ray:point intersection */ + return 0; +} + + +static inline ray_3f_t ray_object_point_normal(ray_object_point_t *point, ray_3f_t *_point) +{ + ray_3f_t normal; + + return normal; +} + + +static inline ray_surface_t ray_object_point_surface(ray_object_point_t *point, ray_3f_t *_point) +{ + return point->surface; +} + +#endif |