mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-27 09:50:34 +05:00
IPAL53819: Mesh edition clears Numbering
Keep numbering when a mesh is cleared
This commit is contained in:
parent
a3b465189d
commit
164f564028
@ -1530,9 +1530,9 @@ void SMESH_ActorDef::SetVisibility(int theMode, bool theIsUpdateRepersentation)
|
||||
}
|
||||
|
||||
if(myNodeActor->GetPointsLabeled()) {
|
||||
myNodeActor->UpdateLabels();
|
||||
myNodeActor->VisibilityOn();
|
||||
}
|
||||
|
||||
if(my0DActor)
|
||||
my0DActor->UpdateLabels();
|
||||
|
||||
|
@ -145,13 +145,14 @@ void SMESH_CellLabelActor::SetFontProperties( SMESH::LabelFont family, int size,
|
||||
|
||||
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();
|
||||
@ -90,7 +91,8 @@ SMESH_NodeLabelActor::SMESH_NodeLabelActor() {
|
||||
/*!
|
||||
Destructor
|
||||
*/
|
||||
SMESH_NodeLabelActor::~SMESH_NodeLabelActor() {
|
||||
SMESH_NodeLabelActor::~SMESH_NodeLabelActor()
|
||||
{
|
||||
//Deleting of points numbering pipeline
|
||||
//---------------------------------------
|
||||
myPointsNumDataSet->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,7 +197,8 @@ void SMESH_NodeLabelActor::UpdateLabels() {
|
||||
void SMESH_NodeLabelActor::ProcessEvents(vtkObject* vtkNotUsed(theObject),
|
||||
unsigned long theEvent,
|
||||
void* theClientData,
|
||||
void* vtkNotUsed(theCallData)) {
|
||||
void* vtkNotUsed(theCallData))
|
||||
{
|
||||
SMESH_NodeLabelActor* self = reinterpret_cast<SMESH_NodeLabelActor*>(theClientData);
|
||||
if(self)
|
||||
self->UpdateLabels();
|
||||
|
Loading…
Reference in New Issue
Block a user