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

Add translations to surfaces #73

Open
MicahGale opened this issue May 25, 2022 · 3 comments
Open

Add translations to surfaces #73

MicahGale opened this issue May 25, 2022 · 3 comments
Assignees
Labels
feature request An issue that improves the user interface. good first issue Good for newcomers

Comments

@MicahGale
Copy link
Collaborator

In GitLab by @tjlaboss on May 25, 2022, 11:17

Let's say you want to apply x, y, z translations to all the surfaces (or a subset of surfaces) in a problem. Maybe you want to add or remove a transformation card, or maybe you just want to shift things around without transformations.

Various surface types that would need implementations:

  • Those infinite in the axis of shift (no change to cz or c/z for delta-z)
  • Those moving only along the axis of shift (do change to c/y for delta-z)
  • Those that need to change the surface type (change a cy to c/y for delta-z)
  • Macrobodies
  • Those with more complicated quadratic equations (plane equations, general surface)
@MicahGale
Copy link
Collaborator Author

I don't like saying add a translation to a surface, because that's too close to a transformation. I'd say we need a .translate() method. Making it a verb makes it clearer, but this is pretty in the weeds.

I think we should also add this method to Cell. I think it's sometimes useful to move just one cell, instead of all of them. Though this could lead to double moves. Do we want to detect this and warn users?

  1. I think an incremental phase-in would be best. Hit the low hanging fruit, and throw an UnsupportedFeature error for the others.
  2. How arbitrary do we want to go? Do we want to only support translate_x, etc. Or support translation by a vector, which would then project the translation vector onto the translatable? vector?
  3. Do we want to support rotations? I think 90 degree rotations would be useful. Like changing a CZ into a CY.

@MicahGale
Copy link
Collaborator Author

In GitLab by @tjlaboss on May 25, 2022, 13:35

Probably with a len=3-vector. Rotation is possible, but imo will be more work to implement and less immediately useful vs. translating a surface.

@MicahGale
Copy link
Collaborator Author

Aww yeah I get to dust off my vector math skills. We may want to keep numpy then and ignore #31.

@MicahGale MicahGale removed this from the Release-1.0.0 milestone Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request An issue that improves the user interface. good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants