[Paraview] Correct Extents for vtkImageData + Crash in ParaView 3.6.2
Michael Jackson
mike.jackson at bluequartz.net
Wed Jan 27 15:09:15 EST 2010
Ok. Thanks. At least I am not going crazy. I was noticing that if I
ask for a "2D" data set, ParaView will create a new view instead of
rendering the data into the existing 3D view. 2D is defined as a data
set where the z extents have a delta of 0.
___________________________________________________________
Mike Jackson www.bluequartz.net
On Jan 27, 2010, at 3:01 PM, Utkarsh Ayachit wrote:
> I am tempted to believe it has something to do with the fact that
> ParaView tried to create 6 views to show the each output port or
> something like that. I've added a bug
> http://paraview.org/Bug/view.php?id=10193
>
> The view creation logic needs some clean up esp for multiple output
> ports.
>
> Utkarsh
>
> On Wed, Jan 27, 2010 at 1:48 PM, Michael Jackson
> <mike.jackson at bluequartz.net> wrote:
>> Good Question.
>> I kinda gave up and rewrote it as a MultiBlock Reader with a
>> single output
>> which now seems to be working. If you want me to go back and try
>> out the old
>> reader with a single output port I can pull from GIT and try it
>> otherwise I
>> am moving on..
>>
>> ___________________________________________________________
>> Mike Jackson www.bluequartz.net
>>
>> On Jan 27, 2010, at 2:38 PM, Utkarsh Ayachit wrote:
>>
>>> If you just make the reader produce a single output (change the
>>> number
>>> of output ports to 1) does it work?
>>>
>>> Utkarsh
>>>
>>> On Wed, Jan 27, 2010 at 10:16 AM, Mike Jackson
>>> <mike.jackson at bluequartz.net> wrote:
>>>>
>>>> I am reading a data file that is a has dimensions 189 x 201 x 1.
>>>>
>>>> During the RequestInformation I set the WHOLE_EXTENT to:
>>>> int NumEvenCols = 189;
>>>> int NumRows = 201;
>>>> extents[0] = 0;
>>>> extents[1] = NumEvenCols-1;
>>>> extents[2] = 0;
>>>> extents[3] = NumRows-1;
>>>> extents[4] = 0;
>>>> extents[5] = 0;
>>>>
>>>> outInfo->Set( vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(),
>>>> extents,
>>>> 6 );
>>>>
>>>> Then in the RequestData() method I initialize each vtkImageData
>>>> object
>>>> (there are 6 output ports):
>>>> //------------------
>>>> output->SetScalarTypeToFloat();
>>>> int xDim=NumEvenCols;
>>>> int yDim=NumRows;
>>>> int zDim=1;
>>>> output->SetDimensions( xDim, yDim, zDim );
>>>> output->SetNumberOfScalarComponents( 1 );
>>>> output->AllocateScalars();
>>>> output->GetPointData()->GetScalars()->SetName("Data");
>>>> output->GetPointData()->SetActiveScalars("Data");
>>>> //------------------
>>>>
>>>> The data seems to be read OK but when the GUI tries to finish up
>>>> the
>>>> display I get an "Unhandled exception at 0x01462f3f
>>>> (QtCored4.dll) in
>>>> paraview.exe: 0xC0000005: Access violation writing location
>>>> 0xcdcdcdcd."
>>>> with the following stack trace (Visual Studio 2008, Qt 4.6.1)
>>>>
>>>> QtCored4.dll!QBasicAtomicInt::ref() Line 319 + 0x8
>>>> bytes C++
>>>> QtCored4.dll!QString::QString(const QString & other={...})
>>>> Line
>>>> 715
>>>> + 0x51 bytes C++
>>>>>
>>>>> pqCore.dll!pqView::getViewType() Line 79 + 0x31 bytes C++
>>>>
>>>> pqCore.dll!pqDisplayPolicy::getPreferredView(pqOutputPort *
>>>> opPort=0x0709cee0, pqView * currentView=0x06fbb598) Line 187 +
>>>> 0x18
>>>> bytes C++
>>>>
>>>> pqCore.dll!
>>>> pqDisplayPolicy::createPreferredRepresentation(pqOutputPort
>>>> * opPort=0x0709cee0, pqView * view=0x06fbb598, bool
>>>> dont_create_view=false) Line 240 + 0x17 bytes C++
>>>> pqCore.dll!
>>>> pqPendingDisplayManager::createPendingDisplays(pqView *
>>>> activeview=0x06fbb598) Line 178 + 0x22 bytes C++
>>>> pqCore.dll!
>>>> pqPendingDisplayManager::createPendingDisplays() Line
>>>> 255 C++
>>>> pqCore.dll!
>>>> pqPendingDisplayManager::qt_metacall(QMetaObject::Call
>>>> _c=InvokeMetaMethod, int _id=5, void * * _a=0x00d4c870) Line 92
>>>> C++
>>>> QtCored4.dll!QMetaObject::metacall(QObject *
>>>> object=0x0638cc30,
>>>> QMetaObject::Call cl=InvokeMetaMethod, int idx=9, void * *
>>>> argv=0x00d4c870) Line 238 C++
>>>> QtCored4.dll!QMetaObject::activate(QObject *
>>>> sender=0x06a952b0,
>>>> const QMetaObject * m=0x67971f34, int local_signal_index=1, void
>>>> * *
>>>> argv=0x00000000) Line 3264 + 0x27 bytes C++
>>>> pqComponents.dll!pqObjectInspectorWidget::accepted() Line
>>>> 141 +
>>>> 0x15 bytes C++
>>>> pqComponents.dll!pqObjectInspectorWidget::accept() Line
>>>> 502 C++
>>>>
>>>> pqComponents.dll!
>>>> pqObjectInspectorWidget::qt_metacall(QMetaObject::Call
>>>> _c=InvokeMetaMethod, int _id=9, void * * _a=0x00d4c9fc) Line 114 +
>>>> 0x8 bytes C++
>>>> QtCored4.dll!QMetaObject::metacall(QObject *
>>>> object=0x06a952b0,
>>>> QMetaObject::Call cl=InvokeMetaMethod, int idx=36, void * *
>>>> argv=0x00d4c9fc) Line 238 C++
>>>> QtCored4.dll!QMetaObject::activate(QObject *
>>>> sender=0x06a98ac0,
>>>> const QMetaObject * m=0x65a88ca0, int local_signal_index=2, void
>>>> * *
>>>> argv=0x00d4c9fc) Line 3264 + 0x27 bytes C++
>>>> QtGuid4.dll!QAbstractButton::clicked(bool _t1=false) Line
>>>> 204 +
>>>> 0x15 bytes C++
>>>> QtGuid4.dll!QAbstractButtonPrivate::emitClicked() Line
>>>> 548 C++
>>>> QtGuid4.dll!QAbstractButtonPrivate::click() Line 540 C++
>>>> QtGuid4.dll!QAbstractButton::mouseReleaseEvent(QMouseEvent *
>>>> e=0x00d4d2d4) Line 1122 C++
>>>> QtGuid4.dll!QWidget::event(QEvent * event=0x00d4d2d4) Line
>>>> 7979
>>>> C++
>>>> QtGuid4.dll!QAbstractButton::event(QEvent * e=0x00d4d2d4)
>>>> Line
>>>> 1081 C++
>>>> QtGuid4.dll!QPushButton::event(QEvent * e=0x00d4d2d4) Line
>>>> 680 C++
>>>> QtGuid4.dll!QApplicationPrivate::notify_helper(QObject *
>>>> receiver=0x06a98ac0, QEvent * e=0x00d4d2d4) Line 4298 + 0x11
>>>> bytes C++
>>>> QtGuid4.dll!QApplication::notify(QObject *
>>>> receiver=0x06a98ac0,
>>>> QEvent * e=0x00d4d2d4) Line 3863 + 0x2f bytes C++
>>>> QtCored4.dll!QCoreApplication::notifyInternal(QObject *
>>>> receiver=0x06a98ac0, QEvent * event=0x00d4d2d4) Line 704 + 0x15
>>>> bytes C++
>>>> QtCored4.dll!QCoreApplication::sendSpontaneousEvent(QObject *
>>>> receiver=0x06a98ac0, QEvent * event=0x00d4d2d4) Line 218 + 0x38
>>>> bytes C++
>>>> QtGuid4.dll!QApplicationPrivate::sendMouseEvent(QWidget *
>>>> receiver=0x06a98ac0, QMouseEvent * event=0x00d4d2d4, QWidget *
>>>> alienWidget=0x00000000, QWidget * nativeWidget=0x06a98ac0,
>>>> QWidget * *
>>>> buttonDown=0x65c8fe9c, QPointer<QWidget> & lastMouseReceiver={...},
>>>> bool spontaneous=true) Line 2961 + 0xe bytes C++
>>>> QtGuid4.dll!QETWidget::translateMouseEvent(const tagMSG &
>>>> msg={...})
>>>> Line 3230 + 0x2a bytes C++
>>>> QtGuid4.dll!QtWndProc(HWND__ * hwnd=0x001c0348, unsigned int
>>>> message=514, unsigned int wParam=0, long lParam=1179701) Line
>>>> 1623 +
>>>> 0xc bytes C++
>>>> user32.dll!76836238()
>>>> [Frames below may be incorrect and/or missing, no symbols
>>>> loaded
>>>> for
>>>> user32.dll]
>>>> user32.dll!768368ea()
>>>> user32.dll!76836899()
>>>> user32.dll!76837d31()
>>>> user32.dll!76837dfa()
>>>> QtCored4.dll!QEventDispatcherWin32::processEvents(QFlags<enum
>>>> QEventLoop::ProcessEventsFlag> flags={...}) Line 770 C++
>>>> QtGuid4.dll!
>>>> QGuiEventDispatcherWin32::processEvents(QFlags<enum
>>>> QEventLoop::ProcessEventsFlag> flags={...}) Line 1139 + 0x15
>>>> bytes C++
>>>> QtCored4.dll!QEventLoop::processEvents(QFlags<enum
>>>> QEventLoop::ProcessEventsFlag> flags={...}) Line 150 C++
>>>> QtCored4.dll!QEventLoop::exec(QFlags<enum
>>>> QEventLoop::ProcessEventsFlag> flags={...}) Line 197 + 0x23 bytes
>>>> C++
>>>> QtCored4.dll!QCoreApplication::exec() Line 981 + 0x15
>>>> bytes C++
>>>> QtGuid4.dll!QApplication::exec() Line 3578 C++
>>>> paraview.exe!main(int argc=1, char * * argv=0x03a918c8)
>>>> Line 71 +
>>>> 0x8 bytes C++
>>>> paraview.exe!__tmainCRTStartup() Line 582 + 0x19 bytes C
>>>> paraview.exe!mainCRTStartup() Line 399 C
>>>>
>>>> Now, what is odd is that if I set the Z Extent from 0 to 1, then
>>>> I get
>>>> a rendering except that the rendering is wrong because there are
>>>> now 2
>>>> slices in the z direction. So what am I doing wrong? I can send
>>>> code
>>>> and data file if necessary.
>>>> _________________________________________________________
>>>> Mike Jackson mike.jackson at bluequartz.net
>>>> BlueQuartz Software www.bluequartz.net
>>>> Principal Software Engineer Dayton, Ohio
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Please keep messages on-topic and check the ParaView Wiki at:
>>>> http://paraview.org/Wiki/ParaView
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.paraview.org/mailman/listinfo/paraview
>>>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
More information about the ParaView
mailing list