Isle
Loading...
Searching...
No Matches
legocameracontroller.h
Go to the documentation of this file.
1#ifndef LEGOCAMERACONTROLLER_H
2#define LEGOCAMERACONTROLLER_H
3
5#include "mxgeometry.h"
8
9// VTABLE: LEGO1 0x100d57b0
10// VTABLE: BETA10 0x101bb748
11// SIZE 0xc8
12
18public:
23
27 ~LegoCameraController() override; // vtable+0x00
28
34 MxLong Notify(MxParam& p_param) override; // vtable+04
35
40 const char* ClassName() const override // vtable+0x0c
41 {
42 // STRING: LEGO1 0x100f0850
43 return "LegoCameraController";
44 }
45
51 MxBool IsA(const char* p_name) const override // vtable+0x10
52 {
53 return !strcmp(p_name, ClassName()) || MxCore::IsA(p_name);
54 }
55
61 virtual void OnLButtonDown(MxPoint32 p_point); // vtable+0x30
62
67 virtual void OnLButtonUp(MxPoint32 p_point); // vtable+0x34
68
73 virtual void OnRButtonDown(MxPoint32 p_point); // vtable+0x38
74
79 virtual void OnRButtonUp(MxPoint32 p_point); // vtable+0x3c
80
87 virtual void OnMouseMove(MxU8 p_modifier, MxPoint32 p_point); // vtable+0x40
88
93 virtual MxResult Create(); // vtable+0x44
94
102 void SetWorldTransform(const Vector3& p_at, const Vector3& p_dir, const Vector3& p_up);
103
109 void FUN_10012290(float p_angle);
110
116 void FUN_10012320(float p_angle);
117
123 MxResult FUN_100123b0(Matrix4& p_matrix);
124
131 void FUN_100123e0(const Matrix4& p_transform, MxU32 p_und);
132
138
144
150
151private:
155 MxMatrix m_matrix1; // 0x38
156
160 MxMatrix m_matrix2; // 0x80
161};
162
163// SYNTHETIC: LEGO1 0x10011f50
164// LegoCameraController::`scalar deleting destructor'
165
166#endif // LEGOCAMERACONTROLLER_H
Camera controller for 3D scenes, handles interactive camera manipulation and view transformation.
MxBool IsA(const char *p_name) const override
Checks if the name is compatible with this type or its ancestors.
void SetWorldTransform(const Vector3 &p_at, const Vector3 &p_dir, const Vector3 &p_up)
Updates the camera's world transformation matrix using view reference parameters.
Mx3DPointFloat GetWorldUp()
Gets the camera's current world-space up vector.
virtual void OnLButtonDown(MxPoint32 p_point)
Called when the left mouse button is pressed at a screen point.
void FUN_10012290(float p_angle)
Rotates the current camera transformation by a given angle around the Z axis.
Mx3DPointFloat GetWorldDirection()
Gets the camera's world-space forward direction vector.
void FUN_10012320(float p_angle)
Rotates the current camera transformation by a given angle around the Y axis.
virtual MxResult Create()
Registers the camera controller with input manager and initializes state with current view.
MxResult FUN_100123b0(Matrix4 &p_matrix)
Retrieves the current point-of-view transformation into a matrix if it exists.
LegoCameraController()
Constructor.
virtual void OnRButtonUp(MxPoint32 p_point)
Called when the right mouse button is released at a screen point.
virtual void OnLButtonUp(MxPoint32 p_point)
Called when the left mouse button is released at a screen point.
void FUN_100123e0(const Matrix4 &p_transform, MxU32 p_und)
Sets the camera's transformation matrix in the 3D view, optionally applying a blend with the internal...
virtual void OnMouseMove(MxU8 p_modifier, MxPoint32 p_point)
Called when the mouse is moved.
virtual void OnRButtonDown(MxPoint32 p_point)
Called when the right mouse button is pressed at a screen point.
MxLong Notify(MxParam &p_param) override
Handles notifications for camera-relevant events (like mouse drag and mouse clicks).
~LegoCameraController() override
Destructor.
Mx3DPointFloat GetWorldLocation()
Gets the camera's current world-space location.
const char * ClassName() const override
Returns the runtime class name for this type.
[AI] Controller that links mouse actions to manipulation of the user's point of view in the 3D scene.
4x4 Matrix class with virtual interface for manipulation and transformation.
Definition: matrix.h:24
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
Definition: mxgeometry3d.h:14
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
Definition: mxcore.h:46
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
Definition: mxmatrix.h:16
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
Definition: mxparam.h:7
[AI] 2D point with 32-bit signed integer coordinates.
Definition: mxgeometry.h:487
[AI] 3D vector class, providing vector and cross-product operations in 3D space.
Definition: vector.h:249
#define override
Definition: compat.h:21
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
int MxLong
[AI]
Definition: mxtypes.h:83
unsigned char MxU8
[AI]
Definition: mxtypes.h:8
unsigned int MxU32
[AI]
Definition: mxtypes.h:32