MantisBT - ParaView
View Issue Details
0009328ParaViewBugpublic2009-07-28 19:552011-01-13 17:00
Alan Scott 
Utkarsh Ayachit 
normalminoralways
closedfixed 
 
3.6.23.6.2 
0009328: Mode shapes should go from 1 to N, not 0 to N-1
On the Exodus reader panel, under Mode Shapes, there is a slider bar that says Mode. This should go from 1 to N, not 0 to N-1. This would be really nice to get into 3.6.2.
No tags attached.
related to 0014813closed Utkarsh Ayachit Mode shapes slider is off by 1 
Issue History
2009-07-28 19:55Alan ScottNew Issue
2009-07-28 20:14Ken MorelandNote Added: 0017002
2009-07-28 20:14Ken MorelandStatusbacklog => tabled
2009-07-28 20:14Ken MorelandAssigned To => Utkarsh Ayachit
2009-07-28 20:20Alan ScottNote Added: 0017003
2009-07-29 11:00Ken MorelandNote Added: 0017005
2009-07-31 09:37Utkarsh AyachitNote Added: 0017030
2009-08-02 17:07Ken MorelandNote Added: 0017048
2009-08-24 16:46Alan ScottNote Added: 0017196
2009-09-02 13:31Utkarsh AyachitNote Added: 0017306
2009-09-02 13:34Utkarsh AyachitNote Added: 0017308
2009-09-02 13:34Utkarsh AyachitStatustabled => @80@
2009-09-02 13:34Utkarsh AyachitFixed in Version => 3.6.2
2009-09-02 13:34Utkarsh AyachitResolutionopen => fixed
2009-09-09 22:02Alan ScottNote Added: 0017365
2009-09-09 22:02Alan ScottStatus@80@ => closed
2011-01-13 17:00Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00Source_changeset_attached => VTK master 020ef709
2014-07-30 11:18Utkarsh AyachitRelationship addedrelated to 0014813

Notes
(0017002)
Ken Moreland   
2009-07-28 20:14   
Damn you Exodus and your start index of 1!

This is probably a lot harder than it sounds. The problem is that the mode shape index is inexorably tied to time (Exodus' fault, not ours), and ParaView stores time values in arrays that start indices at 0 (like all other C arrays). There would have to be some hackery, probably at many levels, get this to work.

I suggest having Utkarsh take a look at this first. Perhaps he will think of some brilliant solution to work around the problem.
(0017003)
Alan Scott   
2009-07-28 20:20   
lol! Why not keep the internal way we do it as is, and just hack the Object Inspector panel for the Exodus Reader? We would also probably have to hack the Information tab...

Another idea (and I DO NOT know what I am talking about here) - could we just move the values in the Exodus reader when the user selects Mode Shapes? I.e., leave the 0th entry with nothing in it, and shift all values up. When Mode Shapes are turned off, shift them back down...
(0017005)
Ken Moreland   
2009-07-29 11:00   
Unfortunately, it's not that simple. The GUI components set up links between the widgets and SM properties. The link is implemented with a rather complicated set of objects whose guts I don't like to get into. I don't know of any easy way to get around this. You would also have to make similar hacks to the Python code (not a huge deal), and anyone who access the Exodus reader through C++ or some other means would have to know about the hack.

Moving the indices in the Exodus reader itself is not that easy either. I can think of several hurdle, the biggest one being that the mode values inevitably have to pass through a SM property, and these are indexed starting at 0.

Again, I think Utkarsh, the expert, needs to look at this.
(0017030)
Utkarsh Ayachit   
2009-07-31 09:37   
Hmm, I am confused. Once "Has Mode Shape" is checked, the Exodus reader no longer produces timesteps, right? Instead it has a time-range [0-1].
So what the mode-shapes slider or even what the "ModeShape" property accepts as a value can be easily changed to be 1 offseted, right? It totally internal to ExodusReader and it's panel and has nothing to do with the rest of the ParaView so we can very easily simply say the ModeShape index starts with 1, instead of 0. I am sure I am missing something here. Ken?
(0017048)
Ken Moreland   
2009-08-02 17:07   
OK. Now that you bring this up, this may not be the best implementation. When the reader first comes up, it always has mode shapes off. In that case, the reader will report the "time steps". Those time steps will be recorded as mode values in the GUI. (The values only matter in that they are presented to the user. The property takes the 0-based index.)

It might be better to just make another property that gets the time values as a regular ivar property. It might make the code a bit cleaner, but the 0- vs. 1-based indexing is still an issue.
(0017196)
Alan Scott   
2009-08-24 16:46   
We want this in 3.6.2 if it ends up fairly easy and safe. Otherwise, defer to 3.8.0
(0017306)
Utkarsh Ayachit   
2009-09-02 13:31   
ModeShape index now goes from [1, N] rather than [0, N-1].


/cvsroot/ParaView3/ParaView3/VTK/Hybrid/vtkExodusIIReader.h,v <-- VTK/Hybrid/vtkExodusIIReader.h
new revision: 1.29; previous revision: 1.28
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/Resources/readers.xml,v <-- Servers/ServerManager/Resources/readers.xml
new revision: 1.168; previous revision: 1.167
/cvsroot/ParaView3/ParaView3/Qt/Components/pqExodusIIPanel.cxx,v <-- Qt/Components/pqExodusIIPanel.cxx
new revision: 1.21; previous revision: 1.20
/cvsroot/ParaView3/ParaView3/Applications/Client/Testing/XML/ExodusModeShapes.xml,v <-- Applications/Client/Testing/XML/ExodusModeShapes.xml
new revision: 1.5; previous revision: 1.4


Pending 3.6 commit.
(0017308)
Utkarsh Ayachit   
2009-09-02 13:34   
/cvsroot/ParaView3/ParaView3/Applications/Client/Testing/XML/ExodusModeShapes.xml,v <-- Applications/Client/Testing/XML/ExodusModeShapes.xml
new revision: 1.4.2.1; previous revision: 1.4
/cvsroot/ParaView3/ParaView3/Qt/Components/pqExodusIIPanel.cxx,v <-- Qt/Components/pqExodusIIPanel.cxx
new revision: 1.19.6.2; previous revision: 1.19.6.1
/cvsroot/ParaView3/ParaView3/Servers/ServerManager/Resources/readers.xml,v <-- Servers/ServerManager/Resources/readers.xml
new revision: 1.152.2.5; previous revision: 1.152.2.4
/cvsroot/ParaView3/ParaView3/VTK/Hybrid/vtkExodusIIReader.h,v <-- VTK/Hybrid/vtkExodusIIReader.h
new revision: 1.27.2.1; previous revision: 1.27
(0017365)
Alan Scott   
2009-09-09 22:02   
Tested local server.