aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/util/AbsolutePosition.h
blob: 857c1ac7bee87663a9d4b9957930396f914a2f00 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once

#include "api/Transform.h"

#include "types.h"

namespace crepe {

/**
 * \brief A class for calculating the absolute position of an object.
 *
 * This class provides a utility function to get the position of an object in the world space,
 * taking into account the transform and any additional offset.
 */
class AbsolutePosition {
public:
	/**
	 * \brief Get the absolute position of an object.
	 *
	 * This function calculates the absolute position by combining the transform position with an optional offset.
	 *
	 * \param transform The transform of the object, which contains its position, rotation, and scale.
	 * \param offset The offset to apply to the object's position (in local space).
	 * \return The absolute position of the object as a 2D vector.
	 */
	static vec2 get_position(const Transform & transform, const vec2 & offset);
};

} // namespace crepe