1#ifndef YAZE_APP_EDITOR_GRAPHICS_POLYHEDRAL_EDITOR_PANEL_H_
2#define YAZE_APP_EDITOR_GRAPHICS_POLYHEDRAL_EDITOR_PANEL_H_
7#include "absl/status/status.h"
44 std::string
GetId()
const override {
return "graphics.polyhedral"; }
64 void Draw(
bool* p_open)
override;
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Base interface for all logical panel components.
void DrawVertexList(PolyShape &shape)
std::string GetDisplayName() const override
Human-readable name shown in menus and title bars.
int GetPriority() const override
Get display priority for menu ordering.
std::vector< PolyShape > shapes_
std::string GetEditorCategory() const override
Editor category this panel belongs to.
void Draw(bool *p_open) override
Draw the polyhedral editor UI (EditorPanel interface)
std::string GetId() const override
Unique identifier for this panel.
void DrawPlot(const char *label, PlotPlane plane, PolyShape &shape)
void DrawFaceList(PolyShape &shape)
absl::Status LoadShapes()
absl::Status WriteShape(const PolyShape &shape)
void DrawPreview(PolyShape &shape)
std::string GetIcon() const override
Material Design icon for this panel.
absl::Status Update()
Legacy Update method for backward compatibility.
PolyhedralEditorPanel(Rom *rom=nullptr)
absl::Status SaveShapes()
void DrawShapeEditor(PolyShape &shape)
#define ICON_MD_VIEW_IN_AR
std::vector< uint8_t > vertex_indices
std::vector< PolyFace > faces
std::vector< PolyVertex > vertices