[vtkusers] Useless triangulation in unstructured grid rendering

John Biddiscombe biddisco at cscs.ch
Tue Oct 10 06:12:19 EDT 2006


cc'd developers list for comments/reference

When datasets are modified the filters downstream of them must recompute 
their outputs. In this case the DataSetSurface filter detects that 
something has changed, but it isn't clever enough to know that only the 
scalars have been modified. To solve this problem would require quite 
significant changes in the way pipeline modified time is passed around 
and examined.
For filters which change their outputs over time, but do not change 
their geometry (ie changing scalars), I am going to add something like a 
DATA_GEOMETRY_TIME_INVARIANT key to the information passed in the 
pipeline. This will allow a filter downstream like a surface filter to 
know that only the scalars will change as the input is modified, but it 
will still require some extra knowledge (for example, if the timestep 
changes, the scalars will change, but the filename might also have 
changed and invalidated the geometry...), by default this key would not 
be copied and only filters which are geometry invariant under time would 
set it.

In principle, breaking the modified time into two components - geometry 
and scalars - would be the most direct way of handling the situation, 
but it will take some time to 1) implement this and 2) add support into 
the filters which can take advantage of it.

in short, you'll have to live with it for now, but you can simply modify 
DatasetGeometry filter to not recompute the mesh and just update the 
scalars by adding some flag like SetKeepPreviousMeshResult(1) and 
editing the execute method to not do the triangulation unless it really 
'needs' to.

JB

> Dear vtkUsers,
>
> I have noticed that when in an ugrid point values are are modified with
> grid->GetPointData()->SetScalars(pointScalars) a triangulation is done in
> vtkDataSetSurfaceFilter. Which is, I guess, useless and very time consuming. I
> understand that glList of vertex has to be reconstruct to set new colors but
> triangulation result should be taken directly from the filter.
>
> Does anyone know why this triangulation is done ?
>
> Yours,
>
> Jacques Charreyron
>
>
> __________________________________________________________
> \
>  \          Jacques Charreyron
>   \          Société Michelin 
>  
> _______________________________________________
> This is the private VTK discussion list. 
> Please keep messages on-topic. Check the FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>   


-- 
John Biddiscombe,                            email:biddisco @ cscs.ch
http://www.cscs.ch/about/BJohn.php
CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
Via Cantonale, 6928 Manno, Switzerland      | Fax:  +41 (91) 610.82.82





More information about the vtkusers mailing list