-// Copyright (C) 2007-2010 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2011 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
+// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
-// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// SMESH SMESHGUI_Selection
#include <SMESH_Type.h>
#include <SMESH_Actor.h>
+#include <SMESH_ScalarBarActor.h>
// SALOME GUI includes
#include <SalomeApp_Study.h>
else if ( p=="shrinkMode" ) val = QVariant( shrinkMode( ind ) );
else if ( p=="entityMode" ) val = QVariant( entityMode( ind ) );
else if ( p=="controlMode" ) val = QVariant( controlMode( ind ) );
+ else if ( p=="isNumFunctor" ) val = QVariant( isNumFunctor( ind ) );
else if ( p=="displayMode" ) val = QVariant( displayMode( ind ) );
else if ( p=="isComputable" ) val = QVariant( isComputable( ind ) );
else if ( p=="isPreComputable" ) val = QVariant( isPreComputable( ind ) );
else if ( p=="facesOrientationMode" ) val = QVariant( facesOrientationMode( ind ) );
else if ( p=="groupType" ) val = QVariant( groupType( ind ) );
else if ( p=="quadratic2DMode") val = QVariant(quadratic2DMode(ind));
+ else if ( p=="isDistributionVisible") val = QVariant(isDistributionVisible(ind));
if( val.isValid() )
return val;
return "Unknown";
}
+//=======================================================================
+//function : isDistributionVisible
+//purpose : Visible/Invisible distribution of the ScalarBar Actor
+//=======================================================================
+
+bool SMESHGUI_Selection::isDistributionVisible(int ind) const {
+ SMESH_Actor* actor = getActor( ind );
+ return (actor && actor->GetScalarBarActor() && actor->GetScalarBarActor()->GetDistributionVisibility());
+}
+
//=======================================================================
//function : shrinkMode
//purpose : return either 'IsSrunk', 'IsNotShrunk' or 'IsNotShrinkable'
QString SMESHGUI_Selection::controlMode( int ind ) const
{
SMESH_Actor* actor = getActor( ind );
+ QString mode = "eNone";
if ( actor ) {
switch( actor->GetControlMode() ) {
- case SMESH_Actor::eLength: return "eLength";
- case SMESH_Actor::eLength2D: return "eLength2D";
- case SMESH_Actor::eFreeEdges: return "eFreeEdges";
- case SMESH_Actor::eFreeNodes: return "eFreeNodes";
- case SMESH_Actor::eFreeBorders: return "eFreeBorders";
- case SMESH_Actor::eFreeFaces: return "eFreeFaces";
- case SMESH_Actor::eMultiConnection: return "eMultiConnection";
- case SMESH_Actor::eMultiConnection2D: return "eMultiConnection2D";
- case SMESH_Actor::eArea: return "eArea";
- case SMESH_Actor::eVolume3D: return "eVolume3D";
- case SMESH_Actor::eTaper: return "eTaper";
- case SMESH_Actor::eAspectRatio: return "eAspectRatio";
- case SMESH_Actor::eAspectRatio3D: return "eAspectRatio3D";
- case SMESH_Actor::eMinimumAngle: return "eMinimumAngle";
- case SMESH_Actor::eWarping: return "eWarping";
- case SMESH_Actor::eSkew: return "eSkew";
- default:;
+ case SMESH_Actor::eLength: mode = "eLength"; break;
+ case SMESH_Actor::eLength2D: mode = "eLength2D"; break;
+ case SMESH_Actor::eFreeEdges: mode = "eFreeEdges"; break;
+ case SMESH_Actor::eFreeNodes: mode = "eFreeNodes"; break;
+ case SMESH_Actor::eFreeBorders: mode = "eFreeBorders"; break;
+ case SMESH_Actor::eFreeFaces: mode = "eFreeFaces"; break;
+ case SMESH_Actor::eMultiConnection: mode = "eMultiConnection"; break;
+ case SMESH_Actor::eMultiConnection2D: mode = "eMultiConnection2D"; break;
+ case SMESH_Actor::eArea: mode = "eArea"; break;
+ case SMESH_Actor::eVolume3D: mode = "eVolume3D"; break;
+ case SMESH_Actor::eMaxElementLength2D: mode = "eMaxElementLength2D"; break;
+ case SMESH_Actor::eMaxElementLength3D: mode = "eMaxElementLength3D"; break;
+ case SMESH_Actor::eTaper: mode = "eTaper"; break;
+ case SMESH_Actor::eAspectRatio: mode = "eAspectRatio"; break;
+ case SMESH_Actor::eAspectRatio3D: mode = "eAspectRatio3D"; break;
+ case SMESH_Actor::eMinimumAngle: mode = "eMinimumAngle"; break;
+ case SMESH_Actor::eWarping: mode = "eWarping"; break;
+ case SMESH_Actor::eSkew: mode = "eSkew"; break;
+ case SMESH_Actor::eBareBorderFace: mode = "eBareBorderFace"; break;
+ case SMESH_Actor::eBareBorderVolume: mode = "eBareBorderVolume"; break;
+ case SMESH_Actor::eOverConstrainedFace: mode = "eOverConstrainedFace"; break;
+ case SMESH_Actor::eOverConstrainedVolume: mode = "eOverConstrainedVolume"; break;
+ default:break;
}
}
- return "eNone";
+ return mode;
+}
+
+bool SMESHGUI_Selection::isNumFunctor( int ind ) const
+{
+ bool result = false;
+ SMESH_Actor* actor = getActor( ind );
+ if ( actor ) {
+ switch( actor->GetControlMode() ) {
+ case SMESH_Actor::eLength:
+ case SMESH_Actor::eLength2D:
+ case SMESH_Actor::eMultiConnection:
+ case SMESH_Actor::eMultiConnection2D:
+ case SMESH_Actor::eArea:
+ case SMESH_Actor::eVolume3D:
+ case SMESH_Actor::eMaxElementLength2D:
+ case SMESH_Actor::eMaxElementLength3D:
+ case SMESH_Actor::eTaper:
+ case SMESH_Actor::eAspectRatio:
+ case SMESH_Actor::eAspectRatio3D:
+ case SMESH_Actor::eMinimumAngle:
+ case SMESH_Actor::eWarping:
+ case SMESH_Actor::eSkew:
+ result = true;
+ break;
+ default:
+ break;
+ }
+ }
+ return result;
}
//=======================================================================
}
return type;
}
-