Skip to content

File CameraController.h

FileList > controllers > CameraController.h

Go to the source code of this file

Camera manipulation controller for interactive viewpoint control.More...

  • #include "Controllers.h"

Classes

Type Name
class CameraController
Controller for interactive camera manipulation via user input.

Detailed Description

CameraController handles user input events (mouse drag, scroll, keyboard) and translates them into camera transform updates. It implements standard 3D viewport navigation patterns: orbit, pan, zoom, and fly-through movement.

Architecture: * Subscribes to mouse and keyboard events via EventPool * Modifies active Camera object's Transform3D directly * Emits CameraEvents to notify other systems of camera changes * Operates in world space or camera-local space based on mode

Camera Modes: * Orbit: Rotate around look-at target (tumble) * Pan: Translate camera parallel to view plane * Zoom: Move camera toward/away from target (dolly) * Fly: Free-form movement without target constraint

Coordinate System: * Right-handed Y-up world space * Camera forward: -Z axis (OpenGL convention) * Transform3D provides position/rotation as glm::vec3

Note:

Mouse sensitivity and movement speed are configurable.

Note:

Camera bounds (near/far planes) are enforced during manipulation.


The documentation for this class was generated from the following file src/editor/controllers/CameraController.h