summaryrefslogtreecommitdiff
path: root/game/selectable.h
blob: fc6af4e168753db5a3e22174125101ce167f3277 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma once

#include "config/types.h"
#include <glm/glm.hpp>
#include <special_members.h>

template<typename> class Ray;

class Selectable {
public:
	Selectable() = default;
	virtual ~Selectable() = default;
	DEFAULT_MOVE_COPY(Selectable);

	[[nodiscard]] virtual bool intersectRay(const Ray<GlobalPosition3D> &, BaryPosition &, RelativeDistance &) const
			= 0;
};