<html><head><style type="text/css">body{font:12px Arial;margin:3px;overflow-y:auto;overflow-x:auto}p{margin:0px;}blockquote, ol, ul{margin-top:0px;margin-bottom:0px;}</style></head>
<body><div style="display: block; font-family: Arial; font-size: 12px;">Hello,<br>
<br>
<br>
I am trying to display values on quadratic cells. In my example I have one quadratic quad cell <br>
I allocate only one tuple in my float array and put an arbitrary value :<br>
<br>
<br>
vtkFloatArray *pointScalars = vtkFloatArray::New();<br>
<br>
pointScalars->SetNumberOfComponents(1);<br>
pointScalars->SetNumberOfTuples(6);<br>
pointScalars->SetTuple1(0,10.0);<br>
grid->GetCellData()->SetScalars(pointScalars);<br>
<br>
When running this example I get this error :<br>
<br>
ERROR: In G:\Sandbox\Shared\common\intel_a\Api\Vtk\R4.4\Src\Common\vtkDataSet.cxx, line 403<br>
vtkPolyData (0x01BADF98): Cell array with 1 components, has only 0 tuples but there are 6 cells<br>
<br>
When I allocate six tuples to put six value : ie one for each triangle like this :<br>
<br>
vtkFloatArray *pointScalars = vtkFloatArray::New();<br>
<br>
pointScalars->SetNumberOfComponents(1);<br>
pointScalars->SetNumberOfTuples(6);<br>
pointScalars->SetTuple1(0,10.0);<br>
pointScalars->SetTuple1(1,10.0);<br>
pointScalars->SetTuple1(2,10.0);<br>
pointScalars->SetTuple1(3,10.0);<br>
pointScalars->SetTuple1(4,10.0);<br>
pointScalars->SetTuple1(5,10.0);<br>
<br>
<br>
grid->GetCellData()->SetScalars(pointScalars);<br>
<br>
<br>
I get the following error :<br>
<br>
Warning: In G:\Sandbox\Shared\common\intel_a\Api\Vtk\R4.4\Src\Common\vtkDataSet.cxx, line 411<br>
vtkUnstructuredGrid (0x01B8CB00): Cell array with 1 components, has 6 tuples but there are only 1 cells<br>
<br>
ERROR: In G:\Sandbox\Shared\common\intel_a\Api\Vtk\R4.4\Src\Common\vtkDataSet.cxx, line 403<br>
vtkPolyData (0x01BADF98): Cell array with 1 components, has only 0 tuples but there are 6 cells<br>
<br>
<br>
<br>
Any idea ?<br>
<br>
<br>
<br>
Here is a code snippet to reproduce the behaviour :<br>
<br>
<br>
#include <vtkActor.h><br>
#include <vtkCellType.h><br>
#include <vtkDataSetMapper.h><br>
#include <vtkInteractorStyleTrackballCamera.h><br>
#include <vtkPoints.h><br>
#include <vtkProperty.h><br>
#include <vtkRenderer.h><br>
#include <vtkRenderWindow.h><br>
#include <vtkRenderWindowInteractor.h><br>
#include <vtkUnstructuredGrid.h><br>
#include <vtkWindowToImageFilter.h><br>
#include <vtkInteractorStyleTrackballCamera.h><br>
#include <vtkActor2D.h><br>
#include <vtkLabeledDataMapper.h><br>
#include <vtkLookupTable.h><br>
#include <vtkFloatArray.h><br>
#include <vtkPointData.h><br>
#include <vtkMath.h><br>
#include <vtkScalarBarWidget.h><br>
#include <vtkScalarBarActor.h><br>
#include <vtkLookupTable.h><br>
#include <vtkTexture.h><br>
#include <vtkStructuredPoints.h><br>
#include <vtkBandedPolyDataContourFilter.h><br>
#include <vtkGeometryFilter.h><br>
#include <vtkPolyDataMapper.h><br>
#include <vtkCellData.h><br>
int main( int argc, char *argv[] )<br>
{<br>
<br>
vtkPoints *points = vtkPoints::New();<br>
points->SetNumberOfPoints(8);<br>
<br>
points->SetPoint(0,
0, 0,
0);<br>
points->SetPoint(1,
1, 0,
0);<br>
points->SetPoint(2,
1, 1,
0);<br>
points->SetPoint(3,
0, 1,
0);<br>
points->SetPoint(4, 0.5, 0, 0);<br>
points->SetPoint(5, 1, 0.5, 0);<br>
points->SetPoint(6, 0.5, 1, 0);<br>
points->SetPoint(7, 0, 0.5, 0);<br>
<br>
<br>
vtkIdType pointIds[8];<br>
<br>
pointIds[0] = 0;<br>
pointIds[1] = 1;<br>
pointIds[2] = 2;<br>
pointIds[3] = 3;<br>
pointIds[4] = 4;<br>
pointIds[5] = 5;<br>
pointIds[6] = 6;<br>
pointIds[7] = 7;<br>
<br>
<br>
<br>
<br>
<br>
//--------------<br>
// Quad grid<br>
//--------------<br>
<br>
vtkUnstructuredGrid* grid = vtkUnstructuredGrid::New();<br>
grid->Allocate(1);<br>
grid->SetPoints(points);<br>
grid->InsertNextCell(VTK_QUADRATIC_QUAD,8,pointIds);<br>
<br>
<br>
// Point data (scalars)<br>
vtkFloatArray *pointScalars = vtkFloatArray::New();<br>
<br>
pointScalars->SetNumberOfComponents(1);<br>
pointScalars->SetNumberOfTuples(6);<br>
pointScalars->SetTuple1(0,10.0);<br>
<br>
grid->GetCellData()->SetScalars(pointScalars);<br>
<br>
// Lookup :<br>
vtkLookupTable *lookupTable = vtkLookupTable::New();<br>
lookupTable->SetNumberOfColors(10);<br>
lookupTable->SetTableRange(0.0,1.0);<br>
lookupTable->Build(); <br>
<br>
<br>
// Scalar bar actor<br>
vtkScalarBarWidget *scalarBarWidget=vtkScalarBarWidget::New();<br>
vtkScalarBarActor *scalarBarActor = vtkScalarBarActor::New();<br>
scalarBarActor->SetLookupTable(lookupTable);<br>
scalarBarWidget->SetScalarBarActor(scalarBarActor);<br>
scalarBarActor->SetMaximumNumberOfColors(10);<br>
<br>
<br>
// Mapper<br>
vtkDataSetMapper *currentMapper=vtkDataSetMapper::New();<br>
currentMapper->SetInput(grid);<br>
currentMapper->ScalarVisibilityOff();<br>
currentMapper->SetLookupTable(lookupTable);<br>
currentMapper->SetInterpolateScalarsBeforeMapping(1);<br>
currentMapper->SetScalarModeToUseCellData();<br>
<br>
<br>
// Actor<br>
vtkActor *quadActor = vtkActor::New();<br>
quadActor->SetMapper(currentMapper);<br>
<br>
<br>
<br>
//--------------<br>
// Visualization<br>
//-------------- <br>
// Renderer<br>
vtkRenderer *renderer= vtkRenderer::New();<br>
<br>
renderer->SetLightFollowCamera(true);<br>
renderer->SetBackground(0.6,0.7,0.9);<br>
renderer->AddActor(quadActor);<br>
renderer->AddActor(scalarBarActor);<br>
<br>
// RenderWindow<br>
vtkRenderWindow *renderWindow = vtkRenderWindow::New();<br>
renderWindow->AddRenderer(renderer);<br>
renderWindow->SetSize(300,300);<br>
<br>
// Interactor<br>
vtkRenderWindowInteractor *interactor = vtkRenderWindowInteractor::New();<br>
interactor->SetRenderWindow(renderWindow);<br>
<br>
// Interactor style<br>
vtkInteractorStyleTrackballCamera *interactorStyle = vtkInteractorStyleTrackballCamera::New();<br>
interactor->SetInteractorStyle(interactorStyle);<br>
<br>
// Event loop<br>
interactor->Initialize();<br>
interactor->Start();<br>
<br>
<br>
<br>
return 0;<br>
}<br>
<br>
<br></br><p style="margin-top:11px;padding-top:3px;background-image: url(http://mail.lycos.co.uk/Images/Mail/_content/dot.gif);background-repeat: repeat-x;background-position: 0px 0px;"><img src="http://premiummail.caramail.lycos.fr/Images/Mail/_icons/premium.gif"><font color="#CC0000"><b> 300 Mo gratuits sur CaraMail : </b></font><a href="http://secure.caramail.lycos.fr/services/signin/mail.jsp" target="_blank">Cliquez ici pour en profiter!</a></div></body></html>