Skip to content
This repository has been archived by the owner on Sep 27, 2023. It is now read-only.

Extending "reset view" with more defaults. #39

Open
TLC123 opened this issue Sep 21, 2018 · 1 comment
Open

Extending "reset view" with more defaults. #39

TLC123 opened this issue Sep 21, 2018 · 1 comment

Comments

@TLC123
Copy link
Contributor

TLC123 commented Sep 21, 2018

Love the new reset view function. Very useful.
I can immediately think of a couple of useful reset alternatives to default views.

  1. Regular stuff like top/bottom, left/right, front/back.
    Maybe repeated "reset" presses could toggle through them.
    Maybe single key for each.

  2. All combination of the above projections. like top+front.
    This makes more sense from command-line than as a toggle.
    Maybe typing up to three letter key combo for each. T, TLF, T F, T R, F, BRB.
    Nut sure how the shader can catch sequences of key presses though.

Beyond this feature request, but also relevant to the discussion of reseting views. stuff like:
-"zoom extents" if !inf , either by bounding box or field samples.

  • Setting default view from command line,
    This feature makes some sense when launching multiple views of the same file. Older cad style.
  • Possibly iso/perspective, I don't think viewer support this currently.
    /123
@doug-moen
Copy link
Member

I'm not sure about multi-key combinations, or repeated presses of the same key to toggle through states. That sounds a little complicated. However, I would endorse a simple interface that maps single keys onto some of the more useful viewer options in OpenSCAD. For example,

  • T -> top
  • B -> bottom
  • L -> left
  • R -> right
  • SHIFT+F -> front
  • SHIFT+B -> back
  • O -> orthogonal
  • P -> perspective

(Or propose a better key mapping.)

I think that TBLRFB could probably be implemented simply by changing the existing 3D camera variables, same as how the HOME key (reset) works.

The O/P keys would, I think, require somebody who understands the difference between a "perspective projection" and an "orthographic projection". I think changes are required to the 3D rendering code, and possibly the addition of a new uniform variable. There are lots of tutorials on the web that explain these concepts, in the context of OpenGL. Look at the fragment shader generated by -o foo.frag on the command line: the code is in libcurv/geom/frag.cc.

I am not sure what you want the "Zoom Extents" command to do. Isn't that just a command that makes all objects visible? Doesn't the HOME key already do that?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants