Skip to content

cameras and controllers refactor #382

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Nov 30, 2023
Merged

Conversation

kushalkolar
Copy link
Member

@kushalkolar kushalkolar commented Nov 26, 2023

superseeds #280 #267
closes #381, closes #383

PlotArea allows changing the controller types, so all plots and subplots can have their controllers changed at any time. In gridplots, if the same controller is used for multiple subplots then it will change the controller for the other respective subplots too if it's changed for only one of the subplots within that synced-subset. Slightly inelegant implementation, we can make it better later.

Merged layouts._defaults into layouts._utils.

Adds the new controllers from pygfx:

  • panzoom
  • fly (new)
  • orbit
  • trackball (new)

Gridplot handles controllers differently now. I think the implementation isn't too complex, I realized we have no reason to have consecutive integers for controller_ids so that makes life easier! @clewis7 @ArjunPutcha please let me know asap!!

controller_types: str, list or np.ndarray, optional
            list or array that specifies the controller type for each subplot.

        controller_ids: str, list or np.ndarray of int or str ids, optional
            | If `None` a unique controller is created for each subplot
            | If "sync" all the subplots use the same controller
            | If ``numpy.array``, its shape must be the same as ``grid_shape``.

            This allows custom assignment of controllers

            | Example with integers:
            | sync first 2 plots, and sync last 2 plots: [[0, 0, 1], [2, 3, 3]]
            | Example with str subplot names:
            | list of lists of subplot names, each sublist is synced: [[subplot_a, subplot_b], [subplot_f, subplot_c]]
            | this syncs subplot_a and subplot_b together; syncs subplot_e and subplot_c together

This was referenced Nov 26, 2023
@kushalkolar kushalkolar marked this pull request as ready for review November 26, 2023 10:55
@kushalkolar kushalkolar mentioned this pull request Nov 26, 2023
17 tasks
kushalkolar and others added 4 commits November 29, 2023 12:33
Co-authored-by: Caitlin Lewis <69729525+clewis7@users.noreply.github.com>
Co-authored-by: Caitlin Lewis <69729525+clewis7@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use PerspectiveCamera for everything Allow changing the cameras and controllers dynamically
2 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy