Salome HOME
updated copyright message
[modules/gui.git] / src / OCCViewer / OCCViewer_CubeAxesDlg.cxx
index c62789d55bc8612dd626d52683a5e55c3802870d..c7a1ec2ae1f61930e3a8af30be464cc130fa2d6e 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 #include "QtxAction.h"
 #include "QtxIntSpinBox.h"
 
+#include <Graphic3d_GraduatedTrihedron.hxx>
+
 #include <QCheckBox>
 #include <QGroupBox>
 #include <QLineEdit>
 
+#include <Basics_OCCTVersion.hxx>
+
 /*!
   \class OCCViewer_CubeAxesDlg::AxisWidget
   \brief Axis tab widget of the "Graduated axis" dialog box
@@ -248,67 +252,47 @@ void OCCViewer_CubeAxesDlg::ApplyData( const Handle(V3d_View)& theView )
   if( myIsVisible->isChecked() )
   {
     OCCViewer_AxisWidget::AxisData anAxisData[3];
-    for( int i = 0; i < 3; i++ )
+    for( int i = 0; i < 3; i++ ) {
       if( OCCViewer_AxisWidget* anAxisWidget = dynamic_cast<OCCViewer_AxisWidget*>( myAxes[ i ] ) )
         anAxisWidget->GetData( anAxisData[i] );
+    }
 
     // A gap used offset of axis names' offset
     // (this hard-coded value will be removed when the
     // font support will be introduced in OCC-6.4)
     int aGap = 20;
 
-    theView->GraduatedTrihedronDisplay(
-      anAxisData[0].Name.toLatin1().constData(),
-      anAxisData[1].Name.toLatin1().constData(),
-      anAxisData[2].Name.toLatin1().constData(),
-      anAxisData[0].DrawName,
-      anAxisData[1].DrawName,
-      anAxisData[2].DrawName,
-      anAxisData[0].DrawValues,
-      anAxisData[1].DrawValues,
-      anAxisData[2].DrawValues,
-      Standard_True, // draw grid
-      Standard_False, // draw axes
-      anAxisData[0].NbValues - 1,
-      anAxisData[1].NbValues - 1,
-      anAxisData[2].NbValues - 1,
-      anAxisData[0].Offset,
-      anAxisData[1].Offset,
-      anAxisData[2].Offset,
-      anAxisData[0].Offset + aGap, // see above
-      anAxisData[1].Offset + aGap, // see above
-      anAxisData[2].Offset + aGap, // see above
-      anAxisData[0].DrawTickmarks,
-      anAxisData[1].DrawTickmarks,
-      anAxisData[2].DrawTickmarks,
-      anAxisData[0].TickmarkLength,
-      anAxisData[1].TickmarkLength,
-      anAxisData[2].TickmarkLength,
-      Quantity_NOC_WHITE, // grid color
-      Quantity_Color( anAxisData[0].NameColor.redF(),
-                      anAxisData[0].NameColor.greenF(),
-                      anAxisData[0].NameColor.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[1].NameColor.redF(),
-                      anAxisData[1].NameColor.greenF(),
-                      anAxisData[1].NameColor.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[2].NameColor.redF(),
-                      anAxisData[2].NameColor.greenF(),
-                      anAxisData[2].NameColor.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[0].Color.redF(),
-                      anAxisData[0].Color.greenF(),
-                      anAxisData[0].Color.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[1].Color.redF(),
-                      anAxisData[1].Color.greenF(),
-                      anAxisData[1].Color.blueF(),
-                      Quantity_TOC_RGB ),
-      Quantity_Color( anAxisData[2].Color.redF(),
-                      anAxisData[2].Color.greenF(),
-                      anAxisData[2].Color.blueF(),
-                      Quantity_TOC_RGB ) );
+    Graphic3d_GraduatedTrihedron gt;
+    // main params
+    gt.SetDrawGrid(Standard_True);       // to draw grid
+    gt.SetDrawAxes(Standard_True);       // to draw axes
+    gt.SetGridColor(Quantity_NOC_WHITE); // grid color
+    // axes params
+    for ( int i = 0; i < 3; i++ ) {
+#if OCC_VERSION_LARGE < 0x07070000
+      Graphic3d_AxisAspect& aspect = gt.ChangeAxisAspect(i);
+#else
+      Graphic3d_GraduatedTrihedron::AxisAspect& aspect = gt.ChangeAxisAspect(i);
+#endif
+      aspect.SetName(anAxisData[i].Name.toUtf8().constData());
+      aspect.SetDrawName(anAxisData[i].DrawName);
+      aspect.SetDrawValues(anAxisData[i].DrawValues);
+      aspect.SetDrawTickmarks(anAxisData[i].DrawTickmarks);
+      aspect.SetNameColor(Quantity_Color(anAxisData[i].NameColor.redF(),
+                                         anAxisData[i].NameColor.greenF(),
+                                         anAxisData[i].NameColor.blueF(),
+                                         Quantity_TOC_RGB));
+      aspect.SetColor(Quantity_Color(anAxisData[i].Color.redF(),
+                                     anAxisData[i].Color.greenF(),
+                                     anAxisData[i].Color.blueF(),
+                                     Quantity_TOC_RGB));
+      aspect.SetTickmarksNumber(anAxisData[i].NbValues-1);
+      aspect.SetTickmarksLength(anAxisData[i].TickmarkLength);
+      aspect.SetValuesOffset(anAxisData[i].Offset);
+      aspect.SetNameOffset(anAxisData[i].Offset + aGap); // see above
+    }
+    // draw trihedron
+    theView->GraduatedTrihedronDisplay(gt);
   }
   else
     theView->GraduatedTrihedronErase();