[Paraview] Export to vtk file needed to get colours!

B.W.H. van Beest bwvb at xs4all.nl
Tue Oct 14 17:01:31 EDT 2014


Yes, that works!
Now the box comes up immediately, in coloured form.

Thanks!
Bertwim


On 10/14/2014 10:28 PM, Cory Quammen wrote:
> Bertwim,
>
> Try naming your arrays, e.g.
>
> vtxdata->SetName("Point Scalars");
> vxldata->SetName("Cell Scalars");
>
> and see if that makes them appear in the Coloring combo box.
>
> Thanks,
> Cory
>
> On Tue, Oct 14, 2014 at 4:23 PM, B.W.H. van Beest <bwvb at xs4all.nl
> <mailto:bwvb at xs4all.nl>> wrote:
>
>     Hello All,
>
>     I wonder if I stumbled upon a bug, or if I made a thinking error
>     myself.
>
>     The issue is: I can get colouring of my Source object only after I
>     write
>     it first to a vtk file and then read it back again!
>
>     This is what I do:
>
>     -) I create a single (rectangular) 3D cell from a (handcrafted)
>     Source type,
>          subclassed from vtkUnstructuredGridAlgorithm.
>         This cell has scalar properties assigned to both its vertices
>     as well as the cell itself.
>
>     -)  After "Apply", the box becomes visible (surface representation)
>          However, there are no colours. The "Coloring" section in the
>          Properties panel does not show the scalar properties. Only
>          "Solid Color" and "cellNormals" appear as combo-options.
>
>     -)   After writing the model to a vtk file, and loading the
>     latter, the
>          loaded box does appear in its coloured form, with the scalar
>     properties
>          selectable in the "Coloring" combo box.    
>
>     Why do the colours not show up immediately after I created
>     ("Apply") the
>     source object. I naively tried a Modified() on the underlying
>     unstructed grid object,
>     but that didn't help.
>
>     For completeness, I paste the relevant code as well as the vtk
>     file (ascii).
>
>     Kind Regards,
>     Bertwim
>
>
>
>     ====================
>     int sphBoxSourceC::RequestData( vtkInformation *vtkNotUsed(request),
>                                     vtkInformationVector
>     **vtkNotUsed(inputVector),
>                                     vtkInformationVector *outputVector)
>     {
>        // Get the info object
>        vtkInformation *outInfo = outputVector->GetInformationObject(0);
>        vtkUnstructuredGrid *umesh = vtkUnstructuredGrid::SafeDownCast(
>     outInfo->Get( vtkDataObject::DATA_OBJECT() ) );
>       
>        // Pre-allocate some memory
>        umesh->Allocate( 1024 );
>
>        // Scalars for the property values
>        vtkFloatArray* vtxdata = vtkFloatArray::New(); // property
>     defined on a vertex.
>        vtkFloatArray* vxldata = vtkFloatArray::New(); // property
>     defined in a voxel.
>
>        // Specify points.
>        float r0[] = { 0.0, 0.0, 0.0 };
>        float r1[] = { 1.0, 0.0, 0.0 };
>        float r2[] = { 0.0, 1.0, 0.0 };
>        float r3[] = { 1.0, 1.0, 0.0 };
>        float r4[] = { 0.0, 0.0, 1.0 };
>        float r5[] = { 1.0, 0.0, 1.0 };
>        float r6[] = { 0.0, 1.0, 1.0 };
>        float r7[] = { 1.0, 1.0, 1.0 };
>       
>        // Collect the points in a vtk data structures.
>        {
>           vtkSmartPointer<vtkPoints> points =
>     vtkSmartPointer<vtkPoints>::New();
>           points->SetDataType( VTK_FLOAT );
>
>           points->InsertNextPoint( r0 );  vtxdata->InsertNextValue(
>     cos(0.1) );
>           points->InsertNextPoint( r1 );  vtxdata->InsertNextValue(
>     cos(0.4) );
>           points->InsertNextPoint( r2 );  vtxdata->InsertNextValue(
>     cos(0.7) );
>           points->InsertNextPoint( r3 );  vtxdata->InsertNextValue(
>     cos(1.0) );
>           points->InsertNextPoint( r4 );  vtxdata->InsertNextValue(
>     cos(1.3) );
>           points->InsertNextPoint( r5 );  vtxdata->InsertNextValue(
>     cos(1.6) );
>           points->InsertNextPoint( r6 );  vtxdata->InsertNextValue(
>     cos(1.9) );
>           points->InsertNextPoint( r7 );  vtxdata->InsertNextValue(
>     cos(2.2) );
>
>           // Transfer points to umesh.
>           umesh->SetPoints( points );
>           umesh->GetPointData()->SetScalars( vtxdata );
>        }
>
>        // Cell Topology
>        vtkIdType vtx[8] = { 0, 1, 3, 2, 4, 5, 7, 6 };
>        umesh->InsertNextCell( VTK_HEXAHEDRON, 8, vtx );
>     vxldata->InsertNextValue( 3.14 );
>        umesh->GetCellData()->SetScalars( vxldata );
>       
>        // Write data to a file
>        {
>           std::string fileName( "myfile.vtk" );
>           V3D::Utils::WriteUMesh( umesh, "Rectangular block as umesh",
>     fileName, VTK_ASCII );
>           cerr << "Created: " << fileName << std::endl;
>        }
>
>        vtxdata->Delete();
>        vxldata->Delete();
>       
>        return 1;
>     }
>
>     =======================
>     The file "myfile.vtk", written above read:
>     =======================
>     # vtk DataFile Version
>     3.0                                                                                                                      
>
>     Rectangular block as
>     umesh                                                                                                                      
>
>     ASCII                                                                                                                                           
>
>     DATASET
>     UNSTRUCTURED_GRID                                                                                                                       
>
>     POINTS 8
>     float                                                                                                                                  
>
>     0 0 0 1 0 0 0 1
>     0                                                                                                                               
>
>     1 1 0 0 0 1 1 0
>     1                                                                                                                               
>
>     0 1 1 1 1
>     1                                                                                                                                     
>
>     CELLS 1
>     9                                                                                                                                       
>
>     8 0 1 3 2 4 5 7
>     6                                                                                                                               
>
>                                                                                                                                                     
>
>     CELL_TYPES
>     1                                                                                                                                    
>
>     12                                                                                                                                              
>
>                                                                                                                                                     
>
>     CELL_DATA
>     1                                                                                                                                     
>
>     SCALARS scalars
>     float                                                                                                                           
>
>     LOOKUP_TABLE
>     default                                                                                                                            
>
>     3.14                                                                                                                                            
>
>     POINT_DATA
>     8                                                                                                                                    
>
>     SCALARS scalars
>     float                                                                                                                           
>
>     LOOKUP_TABLE
>     default                                                                                                                            
>
>     0.995004 0.921061 0.764842 0.540302 0.267499 -0.0291995 -0.32329
>     -0.588501                                                                      
>
>     =======================
>
>
>
>
>
>
>
>
>     _______________________________________________
>     Powered by www.kitware.com <http://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://public.kitware.com/mailman/listinfo/paraview
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20141014/c9287e65/attachment.html>


More information about the ParaView mailing list