← 返回首页
cameras and controllers refactor by kushalkolar · Pull Request #382 · fastplotlib/fastplotlib · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

cameras and controllers refactor#382

Merged
kushalkolar merged 17 commits into
mainfrom
more-controllers-attempt-2
Nov 30, 2023
Merged

cameras and controllers refactor#382
kushalkolar merged 17 commits into
mainfrom
more-controllers-attempt-2

Conversation

kushalkolar commented Nov 26, 2023
edited
Loading

Copy link
Copy Markdown
Member

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 marked this pull request as ready for review November 26, 2023 10:55
kushalkolar mentioned this pull request Nov 26, 2023
17 tasks
Comment thread fastplotlib/layouts/_gridplot.py Outdated Show resolved Hide resolved
Comment thread fastplotlib/layouts/_gridplot.py Show resolved Hide resolved
Comment thread fastplotlib/layouts/_gridplot.py Outdated Show resolved Hide resolved
Comment thread fastplotlib/layouts/_gridplot.py Show resolved Hide resolved
Comment thread fastplotlib/layouts/_gridplot.py Outdated Show resolved Hide resolved
Comment thread fastplotlib/layouts/_gridplot.py Show resolved Hide resolved
Comment thread fastplotlib/layouts/_gridplot.py Outdated Show resolved Hide resolved
Comment thread fastplotlib/layouts/_subplot.py Show resolved Hide resolved
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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

Footer

© 2026 GitHub, Inc.