X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_Actor.h;h=ba533c5dee39f67bc24abf65e94d18044f3f07de;hb=HEAD;hp=fc954253d052994d1848ef53fa1602e750fb52bd;hpb=f5016d85b7b4b88623723027a1585c6414c4dc66;p=modules%2Fsmesh.git diff --git a/src/OBJECT/SMESH_Actor.h b/src/OBJECT/SMESH_Actor.h index fc954253d..15519a24c 100644 --- a/src/OBJECT/SMESH_Actor.h +++ b/src/OBJECT/SMESH_Actor.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -6,7 +6,7 @@ // 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. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -31,12 +31,14 @@ #include // To fix some redefinition #include #include "SMESH_Object.h" +#include "SMESH_ActorUtils.h" #include class vtkUnstructuredGrid; class SMESH_ScalarBarActor; +class SMESH_DeviceActor; class vtkPlane; class vtkImplicitBoolean; @@ -55,50 +57,49 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor static SMESH_Actor* New() { return NULL;} public: - vtkTypeMacro(SMESH_Actor,SALOME_Actor); + vtkTypeMacro(SMESH_Actor,SALOME_Actor) static SMESH_Actor* New(TVisualObjPtr theVisualObj, const char* theEntry, const char* theName, int theIsClear); - virtual void SetSufaceColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b, int delta ) = 0; - virtual void GetSufaceColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b, int& delta ) = 0; + virtual void SetSufaceColor(double r,double g,double b, int delta ) = 0; + virtual void GetSufaceColor(double& r,double& g,double& b, int& delta ) = 0; - virtual void SetVolumeColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b, int delta ) = 0; - virtual void GetVolumeColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b, int& delta) = 0; + virtual void SetVolumeColor(double r,double g,double b, int delta ) = 0; + virtual void GetVolumeColor(double& r,double& g,double& b, int& delta) = 0; - virtual void SetEdgeColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void GetEdgeColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; + virtual void SetEdgeColor(double r,double g,double b) = 0; + virtual void GetEdgeColor(double& r,double& g,double& b) = 0; - virtual void SetNodeColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void GetNodeColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; + virtual void SetNodeColor(double r,double g,double b) = 0; + virtual void GetNodeColor(double& r,double& g,double& b) = 0; - virtual void SetOutlineColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void GetOutlineColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; + virtual void SetOutlineColor(double r,double g,double b) = 0; + virtual void GetOutlineColor(double& r,double& g,double& b) = 0; - virtual void Set0DColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void Get0DColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; + virtual void Set0DColor(double r,double g,double b) = 0; + virtual void Get0DColor(double& r,double& g,double& b) = 0; - virtual void SetBallColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void GetBallColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; + virtual void SetBallColor(double r,double g,double b) = 0; + virtual void GetBallColor(double& r,double& g,double& b) = 0; - virtual void SetHighlightColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void GetHighlightColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; + virtual void UpdateSelectionProps() = 0; + + virtual double GetLineWidth() = 0; + virtual void SetLineWidth(double theVal) = 0; - virtual void SetPreHighlightColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void GetPreHighlightColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; - - virtual vtkFloatingPointType GetLineWidth() = 0; - virtual void SetLineWidth(vtkFloatingPointType theVal) = 0; + virtual double GetOutlineWidth() = 0; + virtual void SetOutlineWidth(double theVal) = 0; - virtual vtkFloatingPointType GetOutlineWidth() = 0; - virtual void SetOutlineWidth(vtkFloatingPointType theVal) = 0; + virtual void Set0DSize(double size) = 0; + virtual double Get0DSize() = 0; - virtual void Set0DSize(vtkFloatingPointType size) = 0; - virtual vtkFloatingPointType Get0DSize() = 0; + virtual void SetBallSize(double size) = 0; + virtual double GetBallSize() = 0; - virtual void SetBallSize(vtkFloatingPointType size) = 0; - virtual vtkFloatingPointType GetBallSize() = 0; + virtual void SetBallScale(double size) = 0; + virtual double GetBallScale() = 0; enum EReperesent { ePoint, eEdge, eSurface}; @@ -117,7 +118,7 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor virtual vtkUnstructuredGrid* GetUnstructuredGrid() = 0; - virtual void SetShrinkFactor(vtkFloatingPointType theValue) = 0; + virtual void SetShrinkFactor(double theValue) = 0; virtual void SetPointsLabeled(bool theIsPointsLabeled) = 0; virtual bool GetPointsLabeled() = 0; @@ -128,24 +129,27 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor virtual void SetFacesOriented(bool theIsFacesOriented) = 0; virtual bool GetFacesOriented() = 0; - virtual void SetFacesOrientationColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b) = 0; - virtual void GetFacesOrientationColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b) = 0; + virtual void SetFacesOrientationColor(double r,double g,double b) = 0; + virtual void GetFacesOrientationColor(double& r,double& g,double& b) = 0; - virtual void SetFacesOrientationScale(vtkFloatingPointType theScale) = 0; - virtual vtkFloatingPointType GetFacesOrientationScale() = 0; + virtual void SetFacesOrientationScale(double theScale) = 0; + virtual double GetFacesOrientationScale() = 0; virtual void SetFacesOrientation3DVectors(bool theState) = 0; virtual bool GetFacesOrientation3DVectors() = 0; - enum eControl{eNone, eLength, eLength2D, eFreeBorders, eFreeEdges, eFreeNodes, + enum eControl{eNone, eLength, eLength2D, eDeflection2D, eFreeBorders, eFreeEdges, eFreeNodes, eFreeFaces, eMultiConnection, eArea, eTaper, eAspectRatio, - eMinimumAngle, eWarping, eSkew, eAspectRatio3D, eMultiConnection2D, eVolume3D, + eMinimumAngle, eWarping, eSkew, eAspectRatio3D, eWarping3D, eMultiConnection2D, eVolume3D, eScaledJacobian, eMaxElementLength2D, eMaxElementLength3D, eBareBorderFace, eBareBorderVolume, eOverConstrainedFace, eOverConstrainedVolume, eCoincidentNodes, - eCoincidentElems1D, eCoincidentElems2D, eCoincidentElems3D }; + eCoincidentElems1D, eCoincidentElems2D, eCoincidentElems3D, eNodeConnectivityNb, + eCustomControl }; virtual void SetControlMode(eControl theMode) = 0; + virtual void SetControl(SMESH::Controls::FunctorPtr) = 0; virtual eControl GetControlMode() = 0; virtual SMESH::Controls::FunctorPtr GetFunctor() = 0; + virtual smIdType GetNumberControlEntities() = 0; virtual SMESH_ScalarBarActor* GetScalarBarActor() = 0; @@ -153,6 +157,8 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor virtual vtkIdType GetNumberOfClippingPlanes() = 0; virtual vtkPlane* GetClippingPlane(vtkIdType theID) = 0; virtual vtkIdType AddClippingPlane(vtkPlane* thePlane) = 0; + virtual void AddOpenGLClippingPlane(vtkPlane* thePlane) = 0; + virtual void SetOpenGLClippingPlane() = 0; virtual TVisualObjPtr GetObject() = 0; @@ -161,6 +167,20 @@ class SMESHOBJECT_EXPORT SMESH_Actor: public SALOME_Actor virtual void UpdateScalarBar() = 0; virtual void UpdateDistribution() = 0; + virtual void ClipThreshold(bool isThresholdOn, double min = 0.0, double max = 0.0) = 0; + virtual SMESH_DeviceActor* GetActorForThreshold() = 0; + virtual bool IsClipThresholdOn() const = 0; + virtual void SetWireframeOff(bool isWireframeOff) = 0; + virtual bool IsWireframeOff() const = 0; + + virtual void SetPointsFontProperties( SMESH::LabelFont family, int size, + bool bold, bool italic, bool shadow, + double r, double g, double b ) = 0; + virtual void SetCellsFontProperties( SMESH::LabelFont family, int size, + bool bold, bool italic, bool shadow, + double r, double g, double b ) = 0; + + virtual void UpdateFilter() = 0; #ifndef DISABLE_PLOT2DVIEWER virtual SPlot2d_Histogram* GetPlot2Histogram() = 0;