-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020 CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
#include <VTKViewer_Transform.h>
#include <VTKViewer_TransformFilter.h>
#include <VTKViewer_ExtractUnstructuredGrid.h>
+#include <VTKViewer_Actor.h>
// VTK Includes
#include <vtkObjectFactory.h>
myIsShrunk = false;
myIsHighlited = false;
- myRepresentation = eSurface;
+ myRepresentation = SMESH_DeviceActor::EReperesent(-1);
myProperty = vtkProperty::New();
myMapper = VTKViewer_PolyDataMapper::New();
myPlaneCollection = vtkPlaneCollection::New();
- vtkMapper::GetResolveCoincidentTopologyPolygonOffsetParameters(myPolygonOffsetFactor,
- myPolygonOffsetUnits);
+ VTKViewer_Actor::GetDefaultPolygonOffsetParameters(myPolygonOffsetFactor,
+ myPolygonOffsetUnits);
myMapper->UseLookupTableScalarRangeOn();
myMapper->SetColorModeToMapScalars();
vtkUnstructuredGrid* aDataSet = vtkUnstructuredGrid::New();
// SetStoreIDMapping(true);
- // myExtractUnstructuredGrid->Update();
+ myExtractUnstructuredGrid->Update();
vtkUnstructuredGrid* aGrid = myExtractUnstructuredGrid->GetOutput();
aDataSet->ShallowCopy(aGrid);
aCellLocationsArray->SetNumberOfTuples( aNbCells );
aConnectivity->InitTraversal();
- for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ vtkIdType const *pts(nullptr);
+ for( vtkIdType idType = 0, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
aDataSet->SetCells( aCellTypesArray, aCellLocationsArray, aConnectivity );
aCellLocationsArray->SetNumberOfTuples( aNbCells );
aConnectivity->InitTraversal();
- for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ vtkIdType const *pts(nullptr);
+ for( vtkIdType idType = 0, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
aDataSet->SetCells( aCellTypesArray, aCellLocationsArray,aConnectivity );
aCellLocationsArray->SetNumberOfTuples( aNbCells );
aConnectivity->InitTraversal();
- for( vtkIdType idType = 0, *pts, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
+ vtkIdType const *pts(nullptr);
+ for( vtkIdType idType = 0, npts; aConnectivity->GetNextCell( npts, pts ); idType++ )
aCellLocationsArray->SetValue( idType, aConnectivity->GetTraversalLocation( npts ) );
aDataSet->SetCells( aCellTypesArray, aCellLocationsArray,aConnectivity );
-unsigned long int
+vtkMTimeType
SMESH_DeviceActor
::GetMTime()
{
- // cout << this->myExtractUnstructuredGrid
+ // cout << "DA " << this
+ // << " GF " << myGeomFilter;
+ // if ( this->Property )
+ // cout << " P " << this->Property->GetMTime();
+ // if ( this->BackfaceProperty != NULL )
+ // cout << " BP " << BackfaceProperty->GetMTime();
+ // if ( this->Texture != NULL )
+ // cout << " T " << this->Texture->GetMTime();
+ // cout << " U " << this->GetUserTransformMatrixMTime()
+ // << " M " << this->MTime.GetMTime() << endl;
+
+ // cout << "DA " << this
+ // << " GF " << myGeomFilter
// << " " << this->Superclass::GetMTime()
// << " " << myExtractGeometry->GetMTime()
// << " " << myExtractUnstructuredGrid->GetMTime()
// << " " << myTransformFilter->GetMTime()
// << " " << myFaceOrientationFilter->GetMTime() << endl;
- unsigned long mTime = this->Superclass::GetMTime();
+ vtkMTimeType mTime = this->Superclass::GetMTime();
mTime = max(mTime,myExtractGeometry->GetMTime());
mTime = max(mTime,myExtractUnstructuredGrid->GetMTime());
mTime = max(mTime,myMergeFilter->GetMTime());
{
bool aShowFaceOrientation = myIsFacesOriented;
aShowFaceOrientation &= vtkLODActor::GetVisibility(); //GetVisibility(); -- avoid calling GetUnstructuredGrid()
- aShowFaceOrientation &= myRepresentation == eSurface;
+ aShowFaceOrientation &= ( myRepresentation != ePoint );
myFaceOrientation->SetVisibility(aShowFaceOrientation);
}
SMESH_DeviceActor
::SetRepresentation(EReperesent theMode)
{
+ if ( myRepresentation == theMode )
+ return;
switch(theMode){
case ePoint:
myGeomFilter->SetInside(true);
return aCoord;
}
+int
+SMESH_DeviceActor
+::GetNodeVtkId(int theObjID)
+{
+ return myVisualObj->GetNodeVTKId(theObjID);
+}
int
SMESH_DeviceActor