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

avtWorldSpaceToImageSpaceTransform - wrong spatial bounds #17110

Open
ARSanderson opened this issue Nov 8, 2021 · 3 comments
Open

avtWorldSpaceToImageSpaceTransform - wrong spatial bounds #17110

ARSanderson opened this issue Nov 8, 2021 · 3 comments
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood reviewed Issue has been reviewed and labeled by a developer wrong results Causes non-obvious misinterpretation of data by users

Comments

@ARSanderson
Copy link
Contributor

avtWorldSpaceToImageSpaceTransform is a "helper" transform for rendering. However, the handling of the resulting spatial bounds are not updated. They are only marked as being InvalidateSpatialMetaData.

This action maybe correct given this class is a "helper" transform for point sampling. However, avtResampleFilter also uses these results.

The issue is further compounded by the fact within avtWorldSpaceToImageSpaceTransform rectilinear grids can be passed through. And the view may be further transformed if it is for a perspective view.

As such, the class and its usage is rather bastardized. Which is probably why InvalidateSpatialMetaData was set and not attempt was made to set the actual bounds.

I have no solution but felt it needs to be documented because it caused down stream issue for some test code I was creating. To my knowledge, it is not yet causing any down stream issues.

@ARSanderson ARSanderson added bug Something isn't working likelihood medium Neither low nor high likelihood impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) labels Nov 8, 2021
@ARSanderson ARSanderson added wrong results Causes non-obvious misinterpretation of data by users and removed likelihood medium Neither low nor high likelihood impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) labels Nov 8, 2021
@markcmiller86
Copy link
Member

markcmiller86 commented Nov 8, 2021

In looking at avtSampleFilter code, I see the call to avtWorldSpaceToImageSpace transform is embedded in that and it appears to be there to satisfy the interface of avtSamplePointExtractor.

I am thinking that avtSamplePointExtractor is designed to work in some kind of normalized space of the dataset, independent of any view related stuff. But, it may have all originally been integrated with VisIt within the context of a ray-tracing algorithm and so the classes in use here operate kinda sorta within that context.

In avtSamplePointExtractor, just before calling avtWorldSpaceToImageSpace transform to do the sample point extraction, there is a comment that the pipeline is being pinched off so that what is done there doesn't propagate up the pipeline. That sounds highly indicative to me that were using avtWorldSpaceToImageSpace transform locally only to do work specific to this step in the pipeline and that changes from it should NOT propagate. But, maybe parts of the contract (e.g. spatial bounds validity) are erroneously propagating?

Just thinking out loud.

@brugger1
Copy link
Collaborator

@ARSanderson is this causing you problems?

@brugger1 brugger1 added impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood reviewed Issue has been reviewed and labeled by a developer labels Nov 18, 2021
@ARSanderson
Copy link
Contributor Author

Similar to #17111 (comment) I do no need to use it in my pipeline any longer, so it is not a bottleneck.

But the question remains, when a filter InvalidateSpatialMetaData what does that really mean to down stream filters? And if invalidated but the filter can update the spatial bound should it not do that?? avtTransform::UpdateDataObjectInfo updates the spatial bound but yet also InvalidateSpatialMetaData. So what does that mean to down stream filters?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working impact medium Productivity partially degraded (not easily mitigated bug) or improved (enhancement) likelihood medium Neither low nor high likelihood reviewed Issue has been reviewed and labeled by a developer wrong results Causes non-obvious misinterpretation of data by users
Projects
None yet
Development

No branches or pull requests

3 participants