X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_CellLabelActor.cxx;h=eb66cf18f7c5100d40f12dcb3be0791c87f4fb28;hp=0172da00b49ebf2a048accfd735cf504e61fa84d;hb=f016bdf914220827ec8f9a7048bc78fc3fb8c299;hpb=d053feed93e0bb188a734b5e811a1341a6439435 diff --git a/src/OBJECT/SMESH_CellLabelActor.cxx b/src/OBJECT/SMESH_CellLabelActor.cxx index 0172da00b..eb66cf18f 100644 --- a/src/OBJECT/SMESH_CellLabelActor.cxx +++ b/src/OBJECT/SMESH_CellLabelActor.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2021 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 @@ -43,8 +43,9 @@ #include #include #include +#include -vtkStandardNewMacro(SMESH_CellLabelActor); +vtkStandardNewMacro(SMESH_CellLabelActor) /*! Constructor. @@ -70,7 +71,7 @@ SMESH_CellLabelActor::SMESH_CellLabelActor() myClsLabeledDataMapper = vtkLabeledDataMapper::New(); myClsLabeledDataMapper->SetInputConnection(myClsSelectVisiblePoints->GetOutputPort()); - myClsLabeledDataMapper->SetLabelFormat("%d"); + //myClsLabeledDataMapper->SetLabelFormat("%d"); myClsLabeledDataMapper->SetLabelModeToLabelScalars(); myClsTextProp = vtkTextProperty::New(); @@ -140,40 +141,39 @@ void SMESH_CellLabelActor::SetFontProperties( SMESH::LabelFont family, int size, myClsTextProp->SetBold( bold ); myClsTextProp->SetItalic( italic ); myClsTextProp->SetShadow( shadow ); - myClsTextProp->SetColor( r, g, b ); + myClsTextProp->SetColor( r, g, b ); } void SMESH_CellLabelActor::SetCellsLabeled(bool theIsCellsLabeled) { + myIsCellsLabeled = theIsCellsLabeled; + + myCellsLabels->SetVisibility(false); + myTransformFilter->Update(); vtkUnstructuredGrid* aGrid = vtkUnstructuredGrid::SafeDownCast(myTransformFilter->GetOutput()); - if ( !aGrid ) - return; - myIsCellsLabeled = theIsCellsLabeled && aGrid->GetNumberOfPoints(); - if ( myIsCellsLabeled ) + if ( myIsCellsLabeled && aGrid ) { myCellsNumDataSet->ShallowCopy(aGrid); vtkUnstructuredGrid *aDataSet = myCellsNumDataSet; - int aNbElem = aDataSet->GetNumberOfCells(); - vtkIntArray *anArray = vtkIntArray::New(); + vtkIdType aNbElem = aDataSet->GetNumberOfCells(); + vtkIdTypeArray *anArray = vtkIdTypeArray::New(); anArray->SetNumberOfValues(aNbElem); myExtractUnstructuredGrid->BuildOut2InMap(); - for(int anId = 0; anId < aNbElem; anId++) + for(vtkIdType anId = 0; anId < aNbElem; anId++) { vtkIdType id = anId; if(IsImplicitFunctionUsed()) id = myExtractGeometry->GetElemObjId(id); id = myExtractUnstructuredGrid->GetInputId(id); id = (id >=0) ? id : anId; - int aSMDSId = myVisualObj->GetElemObjId(id); + vtkIdType aSMDSId = myVisualObj->GetElemObjId(id); anArray->SetValue(anId,aSMDSId); } aDataSet->GetCellData()->SetScalars(anArray); myCellCenters->SetInputData(aDataSet); myCellsLabels->SetVisibility(GetVisibility()); - }else{ - myCellsLabels->SetVisibility(false); } } @@ -206,7 +206,7 @@ void SMESH_CellLabelActor::UpdateLabels() void SMESH_CellLabelActor::ProcessEvents(vtkObject* vtkNotUsed(theObject), - unsigned long theEvent, + unsigned long /*theEvent*/, void* theClientData, void* vtkNotUsed(theCallData)) {