<div>I use vtk to draw a color cube,I think my program have no error! But it could not draw the graphic which I want to ?</div> <div> </div> <div>I think have someone in here could indicate where have error in my program!</div> <div> </div> <div>thank advanced!</div> <div> </div> <div> </div> <div>#include "vtkLookupTable.h"<br>#include "vtkPolyDataMapper.h"<br>#include "vtkRenderWindow.h"<br>#include "vtkRenderWindowInteractor.h"<br>#include "vtkCamera.h"<br>#include "vtkActor.h"<br>#include "vtkRenderer.h"<br>#include "vtkInteractorStyleTrackballCamera.h"<br>#include "vtkFloatArray.h"<br>#include "vtkPointData.h"<br>#include "vtkCellArray.h"<br>#include "vtkPoints.h"<br>#include "vtkPolyData.h"</div> <div>int main()<br>{<br> float x[8][3] = { {0.0,0.0,0.0}, {1.0,0.0,0.0}, {1.0,1.0,0.0}, {0.0,1.0,0.0}, <br> {0.0,0.0,1.0}, {1.0,0.0,1.0}, {1.0,1.0,1.0},
{0.0,1.0,1.0} };</div> <div><br> vtkIdType pts[6][4] = { {0,3,2,1},{2,3,7,6},{0,4,7,3},{1,2,6,5},{4,5,6,7},{0,1,5,4} };</div> <div> vtkPolyData * cube = vtkPolyData::New();<br> vtkPoints *points = vtkPoints::New();<br> vtkCellArray *polys = vtkCellArray::New();<br> vtkFloatArray *scalars = vtkFloatArray::New();</div> <div> int i ;<br> for(i = 0;i < 8 ;++i) points->InsertPoint(i,x[i]);<br> for(i = 0;i < 6 ;++i) polys->InsertNextCell(4,pts[i]);<br> for(i = 0;i < 8 ;++i) scalars->InsertTuple1(i,i);</div> <div><br> vtkLookupTable* lut =
vtkLookupTable::New();<br> lut->SetNumberOfColors(256);<br> lut->SetTableValue(0,0,0,0,1);<br> lut->SetTableValue(1,1,0,0,1);<br> lut->SetTableValue(2,0,1,0,1);<br> lut->SetTableValue(3,0,0,1,1);<br> lut->SetTableValue(4,1,1,0,1);<br> lut->SetTableValue(5,1,0,1,1);<br> lut->SetTableValue(6,0,1,1,1);<br> lut->SetTableValue(7,1,1,1,1);<br> lut->Build();</div> <div><br> cube->SetPoints(points);<br> cube->SetPolys(polys);<br> cube->GetPointData()->SetScalars(scalars);</div> <div> vtkPolyDataMapper* colorcubeMapper = vtkPolyDataMapper::New();<br> //colorcubeMapper->SetInputConnection(colorcube->GetOutputPort());<br> colorcubeMapper->SetInput(cube);<br> colorcubeMapper->ScalarVisibilityOn();<br>// colorcubeMapper->SetScalarModeToUsePointData();<br> colorcubeMapper->SetLookupTable(lut);</div>
<div> vtkActor* colorcubeActor = vtkActor::New();<br> colorcubeActor->SetMapper(colorcubeMapper);</div> <div> vtkCamera *camera = vtkCamera::New();<br> camera->SetPosition(1,1,1);<br> camera->SetFocalPoint(0,0,0);</div> <div><br> vtkRenderer* ren1 = vtkRenderer::New();<br> vtkRenderWindow* renWin = vtkRenderWindow::New();<br> renWin->AddRenderer(ren1);<br> vtkRenderWindowInteractor* iren = vtkRenderWindowInteractor::New();<br> iren->SetRenderWindow(renWin);</div> <div> ren1->AddActor(colorcubeActor);<br> ren1->SetActiveCamera(camera);<br> ren1->ResetCamera();</div> <div><br> ren1->SetBackground(1,1,1);<br> renWin->SetSize(300,300);<br> renWin->Render();</div> <div> iren->Initialize();<br> iren->Start();</div>
<div> points->Delete();<br> polys->Delete();<br> scalars->Delete();<br> <br> return 0;<br>}</div> <p> 
                <hr size=1><a href="http://music.yahoo.com.cn/?source=mail_mailbox_footer" target=blank>
Mp3疯狂搜-新歌热歌高速下
</a>