mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-14 17:48:34 +05:00
INT PAL 0052625: GEOM module: customize labels color
This commit is contained in:
parent
909440ce50
commit
900bf17d4b
BIN
doc/salome/gui/GEOM/images/name_mode.png
Normal file
BIN
doc/salome/gui/GEOM/images/name_mode.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 115 KiB |
@ -32,6 +32,8 @@ default color for edges, vectors and wires (isolated lines).</li>
|
|||||||
vertices.</li>
|
vertices.</li>
|
||||||
<li><b>Color of isolines</b> - allows to select default color for
|
<li><b>Color of isolines</b> - allows to select default color for
|
||||||
isolines.</li>
|
isolines.</li>
|
||||||
|
<li><b>Color of labels</b> - allows to select default color for
|
||||||
|
labels (textual fields, shape name).</li>
|
||||||
<li><b>Top level color</b> - allows to select default color for objects which
|
<li><b>Top level color</b> - allows to select default color for objects which
|
||||||
were brought to the viewer foreground.</li>
|
were brought to the viewer foreground.</li>
|
||||||
<li><b>Top level display mode</b> - allows to select default top level display mode between:</li>
|
<li><b>Top level display mode</b> - allows to select default top level display mode between:</li>
|
||||||
|
@ -58,6 +58,7 @@
|
|||||||
<parameter name="line_color" value="255, 0, 0" />
|
<parameter name="line_color" value="255, 0, 0" />
|
||||||
<parameter name="point_color" value="#ff7700" />
|
<parameter name="point_color" value="#ff7700" />
|
||||||
<parameter name="isos_color" value="200, 200, 200" />
|
<parameter name="isos_color" value="200, 200, 200" />
|
||||||
|
<parameter name="label_color" value="255, 255, 255" />
|
||||||
<parameter name="toplevel_color" value="170, 85, 0" />
|
<parameter name="toplevel_color" value="170, 85, 0" />
|
||||||
<parameter name="toplevel_dm" value="0" />
|
<parameter name="toplevel_dm" value="0" />
|
||||||
<parameter name="editgroup_color" value="170, 85, 0" />
|
<parameter name="editgroup_color" value="170, 85, 0" />
|
||||||
|
@ -832,6 +832,9 @@ void GEOM_Displayer::updateShapeProperties( const Handle(GEOM_AISShape)& AISShap
|
|||||||
// - color for edges in shading+edges mode
|
// - color for edges in shading+edges mode
|
||||||
AISShape->SetEdgesInShadingColor( SalomeApp_Tools::color( propMap.value( GEOM::propertyName( GEOM::OutlineColor ) ).value<QColor>() ) );
|
AISShape->SetEdgesInShadingColor( SalomeApp_Tools::color( propMap.value( GEOM::propertyName( GEOM::OutlineColor ) ).value<QColor>() ) );
|
||||||
|
|
||||||
|
// - color of labels (textual fields and shape name)
|
||||||
|
AISShape->SetLabelColor( qColorFromResources( "label_color", QColor( 255, 255, 255 ) ) );
|
||||||
|
|
||||||
// set display mode
|
// set display mode
|
||||||
AISShape->SetDisplayMode( HasDisplayMode() ?
|
AISShape->SetDisplayMode( HasDisplayMode() ?
|
||||||
// predefined display mode, manually set to displayer via GEOM_Displayer::SetDisplayMode() function
|
// predefined display mode, manually set to displayer via GEOM_Displayer::SetDisplayMode() function
|
||||||
@ -1126,6 +1129,10 @@ void GEOM_Displayer::updateActorProperties( GEOM_Actor* actor, bool create )
|
|||||||
c = propMap.value( GEOM::propertyName( GEOM::OutlineColor ) ).value<QColor>();
|
c = propMap.value( GEOM::propertyName( GEOM::OutlineColor ) ).value<QColor>();
|
||||||
actor->SetEdgesInShadingColor( c.redF(), c.greenF(), c.blueF() );
|
actor->SetEdgesInShadingColor( c.redF(), c.greenF(), c.blueF() );
|
||||||
|
|
||||||
|
// - color of labels (shape name)
|
||||||
|
c = colorFromResources( "label_color", QColor( 255, 255, 255 ) );
|
||||||
|
actor->SetLabelColor( c.redF(), c.greenF(), c.blueF() );
|
||||||
|
|
||||||
// set opacity
|
// set opacity
|
||||||
if( HasTransparency() ) {
|
if( HasTransparency() ) {
|
||||||
actor->SetOpacity( 1.0 - GetTransparency() );
|
actor->SetOpacity( 1.0 - GetTransparency() );
|
||||||
|
@ -3304,6 +3304,10 @@ Please, select face, shell or solid and try again</translation>
|
|||||||
<source>PREF_ISOS_COLOR</source>
|
<source>PREF_ISOS_COLOR</source>
|
||||||
<translation>Color of isolines</translation>
|
<translation>Color of isolines</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>PREF_LABEL_COLOR</source>
|
||||||
|
<translation>Color of labels</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PREF_TOPLEVEL_COLOR</source>
|
<source>PREF_TOPLEVEL_COLOR</source>
|
||||||
<translation>Top level color</translation>
|
<translation>Top level color</translation>
|
||||||
|
@ -3288,6 +3288,10 @@ Choisissez une face, une coque ou un solide et essayez de nouveau</translation>
|
|||||||
<source>PREF_ISOS_COLOR</source>
|
<source>PREF_ISOS_COLOR</source>
|
||||||
<translation>Couleur des isolignes</translation>
|
<translation>Couleur des isolignes</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>PREF_LABEL_COLOR</source>
|
||||||
|
<translation type="unfinished">Color of labels</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PREF_TOPLEVEL_COLOR</source>
|
<source>PREF_TOPLEVEL_COLOR</source>
|
||||||
<translation>Couleur des objets mis au premier plan</translation>
|
<translation>Couleur des objets mis au premier plan</translation>
|
||||||
|
@ -3231,6 +3231,10 @@
|
|||||||
<source>PREF_ISOS_COLOR</source>
|
<source>PREF_ISOS_COLOR</source>
|
||||||
<translation>輪郭の色</translation>
|
<translation>輪郭の色</translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>PREF_LABEL_COLOR</source>
|
||||||
|
<translation type="unfinished">Color of labels</translation>
|
||||||
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PREF_TOPLEVEL_COLOR</source>
|
<source>PREF_TOPLEVEL_COLOR</source>
|
||||||
<translation>前景オブジェクトの色</translation>
|
<translation>前景オブジェクトの色</translation>
|
||||||
|
@ -2260,6 +2260,11 @@ void GeometryGUI::createPreferences()
|
|||||||
addPreference( tr( "PREF_ISOS_COLOR" ), genGroup,
|
addPreference( tr( "PREF_ISOS_COLOR" ), genGroup,
|
||||||
LightApp_Preferences::Color, "Geometry", "isos_color" );
|
LightApp_Preferences::Color, "Geometry", "isos_color" );
|
||||||
|
|
||||||
|
addPreference( tr( "PREF_LABEL_COLOR" ), genGroup,
|
||||||
|
LightApp_Preferences::Color, "Geometry", "label_color" );
|
||||||
|
|
||||||
|
addPreference( "", genGroup, LightApp_Preferences::Space );
|
||||||
|
|
||||||
addPreference( tr( "PREF_TOPLEVEL_COLOR" ), genGroup,
|
addPreference( tr( "PREF_TOPLEVEL_COLOR" ), genGroup,
|
||||||
LightApp_Preferences::Color, "Geometry", "toplevel_color" );
|
LightApp_Preferences::Color, "Geometry", "toplevel_color" );
|
||||||
|
|
||||||
@ -2637,7 +2642,8 @@ void GeometryGUI::preferencesChanged( const QString& section, const QString& par
|
|||||||
param == QString("dimensions_arrow_length") ||
|
param == QString("dimensions_arrow_length") ||
|
||||||
param == QString("dimensions_show_units") ||
|
param == QString("dimensions_show_units") ||
|
||||||
param == QString("dimensions_length_units") ||
|
param == QString("dimensions_length_units") ||
|
||||||
param == QString("dimensions_angle_units") )
|
param == QString("dimensions_angle_units") ||
|
||||||
|
param == QString("label_color") )
|
||||||
{
|
{
|
||||||
SalomeApp_Application* anApp = getApp();
|
SalomeApp_Application* anApp = getApp();
|
||||||
if ( !anApp )
|
if ( !anApp )
|
||||||
@ -2668,7 +2674,22 @@ void GeometryGUI::preferencesChanged( const QString& section, const QString& par
|
|||||||
aViewer->GetVisible( aVisible );
|
aViewer->GetVisible( aVisible );
|
||||||
aDisplayer.Redisplay( aVisible, false, aViewer );
|
aDisplayer.Redisplay( aVisible, false, aViewer );
|
||||||
}
|
}
|
||||||
|
if ( param == QString( "label_color" ) ) {
|
||||||
|
ViewManagerList aVMsVTK;
|
||||||
|
anApp->viewManagers( SVTK_Viewer::Type(), aVMsVTK );
|
||||||
|
ViewManagerList::Iterator anIt = aVMsVTK.begin();
|
||||||
|
for ( ; anIt != aVMsVTK.end(); ++anIt )
|
||||||
|
{
|
||||||
|
SVTK_Viewer* aViewer = dynamic_cast<SVTK_Viewer*>( (*anIt)->getViewModel() );
|
||||||
|
if ( !aViewer )
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
SALOME_ListIO aVisible;
|
||||||
|
aViewer->GetVisible( aVisible );
|
||||||
|
aDisplayer.Redisplay( aVisible, false, aViewer );
|
||||||
|
}
|
||||||
|
}
|
||||||
aDisplayer.UpdateViewer();
|
aDisplayer.UpdateViewer();
|
||||||
}
|
}
|
||||||
else if ( param.startsWith( "dependency_tree") )
|
else if ( param.startsWith( "dependency_tree") )
|
||||||
|
@ -344,6 +344,10 @@ void GEOM_AISShape::SetEdgesInShadingColor(const Quantity_Color &aCol)
|
|||||||
myEdgesInShadingColor = aCol;
|
myEdgesInShadingColor = aCol;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GEOM_AISShape::SetLabelColor(const Quantity_Color &aCol) {
|
||||||
|
myLabelColor = aCol;
|
||||||
|
}
|
||||||
|
|
||||||
void GEOM_AISShape::highlightSubShapes(const TColStd_IndexedMapOfInteger& aIndexMap,
|
void GEOM_AISShape::highlightSubShapes(const TColStd_IndexedMapOfInteger& aIndexMap,
|
||||||
const Standard_Boolean aHighlight )
|
const Standard_Boolean aHighlight )
|
||||||
{
|
{
|
||||||
@ -569,6 +573,7 @@ void GEOM_AISShape::drawField( const Handle(Prs3d_Presentation)& thePrs,
|
|||||||
|
|
||||||
Handle(Graphic3d_AspectText3d) anAspectText3d = new Graphic3d_AspectText3d();
|
Handle(Graphic3d_AspectText3d) anAspectText3d = new Graphic3d_AspectText3d();
|
||||||
anAspectText3d->SetStyle( Aspect_TOST_ANNOTATION );
|
anAspectText3d->SetStyle( Aspect_TOST_ANNOTATION );
|
||||||
|
anAspectText3d->SetColor( myLabelColor );
|
||||||
aGroup->SetPrimitivesAspect( anAspectText3d );
|
aGroup->SetPrimitivesAspect( anAspectText3d );
|
||||||
|
|
||||||
aGroup->Text( aString.toLatin1().constData(), aVertex, 14 );
|
aGroup->Text( aString.toLatin1().constData(), aVertex, 14 );
|
||||||
@ -628,6 +633,7 @@ void GEOM_AISShape::drawName( const Handle(Prs3d_Presentation)& thePrs )
|
|||||||
|
|
||||||
Handle(Graphic3d_AspectText3d) anAspectText3d = new Graphic3d_AspectText3d();
|
Handle(Graphic3d_AspectText3d) anAspectText3d = new Graphic3d_AspectText3d();
|
||||||
anAspectText3d->SetStyle( Aspect_TOST_ANNOTATION );
|
anAspectText3d->SetStyle( Aspect_TOST_ANNOTATION );
|
||||||
|
anAspectText3d->SetColor( myLabelColor );
|
||||||
aGroup->SetPrimitivesAspect( anAspectText3d );
|
aGroup->SetPrimitivesAspect( anAspectText3d );
|
||||||
|
|
||||||
const char* aName = getIO()->getName();
|
const char* aName = getIO()->getName();
|
||||||
|
@ -79,6 +79,7 @@ public:
|
|||||||
|
|
||||||
Standard_EXPORT void SetShadingColor(const Quantity_Color &aCol);
|
Standard_EXPORT void SetShadingColor(const Quantity_Color &aCol);
|
||||||
Standard_EXPORT void SetEdgesInShadingColor(const Quantity_Color &aCol);
|
Standard_EXPORT void SetEdgesInShadingColor(const Quantity_Color &aCol);
|
||||||
|
Standard_EXPORT void SetLabelColor(const Quantity_Color &aCol);
|
||||||
Standard_EXPORT void SetDisplayVectors(bool isShow);
|
Standard_EXPORT void SetDisplayVectors(bool isShow);
|
||||||
Standard_EXPORT void SetDisplayVertices(bool isShow);
|
Standard_EXPORT void SetDisplayVertices(bool isShow);
|
||||||
Standard_EXPORT void SetDisplayName(bool isShow);
|
Standard_EXPORT void SetDisplayName(bool isShow);
|
||||||
@ -137,6 +138,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
Quantity_Color myShadingColor;
|
Quantity_Color myShadingColor;
|
||||||
Quantity_Color myEdgesInShadingColor;
|
Quantity_Color myEdgesInShadingColor;
|
||||||
|
Quantity_Color myLabelColor;
|
||||||
|
|
||||||
TCollection_AsciiString myName;
|
TCollection_AsciiString myName;
|
||||||
bool myDisplayVectors;
|
bool myDisplayVectors;
|
||||||
|
@ -444,12 +444,12 @@ GEOM_Actor
|
|||||||
|
|
||||||
void
|
void
|
||||||
GEOM_Actor
|
GEOM_Actor
|
||||||
::SetShapeName(const TopoDS_Shape& theShape)
|
::SetShapeName()
|
||||||
{
|
{
|
||||||
if( !getIO() )
|
if( !getIO() || myShape.IsNull() )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gp_Ax3 anAx3 = GEOMUtils::GetPosition(theShape);
|
gp_Ax3 anAx3 = GEOMUtils::GetPosition(myShape);
|
||||||
double center[3] = { anAx3.Location().X(),
|
double center[3] = { anAx3.Location().X(),
|
||||||
anAx3.Location().Y(),
|
anAx3.Location().Y(),
|
||||||
anAx3.Location().Z() };
|
anAx3.Location().Z() };
|
||||||
@ -538,7 +538,7 @@ void GEOM_Actor::SetShape (const TopoDS_Shape& theShape,
|
|||||||
myHighlightActor->GetDeviceActor()->SetInfinitive(true);
|
myHighlightActor->GetDeviceActor()->SetInfinitive(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
SetShapeName( theShape );
|
SetShapeName();
|
||||||
|
|
||||||
// 0051777: TC7.2.0: Element could not be selected in Hypothesis Construction
|
// 0051777: TC7.2.0: Element could not be selected in Hypothesis Construction
|
||||||
myAppendFilter->Update();
|
myAppendFilter->Update();
|
||||||
@ -856,6 +856,15 @@ void GEOM_Actor::SetIsosColor(double r, double g, double b)
|
|||||||
myWireframeFaceActor->GetProperty()->SetColor(r, g, b);
|
myWireframeFaceActor->GetProperty()->SetColor(r, g, b);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Set color of labels
|
||||||
|
This actor is shown only if 'Show name' is switched-on, see SetVisibility()
|
||||||
|
*/
|
||||||
|
void GEOM_Actor::SetLabelColor(double r, double g, double b)
|
||||||
|
{
|
||||||
|
myTextActor->GetTextProperty()->SetColor(r, g, b);
|
||||||
|
}
|
||||||
|
|
||||||
void GEOM_Actor::SetMaterial(std::vector<vtkProperty*> theProps)
|
void GEOM_Actor::SetMaterial(std::vector<vtkProperty*> theProps)
|
||||||
{
|
{
|
||||||
// we set material properties as back and front material
|
// we set material properties as back and front material
|
||||||
|
@ -139,6 +139,8 @@ public:
|
|||||||
void SetEdgesInShadingColor(double r, double g, double b);
|
void SetEdgesInShadingColor(double r, double g, double b);
|
||||||
// Color of iso-lines
|
// Color of iso-lines
|
||||||
void SetIsosColor(double r, double g, double b);
|
void SetIsosColor(double r, double g, double b);
|
||||||
|
// Color of labels
|
||||||
|
void SetLabelColor(double r, double g, double b);
|
||||||
|
|
||||||
|
|
||||||
// Material
|
// Material
|
||||||
@ -224,7 +226,7 @@ protected:
|
|||||||
void SetModified();
|
void SetModified();
|
||||||
|
|
||||||
void GetMatrix(vtkCamera* theCam, vtkMatrix4x4 *result);
|
void GetMatrix(vtkCamera* theCam, vtkMatrix4x4 *result);
|
||||||
void SetShapeName(const TopoDS_Shape& theShape);
|
void SetShapeName();
|
||||||
|
|
||||||
GEOM_Actor();
|
GEOM_Actor();
|
||||||
~GEOM_Actor();
|
~GEOM_Actor();
|
||||||
|
Loading…
Reference in New Issue
Block a user