X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FOBJECT%2FSMESH_Actor.h;h=b2f68c394edc3eccbe2854d556ecf9e7faf946c0;hp=2cb9628a8d81d2097db2f3f6d30d139f4a5e7e4e;hb=0febe018bcde111dc7aca1f3e44d4aa2995b59a2;hpb=0de991099a7f8bea2687d44c20021be3066f3615;ds=sidebyside diff --git a/src/OBJECT/SMESH_Actor.h b/src/OBJECT/SMESH_Actor.h index 2cb9628a8..b2f68c394 100644 --- a/src/OBJECT/SMESH_Actor.h +++ b/src/OBJECT/SMESH_Actor.h @@ -42,14 +42,19 @@ class vtkPolyData; class vtkMapper; class vtkActor2D; class vtkMaskPoints; +class vtkCellCenters; class vtkLabeledDataMapper; class vtkSelectVisiblePoints; class vtkScalarBarActor; class vtkLookupTable; +class vtkPlane; +class vtkImplicitBoolean; + +class vtkTimeStamp; + class SMESH_DeviceActor; -class SALOME_ExtractUnstructuredGrid; class SMESH_Actor : public SALOME_Actor{ @@ -58,7 +63,6 @@ class SMESH_Actor : public SALOME_Actor{ public: vtkTypeMacro(SMESH_Actor,SALOME_Actor); static SMESH_Actor* New(TVisualObjPtr theVisualObj, - SMESH::FilterManager_ptr theFilterMgr, const char* theEntry, const char* theName, int theIsClear); @@ -72,8 +76,8 @@ class SMESH_Actor : public SALOME_Actor{ virtual void RemoveFromRender(vtkRenderer* theRenderer); virtual bool hasHighlight() { return true; } - virtual void highlight(Standard_Boolean highlight); - virtual void SetPreSelected(Standard_Boolean presel = Standard_False); + virtual void highlight(bool theHighlight); + virtual void SetPreSelected(bool thePreselect = false); virtual bool IsInfinitive(); @@ -104,37 +108,36 @@ class SMESH_Actor : public SALOME_Actor{ void SetNodeSize(float size) ; float GetNodeSize() ; - virtual int GetObjId(int theVtkID); - virtual TVectorId GetVtkId(int theObjID); - virtual int GetNodeObjId(int theVtkID); - virtual TVectorId GetNodeVtkId(int theObjID); + virtual float* GetNodeCoord(int theObjID); virtual int GetElemObjId(int theVtkID); - virtual TVectorId GetElemVtkId(int theObjID); + virtual vtkCell* GetElemCell(int theObjID); virtual int GetObjDimension( const int theObjId ); virtual void SetVisibility(int theMode); + void SetVisibility(int theMode, bool theIsUpdateRepersentation); enum EReperesent { ePoint, eEdge, eSurface}; virtual void SetRepresentation(int theMode); - void SetPointRepresentation(int theIsPointsVisible); - bool GetPointRepresentation(){ return myIsPointsVisible;} + void SetPointRepresentation(bool theIsPointsVisible); + bool GetPointRepresentation(); - virtual vtkPolyData* GetPolyDataInput(); + virtual float* GetBounds(); virtual void SetTransform(SALOME_Transform* theTransform); vtkUnstructuredGrid* GetUnstructuredGrid(); + virtual vtkDataSet* GetInput(); virtual vtkMapper* GetMapper(); - float GetShrinkFactor(); - void SetShrinkFactor(float value ); + virtual float GetShrinkFactor(); + virtual void SetShrinkFactor(float value ); - bool IsShrunkable() { return myIsShrinkable;} - bool IsShrunk() { return myIsShrunk;} - void SetShrink(); - void UnShrink(); + virtual bool IsShrunkable() { return myIsShrinkable;} + virtual bool IsShrunk() { return myIsShrunk;} + virtual void SetShrink(); + virtual void UnShrink(); void SetPointsLabeled(bool theIsPointsLabeled); bool GetPointsLabeled(){ return myIsPointsLabeled;} @@ -142,7 +145,7 @@ class SMESH_Actor : public SALOME_Actor{ void SetCellsLabeled(bool theIsCellsLabeled); bool GetCellsLabeled(){ return myIsCellsLabeled;} - enum eControl{eNone, eLengthEdges, eFreeBorders, eMultiConnection, + enum eControl{eNone, eLengthEdges, eFreeBorders, eFreeEdges, eMultiConnection, eArea, eTaper, eAspectRatio, eMinimumAngle, eWarping, eSkew}; void SetControlMode(eControl theMode); eControl GetControlMode(){ return myColorMode;} @@ -152,12 +155,20 @@ class SMESH_Actor : public SALOME_Actor{ vtkScalarBarActor* GetScalarBarActor(){ return myScalarBarActor;} + void SetPlaneParam(float theDir[3], float theDist, vtkPlane* thePlane); + void GetPlaneParam(float theDir[3], float& theDist, vtkPlane* thePlane); + + vtkImplicitBoolean* GetPlaneContainer(); + TVisualObjPtr GetObject() { return myVisualObj;} + void SetControlsPrecision( const long p ) { myControlsPrecision = p; } + long GetControlsPrecision() const { return myControlsPrecision; } + protected: TVisualObjPtr myVisualObj; + vtkTimeStamp* myTimeStamp; - SMESH::FilterManager_var myFilterMgr; vtkScalarBarActor* myScalarBarActor; vtkLookupTable* myLookupTable; @@ -173,6 +184,7 @@ class SMESH_Actor : public SALOME_Actor{ vtkProperty* myHighlightProp; vtkProperty* myPreselectProp; SMESH_DeviceActor* myHighlitableActor; + SMESH_DeviceActor* myNodeHighlitableActor; eControl myColorMode; SMESH_DeviceActor* my2DActor; @@ -205,18 +217,21 @@ class SMESH_Actor : public SALOME_Actor{ vtkLabeledDataMapper* myClsLabeledDataMapper; vtkSelectVisiblePoints* myClsSelectVisiblePoints; + vtkImplicitBoolean* myImplicitBoolean; + + long myControlsPrecision; + SMESH_Actor(); ~SMESH_Actor(); - void Init(TVisualObjPtr theVisualObj, - SMESH::FilterManager_ptr theFilterMgr, + bool Init(TVisualObjPtr theVisualObj, const char* theEntry, const char* theName, int theIsClear); - void SetUnstructuredGrid(vtkUnstructuredGrid* theGrid); void SetIsShrunkable(bool theShrunkable); void UpdateHighlight(); + void Update(); private: // hide the two parameter Render() method from the user and the compiler.