File: upstream-clip_mode-rationalize.patch

package info (click to toggle)
surf-alggeo 1.0.6%2Bds-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,980 kB
  • sloc: cpp: 22,587; yacc: 1,049; makefile: 522; lex: 327; ansic: 238; sh: 95
file content (107 lines) | stat: -rw-r--r-- 3,367 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Description: upstream: (internal drawing) clip option
 Attempt to rationalize (or adapt) the current inconsistency of the
 (internal) clip mode which appears to be only partially implemented.
Origin: debian
Forwarded: meant to be submitted
Author: Jerome Benoit <calculus@rezozer.net>
Last-Update: 2015-05-15

--- a/drawfunc/Clip.cc
+++ b/drawfunc/Clip.cc
@@ -46,12 +46,14 @@
 #include "MappingMatrix.h"
 #include "Position.h"
 
-#define SPHERE       0
-#define CYLH         1
-#define CYLV         2
-#define CYLZ         3
-#define CUBE         4
-#define NONE         5
+#include "gui_config.h"
+
+#define SPHERE       clip_sphere_data
+#define CYLH         -1 /* 1 */
+#define CYLV         -1 /* 2 */
+#define CYLZ         clip_cylinder_data
+#define CUBE         clip_cube_data
+#define NONE         clip_none_data
 
 using namespace std;
 // ----------------------------------------------------------------------------
@@ -678,55 +680,29 @@
 	double b = wingeo.pixelToUser( 0, xmax );
 	double c = wingeo.pixelToUser( 1, ymin );
 	double d = wingeo.pixelToUser( 1, ymax );
-	if(!psp) {                                     // perspective parallel
-
-		switch( cm ) {                             // clipmodus
-
-		case SPHERE :
-			return (::new ClipSphere(cd,a,b,c,d));
-
-		case CYLH :
-			return (::new ClipCylH(cd,a,b,c,d));
-
-		case CYLV :
-			return (::new ClipCylV(cd,a,b,c,d));
-
-		case CYLZ :
-			return (::new ClipCylZ(cd,a,b,c,d));
-
-		case CUBE :
-			return (::new ClipCube(cd,a,b,c,d, position));
-
-		case NONE :
-			return (::new ClipNone(cd,a,b,c,d));
-
-		default :
+	if(!psp) { // perspective parallel
+		     if (cm == SPHERE) return (::new ClipSphere(cd,a,b,c,d));
+#if 0
+		else if (cm == CYLH)   return (::new ClipCylH(cd,a,b,c,d));
+		else if (cm == CYLV)   return (::new ClipCylV(cd,a,b,c,d));
+#endif
+		else if (cm == CYLZ)   return (::new ClipCylZ(cd,a,b,c,d));
+		else if (cm == CUBE)   return (::new ClipCube(cd,a,b,c,d, position));
+		else if (cm == NONE)   return (::new ClipNone(cd,a,b,c,d));
+		else {
 			cerr << "trying to create unknown clipping mode. using none." << endl;
 			return (::new ClipNone(cd,a,b,c,d));
 		}
-	} else {                                         // perspective central
-		
-		switch( cm ) {                             // clipmodus
-
-		case SPHERE :
-			return (::new ClipSphereCentral(cd,a,b,c,d,sz));
-
-		case CYLH :
-			return (::new ClipCylHCentral(cd,a,b,c,d,sz));
-
-		case CYLV :
-			return (::new ClipCylVCentral(cd,a,b,c,d,sz));
-
-		case CYLZ :
-			return (::new ClipCylZCentral(cd,a,b,c,d,sz));
-
-		case CUBE :
-			return (::new ClipCubeCentral(cd,a,b,c,d,sz, position));
-
-		case NONE :
-			return (::new ClipCylZCentral(cd,a,b,c,d,sz));
-
-		default :
+	} else { // perspective central
+		     if (cm == SPHERE) return (::new ClipSphereCentral(cd,a,b,c,d,sz));
+#if 0
+		else if (cm == CYLH)   return (::new ClipCylHCentral(cd,a,b,c,d,sz));
+		else if (cm == CYLV)   return (::new ClipCylVCentral(cd,a,b,c,d,sz));
+#endif
+		else if (cm == CYLZ)   return (::new ClipCylZCentral(cd,a,b,c,d,sz));
+		else if (cm == CUBE)   return (::new ClipCubeCentral(cd,a,b,c,d,sz, position));
+		else if (cm == NONE)   return (::new ClipCylZCentral(cd,a,b,c,d,sz));
+		else {
 			cerr << "trying to create unknown clipping mode. using none." << endl;
 			return (::new ClipNone(cd,a,b,c,d));
 		}