mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-26 17:30:35 +05:00
IPAL53819: Mesh edition clears Numbering
Keep numbering when a mesh is cleared
This commit is contained in:
parent
a3b465189d
commit
164f564028
@ -1529,10 +1529,10 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation)
|
||||
}
|
||||
}
|
||||
|
||||
if(myNodeActor->GetPointsLabeled()){
|
||||
if(myNodeActor->GetPointsLabeled()) {
|
||||
myNodeActor->UpdateLabels();
|
||||
myNodeActor->VisibilityOn();
|
||||
}
|
||||
|
||||
if(my0DActor)
|
||||
my0DActor->UpdateLabels();
|
||||
|
||||
|
@ -140,18 +140,19 @@ 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;
|
||||
@ -172,8 +173,6 @@ void SMESH_CellLabelActor::SetCellsLabeled(bool theIsCellsLabeled)
|
||||
aDataSet->GetCellData()->SetScalars(anArray);
|
||||
myCellCenters->SetInputData(aDataSet);
|
||||
myCellsLabels->SetVisibility(GetVisibility());
|
||||
}else{
|
||||
myCellsLabels->SetVisibility(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,8 @@ vtkStandardNewMacro(SMESH_NodeLabelActor);
|
||||
/*!
|
||||
Constructor.
|
||||
*/
|
||||
SMESH_NodeLabelActor::SMESH_NodeLabelActor() {
|
||||
SMESH_NodeLabelActor::SMESH_NodeLabelActor()
|
||||
{
|
||||
//Definition of points numbering pipeline
|
||||
//---------------------------------------
|
||||
myPointsNumDataSet = vtkUnstructuredGrid::New();
|
||||
@ -57,12 +58,12 @@ SMESH_NodeLabelActor::SMESH_NodeLabelActor() {
|
||||
myPtsSelectVisiblePoints->SetInputConnection(myPtsMaskPoints->GetOutputPort());
|
||||
myPtsSelectVisiblePoints->SelectInvisibleOff();
|
||||
myPtsSelectVisiblePoints->SetTolerance(0.1);
|
||||
|
||||
|
||||
myPtsLabeledDataMapper = vtkLabeledDataMapper::New();
|
||||
myPtsLabeledDataMapper->SetInputConnection(myPtsSelectVisiblePoints->GetOutputPort());
|
||||
myPtsLabeledDataMapper->SetLabelFormat("%d");
|
||||
myPtsLabeledDataMapper->SetLabelModeToLabelScalars();
|
||||
|
||||
|
||||
myPtsTextProp = vtkTextProperty::New();
|
||||
myPtsTextProp->SetFontFamilyToTimes();
|
||||
myPtsTextProp->SetFontSize(10);
|
||||
@ -90,19 +91,20 @@ SMESH_NodeLabelActor::SMESH_NodeLabelActor() {
|
||||
/*!
|
||||
Destructor
|
||||
*/
|
||||
SMESH_NodeLabelActor::~SMESH_NodeLabelActor() {
|
||||
SMESH_NodeLabelActor::~SMESH_NodeLabelActor()
|
||||
{
|
||||
//Deleting of points numbering pipeline
|
||||
//---------------------------------------
|
||||
myPointsNumDataSet->Delete();
|
||||
|
||||
|
||||
// commented: porting to vtk 5.0
|
||||
// myPtsLabeledDataMapper->RemoveAllInputs();
|
||||
myPtsLabeledDataMapper->Delete();
|
||||
|
||||
|
||||
// commented: porting to vtk 5.0
|
||||
// myPtsSelectVisiblePoints->UnRegisterAllOutputs();
|
||||
myPtsSelectVisiblePoints->Delete();
|
||||
|
||||
|
||||
// commented: porting to vtk 5.0
|
||||
// myPtsMaskPoints->UnRegisterAllOutputs();
|
||||
myPtsMaskPoints->Delete();
|
||||
@ -130,16 +132,16 @@ void SMESH_NodeLabelActor::SetFontProperties( SMESH::LabelFont family, int size,
|
||||
myPtsTextProp->SetColor( r, g, b );
|
||||
}
|
||||
|
||||
void SMESH_NodeLabelActor::SetPointsLabeled(bool theIsPointsLabeled) {
|
||||
void SMESH_NodeLabelActor::SetPointsLabeled(bool theIsPointsLabeled)
|
||||
{
|
||||
myIsPointsLabeled = theIsPointsLabeled;
|
||||
|
||||
myPointLabels->SetVisibility( false );
|
||||
|
||||
myTransformFilter->Update();
|
||||
vtkDataSet* aGrid = vtkUnstructuredGrid::SafeDownCast(myTransformFilter->GetOutput());
|
||||
|
||||
if(!aGrid)
|
||||
return;
|
||||
|
||||
myIsPointsLabeled = theIsPointsLabeled && aGrid->GetNumberOfPoints();
|
||||
|
||||
if ( myIsPointsLabeled )
|
||||
if ( myIsPointsLabeled && aGrid )
|
||||
{
|
||||
myPointsNumDataSet->ShallowCopy(aGrid);
|
||||
vtkUnstructuredGrid *aDataSet = myPointsNumDataSet;
|
||||
@ -160,10 +162,6 @@ void SMESH_NodeLabelActor::SetPointsLabeled(bool theIsPointsLabeled) {
|
||||
myPointLabels->SetVisibility( GetVisibility() );
|
||||
anArray->Delete();
|
||||
}
|
||||
else
|
||||
{
|
||||
myPointLabels->SetVisibility( false );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -189,7 +187,8 @@ void SMESH_NodeLabelActor::RemoveFromRender(vtkRenderer* theRenderer)
|
||||
SMESH_DeviceActor::RemoveFromRender(theRenderer);
|
||||
}
|
||||
|
||||
void SMESH_NodeLabelActor::UpdateLabels() {
|
||||
void SMESH_NodeLabelActor::UpdateLabels()
|
||||
{
|
||||
if(myIsPointsLabeled)
|
||||
SetPointsLabeled(myIsPointsLabeled);
|
||||
}
|
||||
@ -198,8 +197,9 @@ void SMESH_NodeLabelActor::UpdateLabels() {
|
||||
void SMESH_NodeLabelActor::ProcessEvents(vtkObject* vtkNotUsed(theObject),
|
||||
unsigned long theEvent,
|
||||
void* theClientData,
|
||||
void* vtkNotUsed(theCallData)) {
|
||||
SMESH_NodeLabelActor* self = reinterpret_cast<SMESH_NodeLabelActor*>(theClientData);
|
||||
void* vtkNotUsed(theCallData))
|
||||
{
|
||||
SMESH_NodeLabelActor* self = reinterpret_cast<SMESH_NodeLabelActor*>(theClientData);
|
||||
if(self)
|
||||
self->UpdateLabels();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user