载入中...
搜索中...
未找到
GraphicsEditorModule.cpp
浏览该文件的文档.
2
4
5#include <simplesquirrel/simplesquirrel.hpp>
6
7#include <functional>
8
10
12
13std::unique_ptr<editor::ReflectionProbeVisualizer> GraphicsEditorModule::newReflectionProbeVisualizer(
15 return std::make_unique<editor::ReflectionProbeVisualizer>(probe);
16}
17
18void GraphicsEditorModule::expose(ssq::Table& table) {
19 auto visualizer = table.addClass<editor::ReflectionProbeVisualizer>(
20 "ReflectionProbeVisualizer",
21 std::function<editor::ReflectionProbeVisualizer*()>(
22 []() -> editor::ReflectionProbeVisualizer* { return nullptr; }),
23 true);
24 visualizer.addFunc("setExtents", &editor::ReflectionProbeVisualizer::setExtents);
25 visualizer.addFunc("getLineCount", &editor::ReflectionProbeVisualizer::getLineCount);
26 visualizer.addFunc("getLineStart", &editor::ReflectionProbeVisualizer::getLineStart);
27 visualizer.addFunc("getLineEnd", &editor::ReflectionProbeVisualizer::getLineEnd);
28 visualizer.addFunc("getColorR", &editor::ReflectionProbeVisualizer::getColorR);
29 visualizer.addFunc("getColorG", &editor::ReflectionProbeVisualizer::getColorG);
30 visualizer.addFunc("getColorB", &editor::ReflectionProbeVisualizer::getColorB);
31 visualizer.addFunc("getCenterX", &editor::ReflectionProbeVisualizer::getCenterX);
32 visualizer.addFunc("getCenterY", &editor::ReflectionProbeVisualizer::getCenterY);
33 visualizer.addFunc("getCenterZ", &editor::ReflectionProbeVisualizer::getCenterZ);
34 visualizer.addFunc("getStatusLabel", &editor::ReflectionProbeVisualizer::getStatusLabel);
35
36 auto module = table.addClass(name, GraphicsEditorModule::create, false);
37 expose(module);
38}
39
40void GraphicsEditorModule::expose(ssq::Class& cls) {
41 cls.addFunc("createReflectionProbeVisualizer",
42 [](GraphicsEditorModule* self, graphics::ReflectionProbeCapture* probe) {
43 return self->newReflectionProbeVisualizer(probe).release();
44 });
45}
46
47} // namespace eve::graphics_editor
HSQOBJECT cls
Definition ECS.cpp:21
#define Module_IMPL(ModuleName, newExpr)
Definition Module.h:26
std::function< eve::Result< void >()> release
Definition Procgen.cpp:86
Renderer-independent wire-box and status description for a reflection probe.
int getLineCount() const
Return the number of wire-box line segments.
float getColorB() const
Return status color blue channel.
float getColorR() const
Return status color red channel.
void setExtents(float x, float y, float z)
Set positive influence-box half extents.
float getLineStart(int line, int component) const
Return one line start coordinate, where component is 0=x,1=y,2=z.
float getLineEnd(int line, int component) const
Return one line end coordinate, where component is 0=x,1=y,2=z.
std::string getStatusLabel() const
Return a concise capture/staging/publication status annotation.
float getCenterY() const
Return probe center Y.
float getColorG() const
Return status color green channel.
float getCenterZ() const
Return probe center Z.
float getCenterX() const
Return probe center X.
Incremental six-face HDR scene capture for a runtime reflection probe.
Script composition module for graphics-domain editor helpers.
std::unique_ptr< editor::ReflectionProbeVisualizer > newReflectionProbeVisualizer(graphics::ReflectionProbeCapture *probe) const
Create a renderer-independent reflection-probe visualizer.