Polyphase Game Engine
Loading...
Searching...
No Matches
Vector_Lua.h
Go to the documentation of this file.
1#pragma once
2
3#include "Engine.h"
4
6
7#if LUA_ENABLED
8
9#define VECTOR_LUA_NAME "Vector"
10#define CHECK_VECTOR(L, Arg) CheckLuaType<Vector_Lua>(L, Arg, VECTOR_LUA_NAME)->mVector;
11
12struct Vector_Lua
13{
14 glm::vec4 mVector;
15
16 Vector_Lua() { mVector = { 0.0f, 0.0f, 0.0f, 0.0f }; }
17 ~Vector_Lua() { }
18
19 static int Create(lua_State* L);
20 static int Create(lua_State* L, glm::vec4 value);
21 static int Create(lua_State* L, glm::vec3 value);
22 static int Create(lua_State* L, glm::vec2 value);
23 static int Destroy(lua_State* L);
24
25 static int Index(lua_State* L);
26 static int NewIndex(lua_State* L);
27 static int ToString(lua_State* L);
28
29 static int Set(lua_State* L);
30 static int Clone(lua_State* L);
31 static int Add(lua_State* L);
32 static int Subtract(lua_State* L);
33 static int Multiply(lua_State* L);
34 static int Divide(lua_State* L);
35 static int Equals(lua_State* L);
36 static int Dot(lua_State* L);
37 static int Dot3(lua_State* L);
38 static int Cross(lua_State* L);
39 static int Lerp(lua_State* L);
40 static int Max(lua_State* L);
41 static int Min(lua_State* L);
42 static int Clamp(lua_State* L);
43 static int Normalize(lua_State* L);
44 static int Normalize3(lua_State* L);
45 static int Reflect(lua_State* L);
46 static int Damp(lua_State* L);
47 static int Rotate(lua_State* L);
48 static int Length(lua_State* L);
49 static int Length2(lua_State* L);
50 static int Distance(lua_State* L);
51 static int Distance2(lua_State* L);
52 static int Angle(lua_State* L);
53 static int SignedAngle(lua_State* L);
54 static int Negate(lua_State* L);
55
56 static void Bind();
57};
58
59#endif
float Dot(const float *a, const float *b)
Definition ImGuizmo.cpp:141
void Normalize(const float *a, float *r)
Definition ImGuizmo.cpp:146
void Cross(const float *a, const float *b, float *r)
Definition ImGuizmo.cpp:134