diff --git a/bazaar/GLCanvas_demo/GLCanvas_demo.lay b/bazaar/GLCanvas_demo/GLCanvas_demo.lay index c5c8095c5..d1fb1236b 100644 --- a/bazaar/GLCanvas_demo/GLCanvas_demo.lay +++ b/bazaar/GLCanvas_demo/GLCanvas_demo.lay @@ -1,7 +1,9 @@ LAYOUT(GLCanvas_demoLayout, 480, 372) ITEM(GLCanvas, canvas, SetFrame(ThinInsetFrame()).HSizePosZ(4, 4).VSizePosZ(24, 4)) ITEM(Label, dv___1, SetLabel(t_("File (.stl):")).LeftPosZ(8, 52).TopPosZ(4, 19)) - ITEM(EditString, filename, HSizePosZ(60, 52).TopPosZ(4, 19)) - ITEM(Button, butOpen, SetLabel(t_("Open")).RightPosZ(4, 44).TopPosZ(4, 20)) + ITEM(EditString, filename, HSizePosZ(60, 224).TopPosZ(4, 19)) + ITEM(Button, butOpen, SetLabel(t_("Open")).RightPosZ(172, 44).TopPosZ(4, 20)) + ITEM(Option, opShowNormals, SetLabel(t_("Show normals")).RightPosZ(-4, 96).TopPosZ(4, 16)) + ITEM(Option, opShowAxis, SetLabel(t_("Show axis")).RightPosZ(96, 68).TopPosZ(4, 16)) END_LAYOUT diff --git a/bazaar/GLCanvas_demo/main.cpp b/bazaar/GLCanvas_demo/main.cpp index c47b5bec9..3d40d51aa 100644 --- a/bazaar/GLCanvas_demo/main.cpp +++ b/bazaar/GLCanvas_demo/main.cpp @@ -4,12 +4,20 @@ GLCanvas_demo::GLCanvas_demo() { CtrlLayout(*this, "GLCanvas demo. STL viewer"); + opShowAxis.WhenAction = [&] {canvas.Refresh();}; + opShowNormals.WhenAction = [&] {canvas.Refresh();}; + butOpen.WhenAction = [&] { try { + WaitCursor waitcursor; + bool isText; String header; LoadStl(~filename, surf, isText, header); + surf.GetPanelParams(); surf.GetLimits(); + surf.GetSurface(); + surf.GetVolume(); canvas.SetEnv(surf.env); } catch (Exc e) { Exclamation(DeQtf(e)); @@ -17,7 +25,9 @@ GLCanvas_demo::GLCanvas_demo() }; canvas.WhenPaint = [&] { - canvas.PaintSurface(surf, Green(), true, false); + if (opShowAxis) + canvas.PaintAxis(0, 0, 0, surf.env.LenRef()/4.); + canvas.PaintSurface(surf, Green(), true, ~opShowNormals); }; Sizeable().Zoomable();