-// Copyright (C) 2007-2008 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2010 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
//
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
+
// SMESH OBJECT : interactive object for SMESH visualization
// File : SMESH_ActorDef.h
// Author : Nicolas REJNERI
// Module : SMESH
//
-
#ifndef SMESH_ACTORDEF_H
#define SMESH_ACTORDEF_H
class vtkUnstructuredGrid;
class vtkMergeFilter;
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 VTKViewer_CellCenters;
+
class SMESH_DeviceActor;
+class SMESH_ScalarBarActor;
class SMESH_ActorDef : public SMESH_Actor
virtual void SetNodeColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b);
virtual void GetNodeColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b);
+ virtual void Set0DColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b);
+ virtual void Get0DColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b);
+
virtual void SetHighlightColor(vtkFloatingPointType r,vtkFloatingPointType g,vtkFloatingPointType b);
virtual void GetHighlightColor(vtkFloatingPointType& r,vtkFloatingPointType& g,vtkFloatingPointType& b);
virtual vtkFloatingPointType GetLineWidth();
virtual void SetLineWidth(vtkFloatingPointType theVal);
- virtual void SetNodeSize(vtkFloatingPointType size) ;
- virtual vtkFloatingPointType GetNodeSize() ;
+ virtual void Set0DSize(vtkFloatingPointType size);
+ virtual vtkFloatingPointType Get0DSize();
virtual int GetNodeObjId(int theVtkID);
virtual vtkFloatingPointType* GetNodeCoord(int theObjID);
virtual void SetFacesOriented(bool theIsFacesOriented);
virtual bool GetFacesOriented();
+ virtual void SetFacesOrientationColor(vtkFloatingPointType theColor[3]);
+ virtual void GetFacesOrientationColor(vtkFloatingPointType theColor[3]);
+
+ virtual void SetFacesOrientationScale(vtkFloatingPointType theScale);
+ virtual vtkFloatingPointType GetFacesOrientationScale();
+
+ virtual void SetFacesOrientation3DVectors(bool theState);
+ virtual bool GetFacesOrientation3DVectors();
+
virtual void SetControlMode(eControl theMode);
virtual eControl GetControlMode(){ return myControlMode;}
+ virtual SMESH::Controls::FunctorPtr GetFunctor() { return myFunctor; }
- virtual vtkScalarBarActor* GetScalarBarActor(){ return myScalarBarActor;}
-
- virtual void SetPlaneParam(vtkFloatingPointType theDir[3], vtkFloatingPointType theDist, vtkPlane* thePlane);
- virtual void GetPlaneParam(vtkFloatingPointType theDir[3], vtkFloatingPointType& theDist, vtkPlane* thePlane);
+ virtual SMESH_ScalarBarActor* GetScalarBarActor(){ return myScalarBarActor;}
virtual void RemoveAllClippingPlanes();
virtual vtkIdType GetNumberOfClippingPlanes();
virtual long GetControlsPrecision() const { return myControlsPrecision; }
virtual void UpdateScalarBar();
+ virtual void UpdateDistribution();
virtual void SetQuadratic2DRepresentation(EQuadratic2DRepresentation);
virtual EQuadratic2DRepresentation GetQuadratic2DRepresentation();
+ virtual void SetMarkerStd( VTK::MarkerType, VTK::MarkerScale );
+ virtual void SetMarkerTexture( int, VTK::MarkerTexture );
+
protected:
void SetControlMode(eControl theMode, bool theCheckEntityMode);
void SetImplicitFunctionUsed(bool theIsImplicitFunctionUsed);
TVisualObjPtr myVisualObj;
vtkTimeStamp* myTimeStamp;
- vtkScalarBarActor* myScalarBarActor;
+ SMESH_ScalarBarActor* myScalarBarActor;
vtkLookupTable* myLookupTable;
vtkProperty* mySurfaceProp;
SMESH_DeviceActor* myHighlitableActor;
eControl myControlMode;
+ SMESH::Controls::FunctorPtr myFunctor;
vtkProperty* my2DExtProp;
SMESH_DeviceActor* my2DActor;
SMESH_DeviceActor* my2DExtActor;
SMESH_DeviceActor* my3DActor;
+ SMESH_DeviceActor* my3DExtActor;
SMESH_DeviceActor* myControlActor;
vtkProperty* myNodeExtProp;
vtkUnstructuredGrid* myCellsNumDataSet;
vtkActor2D *myCellsLabels;
vtkMaskPoints* myClsMaskPoints;
- vtkCellCenters* myCellCenters;
+ VTKViewer_CellCenters* myCellCenters;
vtkLabeledDataMapper* myClsLabeledDataMapper;
vtkSelectVisiblePoints* myClsSelectVisiblePoints;
bool myIsFacesOriented;
+ VTK::MarkerTexture myMarkerTexture;
+
SMESH_ActorDef();
~SMESH_ActorDef();