mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2024-12-25 17:00:34 +05:00
Issue 0019818: EDF 703 SMESH VISU : Display Mesh Groups names in viewer (as a caption)
This commit is contained in:
parent
cead6d7aed
commit
daf3ca87d0
@ -28,8 +28,10 @@
|
|||||||
#include "SMESH_ActorDef.h"
|
#include "SMESH_ActorDef.h"
|
||||||
#include "SMESH_ActorUtils.h"
|
#include "SMESH_ActorUtils.h"
|
||||||
#include "SMESH_DeviceActor.h"
|
#include "SMESH_DeviceActor.h"
|
||||||
|
#include "SMESH_ObjectDef.h"
|
||||||
#include "SMESH_ControlsDef.hxx"
|
#include "SMESH_ControlsDef.hxx"
|
||||||
#include "VTKViewer_ExtractUnstructuredGrid.h"
|
#include "VTKViewer_ExtractUnstructuredGrid.h"
|
||||||
|
#include "VTKViewer_FramedTextActor.h"
|
||||||
#include "SALOME_InteractiveObject.hxx"
|
#include "SALOME_InteractiveObject.hxx"
|
||||||
|
|
||||||
#include "SUIT_Session.h"
|
#include "SUIT_Session.h"
|
||||||
@ -415,6 +417,10 @@ SMESH_ActorDef::SMESH_ActorDef()
|
|||||||
// Clipping planes
|
// Clipping planes
|
||||||
myImplicitBoolean = vtkImplicitBoolean::New();
|
myImplicitBoolean = vtkImplicitBoolean::New();
|
||||||
myImplicitBoolean->SetOperationTypeToIntersection();
|
myImplicitBoolean->SetOperationTypeToIntersection();
|
||||||
|
|
||||||
|
// Set color of the name actor
|
||||||
|
SMESH::GetColor( "SMESH", "fill_color", anRGB[0], anRGB[1], anRGB[2], QColor( 0, 170, 255 ) );
|
||||||
|
myNameActor->SetBackgroundColor(anRGB[0], anRGB[1], anRGB[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -875,6 +881,9 @@ bool SMESH_ActorDef::Init(TVisualObjPtr theVisualObj,
|
|||||||
SetShrink();
|
SetShrink();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( dynamic_cast<SMESH_GroupObj*>( myVisualObj.get() ) )
|
||||||
|
SetIsDisplayNameActor( true );
|
||||||
|
|
||||||
myTimeStamp->Modified();
|
myTimeStamp->Modified();
|
||||||
Modified();
|
Modified();
|
||||||
return true;
|
return true;
|
||||||
@ -1416,6 +1425,7 @@ vtkFloatingPointType SMESH_ActorDef::GetOpacity(){
|
|||||||
|
|
||||||
void SMESH_ActorDef::SetSufaceColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b){
|
void SMESH_ActorDef::SetSufaceColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b){
|
||||||
mySurfaceProp->SetColor(r,g,b);
|
mySurfaceProp->SetColor(r,g,b);
|
||||||
|
myNameActor->SetBackgroundColor(r,g,b);
|
||||||
Modified();
|
Modified();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2120,6 +2120,15 @@ bool SMESHGUI::OnGUIEvent( int theCommandID )
|
|||||||
{
|
{
|
||||||
SMESHGUI::GetSMESHGen()->SetName(obj->GetIOR().c_str(), newName.toLatin1().data());
|
SMESHGUI::GetSMESHGen()->SetName(obj->GetIOR().c_str(), newName.toLatin1().data());
|
||||||
|
|
||||||
|
// update name of group object and its actor
|
||||||
|
SMESH::SMESH_GroupBase_var aGroupObject = SMESH::IObjectToInterface<SMESH::SMESH_GroupBase>(IObject);
|
||||||
|
if( !aGroupObject->_is_nil() )
|
||||||
|
{
|
||||||
|
aGroupObject->SetName( newName.toLatin1().data() );
|
||||||
|
if ( SMESH_Actor *anActor = SMESH::FindActorByEntry( IObject->getEntry() ) )
|
||||||
|
anActor->setName( newName.toLatin1().data() );
|
||||||
|
}
|
||||||
|
|
||||||
updateObjBrowser();
|
updateObjBrowser();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -798,6 +798,7 @@ bool SMESHGUI_GroupDlg::onApply()
|
|||||||
|
|
||||||
_PTR(SObject) aMeshGroupSO = SMESH::FindSObject(myGroup);
|
_PTR(SObject) aMeshGroupSO = SMESH::FindSObject(myGroup);
|
||||||
if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str())) {
|
if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str())) {
|
||||||
|
anActor->setName(myName->text().toLatin1().data());
|
||||||
switch ( myTypeId ) {
|
switch ( myTypeId ) {
|
||||||
case 0: anActor->SetNodeColor( aColor.R, aColor.G, aColor.B ); break;
|
case 0: anActor->SetNodeColor( aColor.R, aColor.G, aColor.B ); break;
|
||||||
case 1: anActor->SetEdgeColor( aColor.R, aColor.G, aColor.B ); break;
|
case 1: anActor->SetEdgeColor( aColor.R, aColor.G, aColor.B ); break;
|
||||||
@ -935,6 +936,7 @@ bool SMESHGUI_GroupDlg::onApply()
|
|||||||
|
|
||||||
_PTR(SObject) aMeshGroupSO = SMESH::FindSObject(myGroupOnGeom);
|
_PTR(SObject) aMeshGroupSO = SMESH::FindSObject(myGroupOnGeom);
|
||||||
if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str())) {
|
if(SMESH_Actor *anActor = SMESH::FindActorByEntry(aMeshGroupSO->GetID().c_str())) {
|
||||||
|
anActor->setName(myName->text().toLatin1().data());
|
||||||
switch ( myTypeId ) {
|
switch ( myTypeId ) {
|
||||||
case 0: anActor->SetNodeColor( aColor.R, aColor.G, aColor.B ); break;
|
case 0: anActor->SetNodeColor( aColor.R, aColor.G, aColor.B ); break;
|
||||||
case 1: anActor->SetEdgeColor( aColor.R, aColor.G, aColor.B ); break;
|
case 1: anActor->SetEdgeColor( aColor.R, aColor.G, aColor.B ); break;
|
||||||
|
Loading…
Reference in New Issue
Block a user