[Paraview] output->GetPointData()->SetScalars(pointScalars); No effect.
Utkarsh Ayachit
utkarsh.ayachit at kitware.com
Fri Sep 13 11:40:58 EDT 2013
Please keep the discussion to the mailing list.
What is the expected result here?
On Fri, Sep 13, 2013 at 11:06 AM, 庞庆源 <pangqingyuan1991 at gmail.com> wrote:
> Why this example can color the cube?
>
>
> 2013/9/13 庞庆源 <pangqingyuan1991 at gmail.com>
>
>> Thank you for your reply.I would like to show you a example and its
>> picture:
>>
>> /*=========================================================================
>>
>> Program: Visualization Toolkit
>> Module: Cube.cxx
>>
>> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>> All rights reserved.
>> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>> This software is distributed WITHOUT ANY WARRANTY; without even
>> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>> PURPOSE. See the above copyright notice for more information.
>>
>>
>> =========================================================================*/
>> // This example shows how to manually create vtkPolyData.
>>
>> #include "vtkActor.h"
>> #include "vtkCamera.h"
>> #include "vtkCellArray.h"
>> #include "vtkFloatArray.h"
>> #include "vtkPointData.h"
>> #include "vtkPoints.h"
>> #include "vtkPolyData.h"
>> #include "vtkPolyDataMapper.h"
>> #include "vtkRenderWindow.h"
>> #include "vtkRenderWindowInteractor.h"
>> #include "vtkRenderer.h"
>>
>> int main()
>> {
>> int i;
>> static float x[8][3]={{0,0,0}, {1,0,0}, {1,1,0}, {0,1,0},
>> {0,0,1}, {1,0,1}, {1,1,1}, {0,1,1}};
>> static vtkIdType pts[6][4]={{0,1,2,3}, {4,5,6,7}, {0,1,5,4},
>> {1,2,6,5}, {2,3,7,6}, {3,0,4,7}};
>>
>> // We'll create the building blocks of polydata including data
>> attributes.
>> vtkPolyData *cube = vtkPolyData::New();
>> vtkPoints *points = vtkPoints::New();
>> vtkCellArray *polys = vtkCellArray::New();
>> vtkFloatArray *scalars = vtkFloatArray::New();
>>
>> // Load the point, cell, and data attributes.
>> for (i=0; i<8; i++) points->InsertPoint(i,x[i]);
>> for (i=0; i<6; i++) polys->InsertNextCell(4,pts[i]);
>> for (i=0; i<8; i++) scalars->InsertTuple1(i,i);
>>
>> // We now assign the pieces to the vtkPolyData.
>> cube->SetPoints(points);
>> points->Delete();
>> cube->SetPolys(polys);
>> polys->Delete();
>> cube->GetPointData()->SetScalars(scalars);
>> scalars->Delete();
>>
>> // Now we'll look at it.
>> vtkPolyDataMapper *cubeMapper = vtkPolyDataMapper::New();
>> cubeMapper->SetInputData(cube);
>> cubeMapper->SetScalarRange(0,7);
>> vtkActor *cubeActor = vtkActor::New();
>> cubeActor->SetMapper(cubeMapper);
>>
>> // The usual rendering stuff.
>> vtkCamera *camera = vtkCamera::New();
>> camera->SetPosition(1,1,1);
>> camera->SetFocalPoint(0,0,0);
>>
>> vtkRenderer *renderer = vtkRenderer::New();
>> vtkRenderWindow *renWin = vtkRenderWindow::New();
>> renWin->AddRenderer(renderer);
>>
>> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
>> iren->SetRenderWindow(renWin);
>>
>> renderer->AddActor(cubeActor);
>> renderer->SetActiveCamera(camera);
>> renderer->ResetCamera();
>> renderer->SetBackground(1,1,1);
>>
>> renWin->SetSize(300,300);
>>
>> // interact with data
>> renWin->Render();
>> iren->Start();
>>
>> // Clean up
>>
>> cube->Delete();
>> cubeMapper->Delete();
>> cubeActor->Delete();
>> camera->Delete();
>> renderer->Delete();
>> renWin->Delete();
>> iren->Delete();
>>
>> return 0;
>> }
>> [image: 内嵌图片 1]
>>
>>
>> 2013/9/13 Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
>>
>>> Float arrays cannot be directly mapped to colors. They need a LUT to
>>> convert to color. If you want to pass RGB colors, create a
>>> vtkUnsignedCharArray with 3 components instead. Then VTK can render
>>> those colors directly without mapping.
>>>
>>> On Fri, Sep 13, 2013 at 10:55 AM, 庞庆源 <pangqingyuan1991 at gmail.com>
>>> wrote:
>>> > scalararray is vtkFloatArray.I only call
>>> > pointScalars->InsertTuple1(myId,velocity) for every point.never call
>>> > SetNumberOfComponents();Is it the problem?
>>> >
>>> >
>>> > 2013/9/13 Utkarsh Ayachit <utkarsh.ayachit at kitware.com>
>>> >>
>>> >> WHat is the type of scalar array? If it's not an unsigned char array
>>> with
>>> >> 3 or 4 components, VTK will use a lookuptable to map the scalar to
>>> colors.
>>> >>
>>> >> Utkarsh
>>> >>
>>> >>
>>> >> On Fri, Sep 13, 2013 at 8:52 AM, 庞庆源 <pangqingyuan1991 at gmail.com>
>>> wrote:
>>> >>>
>>> >>>
>>> >>> I write a simple reader,inheriting from vtkPolyDataAlgorithm.But
>>> >>> SetScalars() cannot color the plane.When I test it use general vtk
>>> >>> polydata->mapper->actor->renderer->renderwindow,I can see different
>>> color at
>>> >>> different point.Does someone know the reason?Thank you.
>>> >>> --
>>> >>> 庞庆源
>>> >>>
>>> >>> _______________________________________________
>>> >>> 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
>>> >>>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > 庞庆源
>>>
>>
>>
>>
>> --
>> 庞庆源 <pangqingyuan1991 at gmail.com>
>>
>
>
>
> --
> 庞庆源 <pangqingyuan1991 at gmail.com>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130913/b1d3f425/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 23733 bytes
Desc: not available
URL: <http://www.paraview.org/pipermail/paraview/attachments/20130913/b1d3f425/attachment-0001.png>
More information about the ParaView
mailing list