Skip to content
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

Feat/robust visualization #5

Merged
merged 64 commits into from
Oct 15, 2024
Merged

Commits on Sep 14, 2024

  1. Configuration menu
    Copy the full SHA
    a76fee2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ee197db View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    23a1e41 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8824410 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f8e6d5d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ae35d79 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b765f23 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8bf6151 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    df62bd2 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    a3d2439 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4be64df View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2024

  1. Configuration menu
    Copy the full SHA
    383b0c8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c0778e1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e2ff1a8 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dcd4ea6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b818383 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    93eb9cf View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3d4f7a7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1174ac1 View commit details
    Browse the repository at this point in the history

Commits on Sep 17, 2024

  1. Configuration menu
    Copy the full SHA
    b32feb7 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. Configuration menu
    Copy the full SHA
    68225d2 View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2024

  1. Configuration menu
    Copy the full SHA
    9a2c007 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5834196 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d10d1d4 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2024

  1. Configuration menu
    Copy the full SHA
    d58d49f View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Configuration menu
    Copy the full SHA
    98e5a79 View commit details
    Browse the repository at this point in the history
  2. refactor: complete rewrite of LensViewer to improve robustness and ma…

    …ke plotting generic for any coordinate systems
    HarrisonKramer committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    11dd1d5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a5cf05a View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2024

  1. Configuration menu
    Copy the full SHA
    645d1ef View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. Configuration menu
    Copy the full SHA
    7ccdd98 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2024

  1. Configuration menu
    Copy the full SHA
    b2d8a7b View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2024

  1. Configuration menu
    Copy the full SHA
    35de93e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c6bf32a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d812a8f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b2f7862 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    bbeac98 View commit details
    Browse the repository at this point in the history
  6. feat: Add Surface2D and Surface3D classes for visualizing surfaces in…

    … 2D and 3D
    
    This commit adds the Surface2D and Surface3D classes to the optiland.visualization.surface module. These classes are used for visualizing surfaces in 2D and 3D respectively. The Surface2D class plots the surface on a matplotlib axis, while the Surface3D class plots the surface using VTK renderer. Both classes have methods to compute the sag of the surface and handle physical apertures if present.
    
    The Surface2D class takes a Surface object and an extent tuple as arguments, and the Surface3D class takes a Surface object and an extent tuple as well. The Surface2D class plots the surface on a matplotlib axis using the _compute_sag method, and the Surface3D class plots the surface using VTK renderer by creating a polydata object, applying Delaunay triangulation, and mapping the surface to a VTK actor.
    
    The Surface3D class also has a _configure_material method to configure the material properties of the VTK actor.
    
    This commit enhances the visualization capabilities of the optiland library and provides a convenient way to visualize surfaces in 2D and 3D.
    HarrisonKramer committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    ffe1ccb View commit details
    Browse the repository at this point in the history
  7. feat: Add Mirror3D class for visualizing 3D mirror surfaces

    Add a new class, Mirror3D, to represent a 3D mirror surface in the optiland.visualization module. This class inherits from the Surface3D class and provides methods for configuring the material properties of the mirror surface.
    
    The Mirror3D class takes a mirror surface and an extent as arguments in its constructor. The _configure_material method is used to set the color, ambient, diffuse, specular, and specular power properties of the mirror surface actor.
    
    This commit adds the Mirror3D class to the optiland.visualization.mirror module.
    HarrisonKramer committed Oct 13, 2024
    Configuration menu
    Copy the full SHA
    2b7ddd7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b15b5e9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5cdd166 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    af96347 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    694e3b2 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    e9d31f6 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    92b7a28 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    de826cc View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2024

  1. Configuration menu
    Copy the full SHA
    5d8560c View commit details
    Browse the repository at this point in the history
  2. refactor: Refactor Lens3D class and visualization methods

    Refactor the Lens3D class in lens.py to improve code organization and readability. The changes include:
    - Adding a nested Lens3D class with proper documentation and attributes
    - Implementing the is_symmetric method to check if all surfaces in the lens are symmetric
    - Refactoring the plot method to handle both symmetric and non-symmetric lenses
    - Adding helper methods for plotting single lenses and configuring material properties
    - Refactoring the _plot_surfaces method to compute sag values and plot the surfaces
    - Adding the _get_edge_surface method to generate VTK actors representing the surface between two circles
    - Refactoring the _plot_surface_edges method to calculate the maximum extent of the surfaces and plot circular edges
    
    These changes improve the overall structure and maintainability of the Lens3D class and its visualization methods.
    HarrisonKramer committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    8f1eb85 View commit details
    Browse the repository at this point in the history
  3. refactor: Refactor Surface3D class to improve surface plotting

    The Surface3D class in surface.py has been refactored to improve the plotting of 3D surfaces. The changes include:
    - Moving the initialization of the Surface2D superclass to the Surface3D constructor
    - Adding a get_surface() method to retrieve the surface actor based on the symmetry of the surface geometry
    - Splitting the plot() method into separate methods for generating symmetric and asymmetric surface actors
    - Adding a _configure_material() method to configure the material properties of the surface actor
    - Converting the surface actor to global coordinates after generating it
    
    These changes enhance the flexibility and readability of the Surface3D class, making it easier to plot both symmetric and asymmetric surfaces.
    HarrisonKramer committed Oct 14, 2024
    Configuration menu
    Copy the full SHA
    45b325e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d9a3169 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c1b969f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e1e01a7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    40c1fe9 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0591f11 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    014228d View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. Configuration menu
    Copy the full SHA
    604314b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e082bf8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e6a5fc1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f63c647 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d05f11b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3c12f66 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    b1e5900 View commit details
    Browse the repository at this point in the history
  8. refactor: Update OpticViewer3D class to handle rendering window and i…

    …nteractor
    
    This commit updates the OpticViewer3D class in the visualization module. It adds instance variables for the render window and interactor, and modifies the view method to use these variables. This change improves the code organization and makes it easier to manage the rendering window and interactor in the 3D viewer.
    
    Refactor the OpticViewer3D class to handle the rendering window and interactor.
    HarrisonKramer committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    ce63a34 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    df116e6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8332b54 View commit details
    Browse the repository at this point in the history