[Paraview] Setting color / transparency for polydata
Rafael Küng
rafi.kueng at gmx.ch
Wed Nov 17 10:10:24 EST 2010
Hi there
For my bachelor thesis, I'm doing a reader in c++ to read in large
amount of points and display them (from a solar system simulation output
in a sqlite db), but i fail at setting transparency for certain points.
Can anybody please point me to a tutorial or give me a hint? I did look
around and saw i probably need a mapper or actor, with a lookuptable,
(at least in vtk only it works like this) but i didn't find an example
how to convert this to paraview. (witch would be great, because i'm
totally new to pv and vtk).
How and where do i have to attach the mapper to?
I did get the coloring working, but no clue how to continue from here.
Many Thanks
Rafael Kueng
University of zurich
Here's a draft of my code:
int vtkSQLiteReader::RequestData(vtkInformation*,
vtkInformationVector**,vtkInformationVector* outputVector)
{
vtkPolyData * out = vtkPolyData::GetData(outputVector);
if (!this->dataIsRead)
// only read if it's not been read before
{
readSnapshots(); //reads in the coordinates and velocities of particles
readTracks(); //reads in the tracks of the particles
this->dataIsRead = true;
}
out->SetPoints(this->Position);
out->SetVerts(this->Cells);
out->SetLines(this->Tracks);
out->GetPointData()->AddArray(this->Velocity);
// update the colors in every update
generateColors();
out->GetPointData()->SetScalars(this->colors);
return 1;
}
int vtkSQLiteReader::generateColors()
{
this->colors = vtkSmartPointer<vtkUnsignedCharArray>::New();
this->colors->SetName("Colors");
this->colors->SetNumberOfComponents(3);
this->colors->SetNumberOfTuples(this->nParticles);
for (int i = 0; i<this->nParticles;i++)
{
// heres some code to choose the color per point..
red = 255;
green = 255;
blue = 255;
this->colors->InsertTuple3(i,
red,
green,
blue);
}
return 1;
}
More information about the ParaView
mailing list