:vtkVectorsTensorsVisuBase()
{
_vtkarrowsource = vtkArrowSource::New();
- _vtklinesource = vtkLineSource::New();
- _vtkglyph = vtkGlyph3D::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 );
}
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
void vtkVectorsVisu::Process()
{
-
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() );
#else
_vtkglyph->SetInputData( GetDataObject() );
#endif
-
if(GetTypeForm()==1) // source Arrow
{
#if VTK_MAJOR_VERSION <= 5
_vtkglyph->SetSourceData( _vtklinesource->GetOutput() );
#endif
}
-
_vtkglyph->SetScaleModeToScaleByVector();
_vtkglyph->SetColorModeToColorByVector();
_vtkglyph->SetScaleFactor( GetScaleFactor() );
-
_vtkglyph->Update();
#if VTK_MAJOR_VERSION <= 5
//_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();
+//int i,sizeDa = data->GetNumberOfArrays();
+//for (i=0;i<sizeDa;i++)
+//{
+// data->GetArray(i)->Print(std::cout);
+//}
_pdm->ScalarVisibilityOn();
_pdm->SetColorModeToMapScalars();
#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