From 782de26fa93b9fb5edc9854cdda4a77b03c92175 Mon Sep 17 00:00:00 2001 From: mpa Date: Mon, 2 Feb 2015 13:25:58 +0300 Subject: [PATCH] 0022781: [CEA 1281] Preferences of colors and textures of clipping planes --- .../gui/images/pref_salome_occviewer.png | Bin 52695 -> 63808 bytes doc/salome/gui/input/setting_preferences.doc | 7 + src/LightApp/LightApp_Application.cxx | 77 ++++++++++ src/LightApp/resources/LightApp.xml | 2 + src/LightApp/resources/LightApp_msg_en.ts | 20 +++ src/LightApp/resources/LightApp_msg_fr.ts | 20 +++ src/LightApp/resources/LightApp_msg_ja.ts | 20 +++ src/OCCViewer/OCCViewer_ViewModel.cxx | 134 ++++++++++++++++-- src/OCCViewer/OCCViewer_ViewModel.h | 15 ++ 9 files changed, 283 insertions(+), 12 deletions(-) diff --git a/doc/salome/gui/images/pref_salome_occviewer.png b/doc/salome/gui/images/pref_salome_occviewer.png index 00bf8a743194bde366c40cc59d606d01511f774a..35a4f21a608841bffc371baf534905a21f973408 100644 GIT binary patch literal 63808 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 diff --git a/doc/salome/gui/input/setting_preferences.doc b/doc/salome/gui/input/setting_preferences.doc index 9fabab109..4bbf36596 100644 --- a/doc/salome/gui/input/setting_preferences.doc +++ b/doc/salome/gui/input/setting_preferences.doc @@ -140,6 +140,13 @@ different locations have the same name. - XZ View - YZ View - XY View + +- Clipping parameters - specifies the default clipping plane parameters. + - Color - allows to change the color of the clipped region. + - Use default texture - if this option is switched on, the default texture + will be used for clipping texture, otherwise - the texture specified in "Texture" field. + - Texture - allows to change the texture of the clipped region + (enable if "Use default texture" is switched off). \anchor vtk_preferences

VTK 3D Viewer Preferences

diff --git a/src/LightApp/LightApp_Application.cxx b/src/LightApp/LightApp_Application.cxx index 49d8b625b..64bb76918 100644 --- a/src/LightApp/LightApp_Application.cxx +++ b/src/LightApp/LightApp_Application.cxx @@ -1492,6 +1492,10 @@ SUIT_ViewManager* LightApp_Application::createViewManager( const QString& vmType vm->setZoomingStyle( resMgr->integerValue( "3DViewer", "zooming_mode", vm->zoomingStyle() ) ); vm->enablePreselection( resMgr->booleanValue( "OCCViewer", "enable_preselection", vm->isPreselectionEnabled() ) ); vm->enableSelection( resMgr->booleanValue( "OCCViewer", "enable_selection", vm->isSelectionEnabled() ) ); + vm->setClippingColor( resMgr->colorValue( "OCCViewer", "clipping_color", vm->clippingColor() ) ); + vm->useDefaultTexture( resMgr->booleanValue( "OCCViewer", "clipping_use_default_texture", vm->isDefaultTextureUsed() ) ); + vm->setClippingTexture( resMgr->stringValue( "OCCViewer", "clipping_texture", vm->clippingTexture() ) ); + viewMgr->setViewModel( vm );// custom view model, which extends SALOME_View interface new LightApp_OCCSelector( (OCCViewer_Viewer*)viewMgr->getViewModel(), mySelMgr ); @@ -2303,6 +2307,22 @@ void LightApp_Application::createPreferences( LightApp_Preferences* pref ) LightApp_Preferences::Bool, "OCCViewer", "enable_selection" ); // ... "Selection" group <> + // ... "Clipping" group <> + int occClippingGroup = pref->addPreference( tr( "PREF_GROUP_CLIPPING" ), occGroup ); + // .... -> clipping color + pref->addPreference( tr( "PREF_CLIPPING_COLOR" ), occClippingGroup, + LightApp_Preferences::Color, "OCCViewer", "clipping_color" ); + int texturePref = pref->addPreference( "", occClippingGroup, LightApp_Preferences::Frame ); + pref->setItemProperty( "columns", 2, texturePref ); + // .... -> use default texture + pref->addPreference( tr( "PREF_CLIPPING_DEFAULT_TEXTURE" ), texturePref, + LightApp_Preferences::Bool, "OCCViewer", "clipping_use_default_texture" ); + // .... -> clipping texture + int filePref = pref->addPreference( tr( "PREF_CLIPPING_TEXTURE" ), texturePref, + LightApp_Preferences::File, "OCCViewer", "clipping_texture" ); + pref->setItemProperty( "path_filter", tr( "OCC_TEXTURE_FILES" ), filePref ); + // ... "Clipping" group <> + // ... -> empty frame (for layout) <> int occGen = pref->addPreference( "", occGroup, LightApp_Preferences::Frame ); pref->setItemProperty( "margin", 0, occGen ); @@ -2776,6 +2796,63 @@ void LightApp_Application::preferencesChanged( const QString& sec, const QString } #endif +#ifndef DISABLE_OCCVIEWER + if ( sec == QString( "OCCViewer" ) && param == QString( "clipping_color" ) ) + { + QColor aColor = resMgr->colorValue( "OCCViewer", "clipping_color", QColor( 50, 50, 50 ) ); + QList lst; + viewManagers( OCCViewer_Viewer::Type(), lst ); + QListIterator it( lst ); + while ( it.hasNext() ) + { + SUIT_ViewModel* vm = it.next()->getViewModel(); + if ( !vm || !vm->inherits( "OCCViewer_Viewer" ) ) + continue; + + OCCViewer_Viewer* occVM = (OCCViewer_Viewer*)vm; + occVM->setClippingColor( aColor ); + } + } +#endif + +#ifndef DISABLE_OCCVIEWER + if ( sec == QString( "OCCViewer" ) && param == QString( "clipping_use_default_texture" ) ) + { + bool isDefaultTextureUsed = resMgr->booleanValue( "OCCViewer", "clipping_use_default_texture" ); + QList lst; + viewManagers( OCCViewer_Viewer::Type(), lst ); + QListIterator it( lst ); + while ( it.hasNext() ) + { + SUIT_ViewModel* vm = it.next()->getViewModel(); + if ( !vm || !vm->inherits( "OCCViewer_Viewer" ) ) + continue; + + OCCViewer_Viewer* occVM = (OCCViewer_Viewer*)vm; + occVM->useDefaultTexture( isDefaultTextureUsed ); + } + } +#endif + +#ifndef DISABLE_OCCVIEWER + if ( sec == QString( "OCCViewer" ) && param == QString( "clipping_texture" ) ) + { + QString aTexture = resMgr->stringValue( "OCCViewer", "clipping_texture" ); + QList lst; + viewManagers( OCCViewer_Viewer::Type(), lst ); + QListIterator it( lst ); + while ( it.hasNext() ) + { + SUIT_ViewModel* vm = it.next()->getViewModel(); + if ( !vm || !vm->inherits( "OCCViewer_Viewer" ) ) + continue; + + OCCViewer_Viewer* occVM = (OCCViewer_Viewer*)vm; + occVM->setClippingTexture( aTexture ); + } + } +#endif + if ( sec == QString( "3DViewer" ) && param == QString( "zooming_mode" ) ) { int mode = resMgr->integerValue( "3DViewer", "zooming_mode", 0 ); diff --git a/src/LightApp/resources/LightApp.xml b/src/LightApp/resources/LightApp.xml index 4497c7cce..8807cf544 100644 --- a/src/LightApp/resources/LightApp.xml +++ b/src/LightApp/resources/LightApp.xml @@ -144,6 +144,8 @@ + + diff --git a/src/LightApp/resources/LightApp_msg_en.ts b/src/LightApp/resources/LightApp_msg_en.ts index d8aa735b3..15612a4e5 100644 --- a/src/LightApp/resources/LightApp_msg_en.ts +++ b/src/LightApp/resources/LightApp_msg_en.ts @@ -759,6 +759,26 @@ The changes will be applied on the next application session. PREF_PRESELECTION_DISABLED Disabled + + PREF_GROUP_CLIPPING + Clipping parameters + + + PREF_CLIPPING_COLOR + Color + + + PREF_CLIPPING_DEFAULT_TEXTURE + Use default texture + + + PREF_CLIPPING_TEXTURE + Texture + + + OCC_TEXTURE_FILES + Image files (*.jpeg *jpg *.jpe *.png *.bmp *.gif *.ppm *.tif *.tiff* .tga *.exr) + TOT_CLOSE Close diff --git a/src/LightApp/resources/LightApp_msg_fr.ts b/src/LightApp/resources/LightApp_msg_fr.ts index 5f0fb0125..fa7d33352 100755 --- a/src/LightApp/resources/LightApp_msg_fr.ts +++ b/src/LightApp/resources/LightApp_msg_fr.ts @@ -759,6 +759,26 @@ Les modifications seront appliquées à la prochaine session. PREF_PRESELECTION_DISABLED Désactivée + + PREF_GROUP_CLIPPING + Plan de coupe + + + PREF_CLIPPING_COLOR + Couleur + + + PREF_CLIPPING_DEFAULT_TEXTURE + Use default texture + + + PREF_CLIPPING_TEXTURE + Texture + + + OCC_TEXTURE_FILES + Fichiers images (*.jpeg *jpg *.jpe *.png *.bmp *.gif *.ppm *.tif *.tiff* .tga *.exr) + TOT_CLOSE Fermer diff --git a/src/LightApp/resources/LightApp_msg_ja.ts b/src/LightApp/resources/LightApp_msg_ja.ts index b415523b9..f95bfd79e 100644 --- a/src/LightApp/resources/LightApp_msg_ja.ts +++ b/src/LightApp/resources/LightApp_msg_ja.ts @@ -759,6 +759,26 @@ session. It has to be closed before working with another study. PREF_PRESELECTION_DISABLED 無効になっています。 + + PREF_GROUP_CLIPPING + Clipping + + + PREF_CLIPPING_COLOR + Color + + + PREF_CLIPPING_DEFAULT_TEXTURE + Use default texture + + + PREF_CLIPPING_TEXTURE + Texture + + + OCC_TEXTURE_FILES + イメージファイル (*.jpeg *jpg *.jpe *.png *.bmp *.gif *.ppm *.tif *.tiff* .tga *.exr) + TOT_CLOSE 閉じる diff --git a/src/OCCViewer/OCCViewer_ViewModel.cxx b/src/OCCViewer/OCCViewer_ViewModel.cxx index 83574b196..9f4e6f761 100755 --- a/src/OCCViewer/OCCViewer_ViewModel.cxx +++ b/src/OCCViewer/OCCViewer_ViewModel.cxx @@ -58,6 +58,7 @@ #include #include +#include #include #include @@ -141,6 +142,12 @@ OCCViewer_Viewer::OCCViewer_Viewer( bool DisplayTrihedron) // selection mySelectionEnabled = true; myMultiSelectionEnabled = true; + + //set clipping color and texture to standard + myClippingColor = QColor( 50, 50, 50 ); + myDefaultTextureUsed = true; + myClippingTexture = QString(); + } /*! @@ -572,6 +579,112 @@ void OCCViewer_Viewer::enableMultiselection(bool isEnable) } } +/*! + Sets a color of the clipped region + \param theColor - a new color of the clipped region +*/ +void OCCViewer_Viewer::setClippingColor( const QColor& theColor ) +{ + myClippingColor = theColor; + + if( myInternalClipPlanes.IsEmpty() ) + return; + + Graphic3d_MaterialAspect aMaterialAspect = Graphic3d_MaterialAspect(); + aMaterialAspect.SetColor( Quantity_Color( theColor.redF(), theColor.greenF(), + theColor.blueF(), Quantity_TOC_RGB ) ); + + for( int i = 1; i <= myInternalClipPlanes.Size(); i++ ) + myInternalClipPlanes.Value(i)->SetCappingMaterial( aMaterialAspect ); + + update(); +} + +/*! + \return clipping color +*/ +QColor OCCViewer_Viewer::clippingColor() const +{ + return myClippingColor; +} + +// initialize a texture for clipped region +Handle(Graphic3d_Texture2Dmanual) initClippingTexture( const bool isDefault, const QString& theTexture) +{ + QString aTextureFile = isDefault ? ":images/hatch.png" : theTexture; + QPixmap px( aTextureFile ); + const Handle(Image_PixMap) aPixmap = OCCViewer_Utilities::imageToPixmap( px.toImage() ); + Handle(Graphic3d_Texture2Dmanual) aTexture = new Graphic3d_Texture2Dmanual( aPixmap ); + if( aTexture->IsDone() ) { + aTexture->EnableRepeat(); + if( isDefault ) { + aTexture->EnableModulate(); + aTexture->GetParams()->SetScale( Graphic3d_Vec2( 0.01, 0.01 ) ); + } + else { + aTexture->DisableModulate(); + aTexture->GetParams()->SetScale( Graphic3d_Vec2( 0.005, 0.005 ) ); + } + } + return aTexture; +} + +/*! + Sets default texture enabled status + \param isUsed - new status +*/ +void OCCViewer_Viewer::useDefaultTexture( const bool isUsed ) +{ + myDefaultTextureUsed = isUsed; + + if( myInternalClipPlanes.IsEmpty() ) + return; + + Handle(Graphic3d_Texture2Dmanual) aTexture = + initClippingTexture( myDefaultTextureUsed, myClippingTexture ); + + for( int i = 1; i <= myInternalClipPlanes.Size(); i++ ) + myInternalClipPlanes.Value(i)->SetCappingTexture( aTexture ); + + update(); +} + +/*! + \return true if default texture is used +*/ +bool OCCViewer_Viewer::isDefaultTextureUsed() const +{ + return myDefaultTextureUsed; +} + +/*! + Sets a texture of the clipped region + \param theTexture - a new texture of the clipped region +*/ +void OCCViewer_Viewer::setClippingTexture( const QString& theTexture ) +{ + myClippingTexture = theTexture; + + if( myInternalClipPlanes.IsEmpty() || myDefaultTextureUsed ) + return; + + Handle(Graphic3d_Texture2Dmanual) aTexture = + initClippingTexture( myDefaultTextureUsed, myClippingTexture ); + + for( int i = 1; i <= myInternalClipPlanes.Size(); i++ ) + myInternalClipPlanes.Value(i)->SetCappingTexture( aTexture ); + + update(); +} + +/*! + \return clipping texture +*/ +QString OCCViewer_Viewer::clippingTexture() const +{ + return myClippingTexture; +} + /*! Builds popup for occ viewer */ @@ -1051,18 +1164,15 @@ Handle(Graphic3d_ClipPlane) OCCViewer_Viewer::createClipPlane(const gp_Pln& theP aGraphic3dPlane->SetOn( theIsOn ); aGraphic3dPlane->SetCapping( Standard_True ); - // load capping texture - QPixmap px( ":images/hatch.png" ); - if( !px.isNull() ) { - const Handle(Image_PixMap) aPixmap = OCCViewer_Utilities::imageToPixmap( px.toImage() ); - Handle(Graphic3d_Texture2Dmanual) aTexture = new Graphic3d_Texture2Dmanual( aPixmap ); - if( aTexture->IsDone() ) { - aTexture->EnableModulate(); - aTexture->EnableRepeat(); - aTexture->GetParams()->SetScale( Graphic3d_Vec2( 0.01, 0.01 ) ); - aGraphic3dPlane->SetCappingTexture( aTexture ); - } - } + // set capping color + Graphic3d_MaterialAspect aMaterialAspect = Graphic3d_MaterialAspect(); + aMaterialAspect.SetColor( Quantity_Color( myClippingColor.redF(), myClippingColor.greenF(), + myClippingColor.blueF(), Quantity_TOC_RGB ) ); + aGraphic3dPlane->SetCappingMaterial( aMaterialAspect ); + + // set capping texture + aGraphic3dPlane->SetCappingTexture( initClippingTexture( myDefaultTextureUsed, myClippingTexture) ); + return aGraphic3dPlane; } /*! diff --git a/src/OCCViewer/OCCViewer_ViewModel.h b/src/OCCViewer/OCCViewer_ViewModel.h index 685e362b0..4564da1fa 100755 --- a/src/OCCViewer/OCCViewer_ViewModel.h +++ b/src/OCCViewer/OCCViewer_ViewModel.h @@ -147,6 +147,15 @@ public: void enableMultiselection(bool isEnable); bool isMultiSelectionEnabled() const { return myMultiSelectionEnabled; } + void setClippingColor( const QColor& ); + QColor clippingColor() const; + + void useDefaultTexture( const bool ); + bool isDefaultTextureUsed() const; + + void setClippingTexture( const QString& ); + QString clippingTexture() const; + int getSelectionCount() const { return (!myAISContext.IsNull())? myAISContext->NbSelected():0; } void setStaticTrihedronDisplayed(const bool on); @@ -191,6 +200,7 @@ protected slots: void onChangeBackground(); protected: + Handle(V3d_Viewer) myV3dViewer; Handle(AIS_Trihedron) myTrihedron; @@ -217,6 +227,11 @@ protected: ClipPlanesList myClipPlanes; Graphic3d_SequenceOfHClipPlane myInternalClipPlanes; + + QColor myClippingColor; + bool myDefaultTextureUsed; + QString myClippingTexture; + }; #ifdef WIN32 -- 2.39.2