#include "SMESH_Actor.h"
#include "SMESH_Object.h"
+#include <vtkSmartPointer.h>
+
+template <class T>
+class TVTKSmartPtr: public vtkSmartPointer<T>
+{
+public:
+ TVTKSmartPtr() {}
+ TVTKSmartPtr(T* r, bool theIsOwner = false): vtkSmartPointer<T>(r) {
+ if(r && theIsOwner)
+ r->Delete();
+ }
+ TVTKSmartPtr& operator()(T* r, bool theIsOwner = false){
+ vtkSmartPointer<T>::operator=(r);
+ if(r && theIsOwner)
+ r->Delete();
+ return *this;
+ }
+ TVTKSmartPtr& operator=(T* r){ vtkSmartPointer<T>::operator=(r); return *this;}
+ T* Get() const { return this->GetPointer();}
+};
+
+
class vtkProperty;
class vtkShrinkFilter;
class vtkPolyDataMapper;
virtual bool GetPointRepresentation();
virtual float* GetBounds();
- virtual void SetTransform(SALOME_Transform* theTransform);
+ virtual void SetTransform(VTKViewer_Transform* theTransform);
virtual vtkUnstructuredGrid* GetUnstructuredGrid();
virtual vtkDataSet* GetInput();
virtual void SetPlaneParam(float theDir[3], float theDist, vtkPlane* thePlane);
virtual void GetPlaneParam(float theDir[3], float& theDist, vtkPlane* thePlane);
- virtual vtkImplicitBoolean* GetPlaneContainer();
+ virtual void RemoveAllClippingPlanes();
+ virtual vtkIdType GetNumberOfClippingPlanes();
+ virtual vtkPlane* GetClippingPlane(vtkIdType theID);
+ virtual vtkIdType AddClippingPlane(vtkPlane* thePlane);
virtual TVisualObjPtr GetObject() { return myVisualObj;}
virtual void SetControlsPrecision( const long p ) { myControlsPrecision = p; }
virtual long GetControlsPrecision() const { return myControlsPrecision; }
+ virtual void UpdateScalarBar();
+
protected:
+ void SetControlMode(eControl theMode, bool theCheckEntityMode);
+ void SetImplicitFunctionUsed(bool theIsImplicitFunctionUsed);
+ bool IsImplicitFunctionUsed() const;
+
TVisualObjPtr myVisualObj;
vtkTimeStamp* myTimeStamp;
vtkProperty* myHighlightProp;
vtkProperty* myPreselectProp;
SMESH_DeviceActor* myHighlitableActor;
- SMESH_DeviceActor* myNodeHighlitableActor;
eControl myControlMode;
SMESH_DeviceActor* my2DActor;
SMESH_DeviceActor* my1DExtActor;
unsigned int myEntityMode;
+ unsigned int myEntityState;
bool myIsPointsVisible;
bool myIsShrinkable;
vtkSelectVisiblePoints* myClsSelectVisiblePoints;
vtkImplicitBoolean* myImplicitBoolean;
-
+ typedef TVTKSmartPtr<vtkPlane> TPlanePtr;
+ typedef std::vector<TPlanePtr> TCippingPlaneCont;
+ TCippingPlaneCont myCippingPlaneCont;
long myControlsPrecision;
SMESH_ActorDef();