31 lines
849 B
C++
31 lines
849 B
C++
|
#ifndef CSG_GIZMOS_H
|
||
|
#define CSG_GIZMOS_H
|
||
|
|
||
|
#include "csg_shape.h"
|
||
|
#include "editor/editor_plugin.h"
|
||
|
#include "editor/spatial_editor_gizmos.h"
|
||
|
|
||
|
class CSGShapeSpatialGizmo : public EditorSpatialGizmo {
|
||
|
|
||
|
GDCLASS(CSGShapeSpatialGizmo, EditorSpatialGizmo);
|
||
|
|
||
|
CSGShape *cs;
|
||
|
|
||
|
public:
|
||
|
virtual String get_handle_name(int p_idx) const;
|
||
|
virtual Variant get_handle_value(int p_idx) const;
|
||
|
virtual void set_handle(int p_idx, Camera *p_camera, const Point2 &p_point);
|
||
|
virtual void commit_handle(int p_idx, const Variant &p_restore, bool p_cancel = false);
|
||
|
void redraw();
|
||
|
CSGShapeSpatialGizmo(CSGShape *p_cs = NULL);
|
||
|
};
|
||
|
|
||
|
class EditorPluginCSG : public EditorPlugin {
|
||
|
GDCLASS(EditorPluginCSG, EditorPlugin)
|
||
|
public:
|
||
|
virtual Ref<SpatialEditorGizmo> create_spatial_gizmo(Spatial *p_spatial);
|
||
|
EditorPluginCSG(EditorNode *p_editor);
|
||
|
};
|
||
|
|
||
|
#endif // CSG_GIZMOS_H
|