]> Creatis software - cpPlugins.git/blob - lib/cpExtensions/Visualization/OutlineSource.cxx
a00a22190b6c76d1728c1a84a78d1bc97690550a
[cpPlugins.git] / lib / cpExtensions / Visualization / OutlineSource.cxx
1 #include <cpExtensions/Visualization/OutlineSource.h>
2 #include <vtkCellArray.h>
3 #include <vtkInformation.h>
4 #include <vtkInformationVector.h>
5 #include <vtkSmartPointer.h>
6
7 // -------------------------------------------------------------------------
8 cpExtensions::Visualization::OutlineSource::
9 Self* cpExtensions::Visualization::OutlineSource::
10 New( )
11 {
12   return( new Self( ) );
13 }
14
15 // -------------------------------------------------------------------------
16 cpExtensions::Visualization::OutlineSource::
17 OutlineSource( )
18   : Superclass( )
19 {
20 }
21
22 // -------------------------------------------------------------------------
23 cpExtensions::Visualization::OutlineSource::
24 ~OutlineSource( )
25 {
26 }
27
28 // -------------------------------------------------------------------------
29 int cpExtensions::Visualization::OutlineSource::
30 RequestData(
31   vtkInformation* request,
32   vtkInformationVector** inputVector,
33   vtkInformationVector* outputVector
34   )
35 {
36   int r = this->Superclass::RequestData( request, inputVector, outputVector );
37
38   // Complete polydatas to avoid bizarre rendering errors (multi-thread)
39   vtkInformation *outInfo = outputVector->GetInformationObject( 0 );
40   vtkPolyData *output = vtkPolyData::SafeDownCast(
41     outInfo->Get( vtkDataObject::DATA_OBJECT( ) )
42     );
43   output->SetVerts( vtkSmartPointer< vtkCellArray >::New( ) );
44   output->SetStrips( vtkSmartPointer< vtkCellArray >::New( ) );
45   if( this->GenerateFaces != 1 )
46     output->SetPolys( vtkSmartPointer< vtkCellArray >::New( ) );
47   return( r );
48 }
49
50 // eof - $RCSfile$