API Reference
1. Overview
본 문서는 ged 모듈의 공개 API를 기술한다.
API는 외부 모듈이 ged 에디터 시스템을 사용할 때 필요한 타입과 함수를 정의한다.
외부 모듈은 ged 모듈을 다음 방식으로 사용한다.
#include <ged/ged.hpp>
2. Public Entry Point
Header
ged.hpp
ged.hpp는 ged 모듈의 공개 API 엔트리 헤더이다.
외부 모듈은 이 헤더를 통해 Editor 타입에 접근한다.
3. Public Types
Editor
class Editor
Editor는 에디터 시스템의 중심 객체이다.
EditorState
struct EditorState
EditorState는 에디터 상태 데이터를 저장한다.
저장되는 데이터
selection active_object tool_mode
ToolMode
enum class ToolMode
ToolMode는 현재 활성 Tool을 나타낸다.
정의된 값
Select Transform
ObjectId
ObjectId
ObjectId는 객체 식별자를 나타내는 타입이다.
Command
class Command
Command는 작업 실행 객체의 기본 타입이다.
UndoStack
class UndoStack
UndoStack은 Command 실행 히스토리를 관리한다.
4. Editor API
Constructor
Editor 객체를 생성한다.
Editor()
set_tool
활성 Tool을 설정한다.
void set_tool(EditorState::ToolMode mode);
on_event
이벤트를 처리한다.
void on_event(const gcore::Event& e);
state
EditorState에 접근한다.
EditorState& state()
undo_stack
UndoStack에 접근한다.
UndoStack& undo_stack()
5. Command API
apply
작업을 적용한다.
virtual void apply() = 0;
revert
작업을 되돌린다.
virtual void revert() = 0;
6. UndoStack API
push
Command를 실행하고 히스토리에 저장한다.
void push(std::unique_ptr<Command> cmd);
undo
마지막 Command를 되돌린다.
void undo();
redo
Undo된 Command를 다시 실행한다.
void redo();
clear
Undo / Redo 히스토리를 초기화한다.
void clear();
7. Event Type
Editor는 다음 이벤트 타입을 사용한다.
gcore::Event
Event 객체는 Editor와 Tool 시스템 간 이벤트 전달에 사용된다.