X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_DeviceActor.h;h=a3724ac6ff42a118481af5a1e6bc4c1ab819a06a;hp=40bfced14ee940d7b7cb87dfd060128f26bcb25e;hb=499f29d24922cec66e41b41a0039a954993bc6df;hpb=ae29d465091933df101dfac6ae99d3becf4efde7 diff --git a/src/OBJECT/SMESH_DeviceActor.h b/src/OBJECT/SMESH_DeviceActor.h index 40bfced14..a3724ac6f 100644 --- a/src/OBJECT/SMESH_DeviceActor.h +++ b/src/OBJECT/SMESH_DeviceActor.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2022 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 @@ -45,6 +45,7 @@ class vtkUnstructuredGrid; class vtkLookupTable; class vtkImplicitBoolean; class vtkPassThroughFilter; +class vtkPlaneCollection; class VTKViewer_Transform; class VTKViewer_TransformFilter; @@ -60,21 +61,22 @@ class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{ friend class SMESH_ActorDef; public: - vtkTypeMacro(SMESH_DeviceActor,vtkLODActor); + vtkTypeMacro(SMESH_DeviceActor,vtkLODActor) static SMESH_DeviceActor* New(); void SetStoreClippingMapping(bool theStoreMapping); void SetStoreGemetryMapping(bool theStoreMapping); void SetStoreIDMapping(bool theStoreMapping); - virtual int GetNodeObjId(int theVtkID); - virtual double* GetNodeCoord(int theObjID); + virtual vtkIdType GetNodeObjId(vtkIdType theVtkID); + virtual double* GetNodeCoord(vtkIdType theObjID); + virtual vtkIdType GetNodeVtkId(vtkIdType theObjID); - virtual int GetElemObjId(int theVtkID); - virtual vtkCell* GetElemCell(int theObjID); + virtual vtkIdType GetElemObjId(vtkIdType theVtkID); + virtual vtkCell* GetElemCell(vtkIdType theObjID); virtual void SetTransform(VTKViewer_Transform* theTransform); - virtual unsigned long int GetMTime(); + virtual vtkMTimeType GetMTime(); virtual void SetFacesOriented(bool theIsFacesOriented); virtual bool GetFacesOriented() { return myIsFacesOriented; } @@ -106,7 +108,7 @@ class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{ void SetShrink(); void UnShrink(); - enum EReperesent { ePoint, eWireframe, eSurface, eInsideframe}; + enum EReperesent { ePoint, eWireframe, eSurface, eInsideframe, eNoneRepr=-1}; EReperesent GetRepresentation(){ return myRepresentation;} void SetRepresentation(EReperesent theMode); @@ -119,6 +121,8 @@ class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{ VTKViewer_ExtractUnstructuredGrid* GetExtractUnstructuredGrid(); vtkUnstructuredGrid* GetUnstructuredGrid(); + void SetPlaneCollection( vtkPlaneCollection* theCollection ); + void SetControlMode(SMESH::Controls::FunctorPtr theFunctor, SMESH_ScalarBarActor* theScalarBarActor, vtkLookupTable* theLookupTable); @@ -144,11 +148,14 @@ class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{ bool IsImplicitFunctionUsed() const{ return myIsImplicitFunctionUsed;} void SetMarkerEnabled( bool ); + void SetBallEnabled( bool ); + void SetBallScale( double ); void SetMarkerStd( VTK::MarkerType, VTK::MarkerScale ); void SetMarkerTexture( int, VTK::MarkerTexture ); VTK::MarkerType GetMarkerType(); VTK::MarkerScale GetMarkerScale(); int GetMarkerTexture(); + double GetBallScale(); protected: void Init(TVisualObjPtr theVisualObj, vtkImplicitBoolean* theImplicitBoolean); @@ -157,6 +164,8 @@ class SMESHOBJECT_EXPORT SMESH_DeviceActor: public vtkLODActor{ VTKViewer_PolyDataMapper *myMapper; TVisualObjPtr myVisualObj; + vtkSmartPointer myPlaneCollection; + vtkProperty *myProperty; EReperesent myRepresentation;