31 #include <SALOMEconfig.h>
32 #include <SALOME_Actor.h>
36 #include <vtkCommand.h>
43 class vtkImplicitBoolean;
45 #ifndef DISABLE_PLOT2DVIEWER
46 class SPlot2d_Histogram;
65 virtual void SetSufaceColor(
double r,
double g,
double b,
int delta ) = 0;
66 virtual void GetSufaceColor(
double& r,
double& g,
double& b,
int& delta ) = 0;
68 virtual void SetVolumeColor(
double r,
double g,
double b,
int delta ) = 0;
69 virtual void GetVolumeColor(
double& r,
double& g,
double& b,
int& delta) = 0;
71 virtual void SetEdgeColor(
double r,
double g,
double b) = 0;
72 virtual void GetEdgeColor(
double& r,
double& g,
double& b) = 0;
74 virtual void SetNodeColor(
double r,
double g,
double b) = 0;
75 virtual void GetNodeColor(
double& r,
double& g,
double& b) = 0;
77 virtual void SetOutlineColor(
double r,
double g,
double b) = 0;
78 virtual void GetOutlineColor(
double& r,
double& g,
double& b) = 0;
80 virtual void Set0DColor(
double r,
double g,
double b) = 0;
81 virtual void Get0DColor(
double& r,
double& g,
double& b) = 0;
83 virtual void SetBallColor(
double r,
double g,
double b) = 0;
84 virtual void GetBallColor(
double& r,
double& g,
double& b) = 0;
86 virtual void SetHighlightColor(
double r,
double g,
double b) = 0;
87 virtual void GetHighlightColor(
double& r,
double& g,
double& b) = 0;
89 virtual void SetPreHighlightColor(
double r,
double g,
double b) = 0;
90 virtual void GetPreHighlightColor(
double& r,
double& g,
double& b) = 0;
92 virtual double GetLineWidth() = 0;
93 virtual void SetLineWidth(
double theVal) = 0;
95 virtual double GetOutlineWidth() = 0;
96 virtual void SetOutlineWidth(
double theVal) = 0;
98 virtual void Set0DSize(
double size) = 0;
99 virtual double Get0DSize() = 0;
101 virtual void SetBallSize(
double size) = 0;
102 virtual double GetBallSize() = 0;
104 virtual void SetBallScale(
double size) = 0;
105 virtual double GetBallScale() = 0;
109 enum EEntityMode { e0DElements = 0x01, eEdges = 0x02, eFaces = 0x04, eVolumes = 0x08, eBallElem = 0x10, eAllEntity = 0x1f};
113 virtual void SetEntityMode(
unsigned int theMode) = 0;
114 virtual unsigned int GetEntityMode()
const = 0;
116 virtual void SetQuadratic2DRepresentation(EQuadratic2DRepresentation) = 0;
117 virtual EQuadratic2DRepresentation GetQuadratic2DRepresentation() = 0;
120 virtual bool GetPointRepresentation() = 0;
124 virtual void SetShrinkFactor(
double theValue) = 0;
126 virtual void SetPointsLabeled(
bool theIsPointsLabeled) = 0;
127 virtual bool GetPointsLabeled() = 0;
129 virtual void SetCellsLabeled(
bool theIsCellsLabeled) = 0;
130 virtual bool GetCellsLabeled() = 0;
132 virtual void SetFacesOriented(
bool theIsFacesOriented) = 0;
133 virtual bool GetFacesOriented() = 0;
135 virtual void SetFacesOrientationColor(
double r,
double g,
double b) = 0;
136 virtual void GetFacesOrientationColor(
double& r,
double& g,
double& b) = 0;
138 virtual void SetFacesOrientationScale(
double theScale) = 0;
139 virtual double GetFacesOrientationScale() = 0;
141 virtual void SetFacesOrientation3DVectors(
bool theState) = 0;
142 virtual bool GetFacesOrientation3DVectors() = 0;
144 enum eControl{
eNone, eLength, eLength2D, eFreeBorders, eFreeEdges, eFreeNodes,
145 eFreeFaces, eMultiConnection, eArea,
eTaper, eAspectRatio,
146 eMinimumAngle,
eWarping, eSkew, eAspectRatio3D, eMultiConnection2D, eVolume3D,
149 eCoincidentElems1D, eCoincidentElems2D, eCoincidentElems3D, eNodeConnectivityNb };
150 virtual void SetControlMode(eControl theMode) = 0;
151 virtual eControl GetControlMode() = 0;
153 virtual int GetNumberControlEntities() = 0;
157 virtual void RemoveAllClippingPlanes() = 0;
158 virtual vtkIdType GetNumberOfClippingPlanes() = 0;
159 virtual vtkPlane* GetClippingPlane(vtkIdType theID) = 0;
160 virtual vtkIdType AddClippingPlane(
vtkPlane* thePlane) = 0;
161 virtual void AddOpenGLClippingPlane(
vtkPlane* thePlane) = 0;
162 virtual void SetOpenGLClippingPlane() = 0;
167 virtual long GetControlsPrecision()
const = 0;
169 virtual void UpdateScalarBar() = 0;
170 virtual void UpdateDistribution() = 0;
173 bool bold,
bool italic,
bool shadow,
174 double r,
double g,
double b ) = 0;
176 bool bold,
bool italic,
bool shadow,
177 double r,
double g,
double b ) = 0;
179 #ifndef DISABLE_PLOT2DVIEWER
180 virtual SPlot2d_Histogram* GetPlot2Histogram() = 0;
181 virtual SPlot2d_Histogram* UpdatePlot2Histogram() = 0;
186 #endif //SMESH_ACTOR_H