X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_ActorDef.h;h=8a276768d98a7c96c81655cccebb651fe53981ac;hb=e85e13ee2a8e2484050471ff8e4dea298abe481a;hp=ee715548c2e45f036177d2004deba8bc6c219044;hpb=ae29d465091933df101dfac6ae99d3becf4efde7;p=modules%2Fsmesh.git diff --git a/src/OBJECT/SMESH_ActorDef.h b/src/OBJECT/SMESH_ActorDef.h index ee715548c..8a276768d 100644 --- a/src/OBJECT/SMESH_ActorDef.h +++ b/src/OBJECT/SMESH_ActorDef.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2020 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 @@ -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 @@ -65,6 +65,7 @@ class vtkLookupTable; class vtkPlane; class vtkImplicitBoolean; class vtkTimeStamp; +class vtkPlaneCollection; class SMESH_DeviceActor; class SMESH_NodeLabelActor; @@ -94,6 +95,7 @@ class SMESH_ActorDef : public SMESH_Actor virtual void AddToRender(vtkRenderer* theRenderer); virtual void RemoveFromRender(vtkRenderer* theRenderer); + virtual void EnableSelection( bool enable ); virtual bool hasHighlight() { return true; } virtual void highlight(bool theHighlight); virtual void SetPreSelected(bool thePreselect = false); @@ -125,11 +127,7 @@ class SMESH_ActorDef : public SMESH_Actor virtual void SetBallColor(double r,double g,double b); virtual void GetBallColor(double& r,double& g,double& b); - virtual void SetHighlightColor(double r,double g,double b); - virtual void GetHighlightColor(double& r,double& g,double& b); - - virtual void SetPreHighlightColor(double r,double g,double b); - virtual void GetPreHighlightColor(double& r,double& g,double& b); + virtual void UpdateSelectionProps(); virtual double GetLineWidth(); virtual void SetLineWidth(double theVal); @@ -143,8 +141,12 @@ class SMESH_ActorDef : public SMESH_Actor virtual void SetBallSize(double size); virtual double GetBallSize(); + virtual void SetBallScale(double size); + virtual double GetBallScale(); + virtual int GetNodeObjId(int theVtkID); virtual double* GetNodeCoord(int theObjID); + virtual int GetNodeVtkId(int theObjID); virtual int GetElemObjId(int theVtkID); virtual vtkCell* GetElemCell(int theObjID); @@ -203,6 +205,8 @@ class SMESH_ActorDef : public SMESH_Actor virtual bool GetFacesOrientation3DVectors(); virtual void SetControlMode(eControl theMode); + virtual void SetControl(SMESH::Controls::FunctorPtr theFunctor); + virtual int GetNumberControlEntities(); virtual eControl GetControlMode(){ return myControlMode;} virtual SMESH::Controls::FunctorPtr GetFunctor() { return myFunctor; } @@ -212,6 +216,8 @@ class SMESH_ActorDef : public SMESH_Actor virtual vtkIdType GetNumberOfClippingPlanes(); virtual vtkPlane* GetClippingPlane(vtkIdType theID); virtual vtkIdType AddClippingPlane(vtkPlane* thePlane); + virtual void AddOpenGLClippingPlane(vtkPlane* thePlane); + virtual void SetOpenGLClippingPlane(); virtual TVisualObjPtr GetObject() { return myVisualObj;} @@ -233,6 +239,8 @@ class SMESH_ActorDef : public SMESH_Actor virtual void SetMarkerStd( VTK::MarkerType, VTK::MarkerScale ); virtual void SetMarkerTexture( int, VTK::MarkerTexture ); + virtual void UpdateFilter(); + protected: void SetControlMode(eControl theMode, bool theCheckEntityMode); void SetImplicitFunctionUsed(bool theIsImplicitFunctionUsed); @@ -259,9 +267,6 @@ class SMESH_ActorDef : public SMESH_Actor vtkProperty* myOutLineProp; vtkProperty* myPreselectProp; - vtkProperty* myBallHighlightProp; - vtkProperty* myBallPreselectProp; - SMESH_DeviceActor* myHighlitableActor; eControl myControlMode; @@ -290,8 +295,8 @@ class SMESH_ActorDef : public SMESH_Actor SMESH_DeviceActor* my0DExtActor; unsigned int myEntityMode; - unsigned int myEntityState; unsigned int myEntityModeCache; + int myRepresentationCache; bool myIsEntityModeCache; bool myIsPointsVisible; @@ -299,6 +304,7 @@ class SMESH_ActorDef : public SMESH_Actor bool myIsShrunk; vtkImplicitBoolean* myImplicitBoolean; + vtkPlaneCollection* myPlaneCollection; typedef TVTKSmartPtr TPlanePtr; typedef std::vector TCippingPlaneCont; TCippingPlaneCont myCippingPlaneCont;