vtkVectorsVisu::vtkVectorsVisu()
:vtkVectorsTensorsVisuBase()
{
- _vtkarrowsource = vtkArrowSource::New();
- _vtkglyph = vtkGlyph3D::New();
+ _vtkarrowsource = vtkArrowSource::New();
+ _vtkglyph = NULL;
+ _vtklinesource = vtkLineSource ::New();
+ _trans = vtkTransform ::New();
+
+ double point1[3];
+ double point2[3];
+ point1[0]=1;
+ point1[1]=0;
+ point1[2]=0;
+ point2[0]=-1;
+ point2[1]=0;
+ point2[2]=0;
+ _vtklinesource->SetPoint1( point1 );
+ _vtklinesource->SetPoint2( point2 );
}
-
//------------------------------------------------------------------------------
vtkVectorsVisu::~vtkVectorsVisu()
{
}
+
//------------------------------------------------------------------------------
void vtkVectorsVisu::Process()
{
-printf("EED vtkVectorsVisu::Process() start\n");
if(_active==true)
{
+ if (_vtkglyph==NULL)
+ {
+ if (GetOrientation()==-1)
+ {
+ _vtkglyph = vtkGlyph3D::New();
+ } // _orientation
+ if ((GetOrientation()>=0) && (GetOrientation()<=2))
+ {
+ _vtkglyph = vtkGlyph3D::New();
+// _vtkglyph = vtkGlyph2D::New();
+ } // _orientation
+ } // _vtkglyph NULL
+
+
+#if VTK_MAJOR_VERSION <= 5
_vtkglyph->SetInput( GetDataObject() );
- _vtkglyph->SetSource( _vtkarrowsource->GetOutput() );
+#else
+ _vtkglyph->SetInputData( GetDataObject() );
+#endif
+ if(GetTypeForm()==1) // source Arrow
+ {
+#if VTK_MAJOR_VERSION <= 5
+ _vtkglyph->SetSource( _vtkarrowsource->GetOutput() );
+#else
+ _vtkarrowsource->Update();
+ _vtkglyph->SetSourceData( _vtkarrowsource->GetOutput() );
+#endif
+ } else { // source Line
+#if VTK_MAJOR_VERSION <= 5
+ _vtkglyph->SetSource( _vtklinesource->GetOutput() );
+#else
+ _vtklinesource->Update();
+ _vtkglyph->SetSourceData( _vtklinesource->GetOutput() );
+#endif
+ }
_vtkglyph->SetScaleModeToScaleByVector();
_vtkglyph->SetColorModeToColorByVector();
_vtkglyph->SetScaleFactor( GetScaleFactor() );
- _vtkglyph->Update();
+ _vtkglyph->Update();
+#if VTK_MAJOR_VERSION <= 5
_pdm->SetInput( _vtkglyph->GetOutput());
+#else
+ _pdm->SetInputData( _vtkglyph->GetOutput());
+#endif
vtkPointData *data = _vtkglyph->GetOutput()->GetPointData();
-printf("EED -------------------------------------------\n");
-_vtkglyph->GetOutput()->Print(std::cout);
-printf("EED -------------------------------------------\n");
-data->Print(std::cout);
-printf("EED -------------------------------------------\n");
-int i,sizeDa = data->GetNumberOfArrays();
-printf("EED vtkVectorsVisu::Process sizeDa %d \n", sizeDa );
-for (i=0;i<sizeDa;i++)
-{
- printf("EED vtkVectorsVisu::Process-name %d, %s \n", i, data->GetArrayName(i) );
- data->GetArray(i)->Print(std::cout);
- printf("EED -------------------------------------------\n");
-}
-
-//EED _pdm->SetScalarRange( range );
-//EED vtkPolyData *pd = vGlyphFlowPlane->GetOutput();
-//EED vtkPointData *pointdata = pd->GetPointData();
-//EED vtkDataArray *da = pointdata->GetVectors();
-//EED vtkDataArray *nda = vtkFloatArray::New();
-//EED nda->DeepCopy(da);
-// pointdata->RemoveArray( "GlyphVector" );
-// bbGetInputIn()->GetPointData()->RemoveArray( "GlyphVector" );
-//EED pointdata->AddArray( nda );
-//EED bbGetInputIn()->GetPointData()->AddArray( nda );
-//EED2 _pdm->ScalarVisibilityOn();
- _pdm->SetScalarModeToUsePointFieldData();
+//printf("EED -------------------------------------------\n");
+//_vtkglyph->GetOutput()->Print(std::cout);
+//printf("EED -------------------------------------------\n");
+//data->Print(std::cout);
+//int i,sizeDa = data->GetNumberOfArrays();
+//for (i=0;i<sizeDa;i++)
+//{
+// data->GetArray(i)->Print(std::cout);
+//}
+
+ _pdm->ScalarVisibilityOn();
+ _pdm->SetColorModeToMapScalars();
+ //_pdm->SetColorModeToDefault();
+ // _pdm->SetColorModeToDirectScalars(); // NOT compile
+ _pdm->SetScalarModeToUsePointFieldData();
+ _pdm->ImmediateModeRenderingOn();
+
+ _LutEED->SetVectorModeToComponent();
+ //_LutEED->SetVectorModeToRGBColors();
+ //_LutEED->SetVectorModeToMagnitud();
+
+// _pdm->SetScalarModeToUsePointFieldData();
_pdm->SetLookupTable( _LutEED );
_pdm->SelectColorArray( "GlyphVector" );
// vSliceMapperVec->SetLookupTable( vGreenToRedLut );
// vSliceMapperVec->SetColorModeToMapScalars();
+#if VTK_MAJOR_VERSION <= 5
+ // ..
+#else
+ _pdm->Update();
+#endif
+
+ // Orientation -1 3D OK
+
+ // Orientation 0 2D yz
+ if (GetOrientation()==0)
+ {
+ _trans->Identity();
+ _trans->Translate(900,0,0);
+ _actor->SetUserTransform(_trans);
+ }
+
+
+ // Orientation 1 2D xz
+ if (GetOrientation()==1)
+ {
+ _trans->Identity();
+ _trans->Translate(0,-900,0);
+ _actor->SetUserTransform(_trans);
+ }
+
+ // Orientation 2 2D xy
+ if (GetOrientation()==2)
+ {
+ _trans->Identity();
+ _trans->Translate(0,0,-900);
+ _actor->SetUserTransform(_trans);
+ }
+
_actor->SetMapper( _pdm );
_actor->GetProperty()->SetOpacity( GetOpacity() );
}// if _active
VisibilityActor();
-printf("EED vtkVectorsVisu::Process() end\n");
}
-
-
-
-
-