[Paraview] Correct Extents for vtkImageData + Crash in ParaView 3.6.2
Mike Jackson
mike.jackson at bluequartz.net
Wed Jan 27 11:16:09 EST 2010
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
More information about the ParaView
mailing list