-
Notifications
You must be signed in to change notification settings - Fork 35
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
Implement GPU-compatible transformations with ORANGE #872
Conversation
@elliottbiondo I'd appreciate a quick look and feedback for this. |
Based on only what you have committed here, I don't fully understand what you are proposing, especially since you haven't implemented the translation + rotation case yet. My best guess: we could easily have one class constructed like: |
@elliottbiondo Yes, not only for the extra checks but also for the extra storage. Also having them as two separate types makes it much easier and more elegant to apply transformations to surfaces and shapes. |
@elliottbiondo I pushed the changes I'd neglected before. Most important properties we need:
|
@sethrj this all looks fine to me in terms of a draft. My only comment: is it necessary to have separate |
I think you'll see what I'm getting at when I submit the next chained pull requests: I'm defining function-like classes that when applied to a surface, return the transformed/translated surface type (type dependent input, type dependent output); and same thing for both translations and transformations. So the TT classes are translator/transformer rather than translation/transformation. |
0bd7ba9
to
9cb5602
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@elliottbiondo I gave this a quick look over and it's ready for review! (I'm deferring the transform transformers to a later PR.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good @sethrj, just a few minor comments
I'm having second thoughts about declaring separate
Trans{former,lator}{Down,Up}
classes. Maybe we should just have a single class withdown()
,up()
, etc.; and include utility functions (such as "calc_inverse" for the transformation) as part of the class definition...