-
Notifications
You must be signed in to change notification settings - Fork 7
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
Conversation
This file contains 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
… in SpotDiagram class
… x, y, and z coordinates
…ke plotting generic for any coordinate systems
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.
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.
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.
…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.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.