Skip to content

Commit 116dcd1

Browse files
Merge pull request #10 from LIHPC-Computational-Geometry/5.9.0-dev
Release 5.9.0. Improvements to the vtkViewCubeActor class: a second click on a face cancels the roll, and the text is pressed as close as possible to the faces. Highlighting of the hovered face.
2 parents 8e7a8ee + 08d5130 commit 116dcd1

File tree

4 files changed

+245
-134
lines changed

4 files changed

+245
-134
lines changed

cmake/version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#
44

55
set (VTK_CONTRIB_MAJOR_VERSION "5")
6-
set (VTK_CONTRIB_MINOR_VERSION "8")
6+
set (VTK_CONTRIB_MINOR_VERSION "9")
77
set (VTK_CONTRIB_RELEASE_VERSION "0")
88
set (VTK_CONTRIB_VERSION ${VTK_CONTRIB_MAJOR_VERSION}.${VTK_CONTRIB_MINOR_VERSION}.${VTK_CONTRIB_RELEASE_VERSION})
99

src/VtkContrib/public/VtkContrib/vtkViewCubeActor.h

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#include <vtkPropAssembly.h>
1010
#include <vtkActor.h>
11+
#include <vtkDoubleArray.h>
1112
#include <vtkPolyData.h>
1213
#include <vtkPolyDataMapper.h>
1314
#include <vtkCellPicker.h>
@@ -87,6 +88,11 @@ class vtkViewCubeActor : public vtkPropAssembly
8788
*/
8889
virtual void PickCallback (int x, int y);
8990

91+
/**
92+
* Regarde si une face du cube est pointée aux coordonnées transmises et, le cas échéant, met cette face en surbrillance. Annule ue éventuelle surbrillance antérieure d'une autre face.
93+
*/
94+
virtual void HighlightCallback (int x, int y);
95+
9096

9197
protected:
9298

@@ -107,22 +113,28 @@ class vtkViewCubeActor : public vtkPropAssembly
107113
vtkViewCubeActor (const vtkViewCubeActor&);
108114
vtkViewCubeActor& operator = (const vtkViewCubeActor&);
109115

110-
vtkRenderer *Renderer, *DrivenRenderer;
116+
vtkRenderer *Renderer, *DrivenRenderer;
111117

112118
/** Le "cube". */
113-
vtkSmartPointer<vtkPolyData> CubePolyData;
114-
vtkSmartPointer<vtkActor> CubeActor;
115-
vtkSmartPointer<vtkPolyDataMapper> CubePolyDataMapper;
119+
vtkSmartPointer<vtkPolyData> CubePolyData, HighlightPolyData;
120+
vtkSmartPointer<vtkActor> CubeActor, HighlightActor;
121+
vtkSmartPointer<vtkPolyDataMapper> CubePolyDataMapper, HighlightPolyDataMapper;
116122

117123
/** Le picking sur les faces du ViewCube. */
118-
vtkSmartPointer<vtkCellPicker> CellPicker;
124+
vtkSmartPointer<vtkCellPicker> CellPicker;
125+
126+
/** La dernière face pickée, éventuelle face en cours de surbrillance. */
127+
unsigned char LastPickedFace, HighlightedFace;
119128

120129
/** Les labels. */
121-
vtkSmartPointer<vtkVectorText> XPlusVectorText, XMinusVectorText, YPlusVectorText, YMinusVectorText, ZPlusVectorText, ZMinusVectorText;
122-
vtkSmartPointer<vtkActor> XPlusActor, XMinusActor, YPlusActor, YMinusActor, ZPlusActor, ZMinusActor;
130+
vtkSmartPointer<vtkVectorText> XPlusVectorText, XMinusVectorText, YPlusVectorText, YMinusVectorText, ZPlusVectorText, ZMinusVectorText;
131+
vtkSmartPointer<vtkActor> XPlusActor, XMinusActor, YPlusActor, YMinusActor, ZPlusActor, ZMinusActor;
123132

133+
/** Les vecteurs "orientation vers le haut". */
134+
vtkSmartPointer<vtkDoubleArray> ViewUpVectors;
135+
124136
/** L'éventuelle transformation utilisateur. */
125-
vtkTransform *Transform;
137+
vtkTransform *Transform;
126138
}; // class vtkViewCubeActor
127139

128140

0 commit comments

Comments
 (0)