1#ifndef LEGOCAMERACONTROLLER_H
2#define LEGOCAMERACONTROLLER_H
43 return "LegoCameraController";
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.
[AI] Represents a 3D point with floating-point precision, inheriting from Vector3.
virtual MxBool IsA(const char *p_name) const
[AI] Checks whether this object's class type or parents match the given name.
[AI] Represents a 4x4 transformation matrix, specialized for the LEGO Island engine and derived from ...
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
[AI] 2D point with 32-bit signed integer coordinates.
[AI] 3D vector class, providing vector and cross-product operations in 3D space.