Mario Kart 64
Loading...
Searching...
No Matches
Gizmo.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship/libultraship.h>
4#include <libultra/gbi.h>
5#include "Collision.h"
6#include "GameObject.h"
7
8namespace Editor {
9
10class Gizmo {
11public:
12
20
26
27 void Tick();
28 void Draw();
29 void Load();
30
31 void SetGizmo(GameObject* object, Ray ray);
32 void SetGizmoNoCursor(GameObject* object); // Used for scene explorer selection
33 void Translate();
34 void Rotate();
35 void Scale();
36 void DrawHandles();
37 f32 SnapToSurface(FVector* pos);
38
40 s16 MinX = -10000;
41 s16 MaxX = 10000;
42 s16 MinY = -3000;
43 s16 MaxY = 3000;
44 s16 MinZ = -10000;
45 s16 MaxZ = 10000;
46 };
48
49 bool Enabled;
50 bool ManipulationStart = true;
51 FVector InitialScale = {1, 1, 1};
54
58
62
66
70
71 FVector Pos; // Global scene view
72 IRotator Rot = {0, 0, 0};
73 float AllAxisRadius = 3.0f; // Free move selection radius
76 float _gizmoOffset = 8.0f;
77
78 float HandleSize = 2.0f;
79
82 private:
83 bool _draw = false;
84};
85}
Definition GameObject.h:17
Definition Gizmo.h:10
GameObject BlueRotateCollision
Definition Gizmo.h:61
bool _draw
Definition Gizmo.h:83
void Draw()
Definition Gizmo.cpp:257
float _gizmoOffset
Definition Gizmo.h:76
FVector Pos
Definition Gizmo.h:71
FVector _ray
Definition Gizmo.h:80
float HandleSize
Definition Gizmo.h:78
GameObject * _selected
Definition Gizmo.h:81
TranslationMode
Definition Gizmo.h:21
@ Move
Definition Gizmo.h:22
void Rotate()
Definition Gizmo.cpp:182
TrackDimensions dimensions
Definition Gizmo.h:47
void Translate()
Definition Gizmo.cpp:111
MtxF Mtx_GreenY
Definition Gizmo.h:68
f32 SnapToSurface(FVector *pos)
Definition Gizmo.cpp:171
GameObject GreenRotateCollision
Definition Gizmo.h:60
void DrawHandles()
Definition Gizmo.cpp:269
float AllAxisRadius
Definition Gizmo.h:73
bool Enabled
Definition Gizmo.h:49
GizmoHandle SelectedHandle
Definition Gizmo.h:53
GameObject GreenScaleCollision
Definition Gizmo.h:64
void SetGizmoNoCursor(GameObject *object)
Definition Gizmo.cpp:102
GameObject RedCollision
Definition Gizmo.h:55
GameObject GreenCollision
Definition Gizmo.h:56
bool ManipulationStart
Definition Gizmo.h:50
void Load()
Definition Gizmo.cpp:30
float PickDistance
Definition Gizmo.h:74
FVector _cursorOffset
Definition Gizmo.h:75
MtxF Mtx_BlueZ
Definition Gizmo.h:69
FVector InitialScale
Definition Gizmo.h:51
void Tick()
Definition Gizmo.cpp:74
void SetGizmo(GameObject *object, Ray ray)
Definition Gizmo.cpp:92
GameObject BlueCollision
Definition Gizmo.h:57
GizmoHandle
Definition Gizmo.h:13
@ X_Axis
Definition Gizmo.h:16
@ Z_Axis
Definition Gizmo.h:18
@ All_Axis
Definition Gizmo.h:15
@ None
Definition Gizmo.h:14
@ Y_Axis
Definition Gizmo.h:17
IRotator InitialRotation
Definition Gizmo.h:52
GameObject RedScaleCollision
Definition Gizmo.h:63
IRotator Rot
Definition Gizmo.h:72
MtxF Mtx_RedX
Definition Gizmo.h:67
GameObject RedRotateCollision
Definition Gizmo.h:59
GameObject BlueScaleCollision
Definition Gizmo.h:65
void Scale()
Definition Gizmo.cpp:216
Definition Collision.cpp:12
Definition Gizmo.h:39
s16 MaxY
Definition Gizmo.h:43
s16 MinX
Definition Gizmo.h:40
s16 MinZ
Definition Gizmo.h:44
s16 MinY
Definition Gizmo.h:42
s16 MaxX
Definition Gizmo.h:41
s16 MaxZ
Definition Gizmo.h:45
Definition CoreMath.h:18
Definition CoreMath.h:123
Definition EditorMath.h:18