Skip to main content

API Reference

1. Overview

본 문서는 ged 모듈의 공개 API를 기술한다.

API는 외부 모듈이 ged 에디터 시스템을 사용할 때 필요한 타입과 함수를 정의한다.

외부 모듈은 ged 모듈을 다음 방식으로 사용한다.

#include <ged/ged.hpp>


2. Public Entry Point

ged.hpp

ged.hppged 모듈의 공개 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 시스템 간 이벤트 전달에 사용된다.