Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/visualization/FukuiRenderer/include/private/G4FRConst.hh

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /visualization/FukuiRenderer/include/private/G4FRConst.hh (Version 11.3.0) and /visualization/FukuiRenderer/include/private/G4FRConst.hh (Version 11.2.1)


  1 //                                                  1 //
  2 // *******************************************      2 // ********************************************************************
  3 // * License and Disclaimer                         3 // * License and Disclaimer                                           *
  4 // *                                                4 // *                                                                  *
  5 // * The  Geant4 software  is  copyright of th      5 // * The  Geant4 software  is  copyright of the Copyright Holders  of *
  6 // * the Geant4 Collaboration.  It is provided      6 // * the Geant4 Collaboration.  It is provided  under  the terms  and *
  7 // * conditions of the Geant4 Software License      7 // * conditions of the Geant4 Software License,  included in the file *
  8 // * LICENSE and available at  http://cern.ch/      8 // * LICENSE and available at  http://cern.ch/geant4/license .  These *
  9 // * include a list of copyright holders.           9 // * include a list of copyright holders.                             *
 10 // *                                               10 // *                                                                  *
 11 // * Neither the authors of this software syst     11 // * Neither the authors of this software system, nor their employing *
 12 // * institutes,nor the agencies providing fin     12 // * institutes,nor the agencies providing financial support for this *
 13 // * work  make  any representation or  warran     13 // * work  make  any representation or  warranty, express or implied, *
 14 // * regarding  this  software system or assum     14 // * regarding  this  software system or assume any liability for its *
 15 // * use.  Please see the license in the file      15 // * use.  Please see the license in the file  LICENSE  and URL above *
 16 // * for the full disclaimer and the limitatio     16 // * for the full disclaimer and the limitation of liability.         *
 17 // *                                               17 // *                                                                  *
 18 // * This  code  implementation is the result      18 // * This  code  implementation is the result of  the  scientific and *
 19 // * technical work of the GEANT4 collaboratio     19 // * technical work of the GEANT4 collaboration.                      *
 20 // * By using,  copying,  modifying or  distri     20 // * By using,  copying,  modifying or  distributing the software (or *
 21 // * any work based  on the software)  you  ag     21 // * any work based  on the software)  you  agree  to acknowledge its *
 22 // * use  in  resulting  scientific  publicati     22 // * use  in  resulting  scientific  publications,  and indicate your *
 23 // * acceptance of all terms of the Geant4 Sof     23 // * acceptance of all terms of the Geant4 Software license.          *
 24 // *******************************************     24 // ********************************************************************
 25 //                                                 25 //
 26 //                                                 26 //
 27 //                                                 27 //
 28 // Satoshi TANAKA, Tue Jul  2 15:30:49 JST 199     28 // Satoshi TANAKA, Tue Jul  2 15:30:49 JST 1996
 29 ///////////////////////////////////                29 ///////////////////////////////////
 30 ///// G4FRConst.hh /////                           30 ///// G4FRConst.hh /////
 31 ///////////////////////////////////                31 ///////////////////////////////////
 32                                                    32 
 33 #ifndef G4_FR_COMMAND_LIST_HH                      33 #ifndef G4_FR_COMMAND_LIST_HH
 34 #define G4_FR_COMMAND_LIST_HH                      34 #define G4_FR_COMMAND_LIST_HH
 35                                                    35 
 36 //----- Header comment                             36 //----- Header comment
 37 const char FR_G4_PRIM_HEADER[] = "##G4.PRIM-FO     37 const char FR_G4_PRIM_HEADER[] = "##G4.PRIM-FORMAT-2.4";
 38 // const   char  FR_PHYSICAL_VOLUME_NAME  [] =     38 // const   char  FR_PHYSICAL_VOLUME_NAME  [] = "#/PhysicalVolumeName" ;
 39 const char FR_PHYSICAL_VOLUME_NAME[] = "#/PVNa     39 const char FR_PHYSICAL_VOLUME_NAME[] = "#/PVName";
 40                                                    40 
 41 //----- Execution control (beginning with !)       41 //----- Execution control (beginning with !)
 42 const char FR_GUI[]              = "!Graphical     42 const char FR_GUI[]              = "!GraphicalUserInterface";
 43 const char FR_DEVICE[]           = "!Device";      43 const char FR_DEVICE[]           = "!Device";
 44 const char FR_SET_CAMERA[]       = "!SetCamera     44 const char FR_SET_CAMERA[]       = "!SetCamera";
 45 const char FR_OPEN_DEVICE[]      = "!OpenDevic     45 const char FR_OPEN_DEVICE[]      = "!OpenDevice";
 46 const char FR_CLOSE_DEVICE[]     = "!CloseDevi     46 const char FR_CLOSE_DEVICE[]     = "!CloseDevice";
 47 const char FR_DRAW_ALL[]         = "!DrawAll";     47 const char FR_DRAW_ALL[]         = "!DrawAll";
 48 const char FR_CLEAR_DATA[]       = "!ClearData     48 const char FR_CLEAR_DATA[]       = "!ClearData";
 49 const char FR_QUIT[]             = "!Quit";        49 const char FR_QUIT[]             = "!Quit";
 50 const char FR_DISCONNECT_DAWND[] = "!Disconnec     50 const char FR_DISCONNECT_DAWND[] = "!DisconnectDawnd";
 51 const char FR_TERMINATE_DAWND[]  = "!Terminate     51 const char FR_TERMINATE_DAWND[]  = "!TerminateDawnd";
 52 const char FR_SAVE[]             = "!Save";        52 const char FR_SAVE[]             = "!Save";
 53 const char FR_END_SAVE[]         = "!EndSave";     53 const char FR_END_SAVE[]         = "!EndSave";
 54 const char FR_WAIT[]             = "!Wait";        54 const char FR_WAIT[]             = "!Wait";
 55 const char FR_PAUSE[]            = "!Pause";       55 const char FR_PAUSE[]            = "!Pause";
 56                                                    56 
 57 //----- Drawing Style                              57 //----- Drawing Style
 58 const char FR_WIREFRAME[] = "/Wireframe";          58 const char FR_WIREFRAME[] = "/Wireframe";
 59 const char FR_SURFACE[]   = "/Surface";            59 const char FR_SURFACE[]   = "/Surface";
 60 const char FR_LINES[]     = "/Lines";              60 const char FR_LINES[]     = "/Lines";
 61                                                    61 
 62 //----- Begin and End of Modeling                  62 //----- Begin and End of Modeling
 63 const char FR_BEGIN_MODELING[] = "!BeginModeli     63 const char FR_BEGIN_MODELING[] = "!BeginModeling";
 64 const char FR_END_MODELING[]   = "!EndModeling     64 const char FR_END_MODELING[]   = "!EndModeling";
 65                                                    65 
 66 //----- Bounding box                               66 //----- Bounding box
 67 const char FR_BOUNDING_BOX[]      = "/Bounding     67 const char FR_BOUNDING_BOX[]      = "/BoundingBox";
 68 const char FR_BOUNDING_BOX_UNIT[] = "/Bounding     68 const char FR_BOUNDING_BOX_UNIT[] = "/BoundingBox -0.5 -0.5 -0.5  0.5 0.5 0.5";
 69                                                    69 
 70 //----- Number of divising curved surface          70 //----- Number of divising curved surface
 71 const int FR_DEFALUT_NDIV_VALUE = 24;              71 const int FR_DEFALUT_NDIV_VALUE = 24;
 72                                                    72 
 73 const char FR_NDIV[]         = "/Ndiv";            73 const char FR_NDIV[]         = "/Ndiv";
 74 const char FR_NDIV_DEFAULT[] = "/Ndiv  24";        74 const char FR_NDIV_DEFAULT[] = "/Ndiv  24";
 75 const char FR_NDIV_3[]       = "/Ndiv   3";        75 const char FR_NDIV_3[]       = "/Ndiv   3";
 76 const char FR_NDIV_4[]       = "/Ndiv   4";        76 const char FR_NDIV_4[]       = "/Ndiv   4";
 77 const char FR_NDIV_8[]       = "/Ndiv   8";        77 const char FR_NDIV_8[]       = "/Ndiv   8";
 78 const char FR_NDIV_16[]      = "/Ndiv  16";        78 const char FR_NDIV_16[]      = "/Ndiv  16";
 79 const char FR_NDIV_24[]      = "/Ndiv  24";        79 const char FR_NDIV_24[]      = "/Ndiv  24";
 80 const char FR_NDIV_48[]      = "/Ndiv  48";        80 const char FR_NDIV_48[]      = "/Ndiv  48";
 81 const char FR_NDIV_96[]      = "/Ndiv  96";        81 const char FR_NDIV_96[]      = "/Ndiv  96";
 82                                                    82 
 83 //----- Camera information                         83 //----- Camera information
 84 const char FR_CAMERA_POSITION[]         = "/Ca     84 const char FR_CAMERA_POSITION[]         = "/CameraPosition";
 85 const char FR_CAMERA_POSITION_DEFAULT[] = "/Ca     85 const char FR_CAMERA_POSITION_DEFAULT[] = "/CameraPosition  100000.0  0.0  0.0";
 86 // see from far upward position                    86 // see from far upward position
 87 const char FR_TARGET_POINT[]   = "/TargetPoint     87 const char FR_TARGET_POINT[]   = "/TargetPoint";
 88 const char FR_ZOOM_FACTOR[]    = "/ZoomFactor"     88 const char FR_ZOOM_FACTOR[]    = "/ZoomFactor";
 89 const char FR_SCALE[]          = "/Scale";         89 const char FR_SCALE[]          = "/Scale";
 90 const char FR_FOCAL_DISTANCE[] = "/FocalDistan     90 const char FR_FOCAL_DISTANCE[] = "/FocalDistance";
 91                                                    91 
 92 //----- Body coordinate information                92 //----- Body coordinate information
 93 const char FR_BASE_VECTOR[] = "/BaseVector";       93 const char FR_BASE_VECTOR[] = "/BaseVector";
 94 // Give e1 and e2. Then e3 is calculated.          94 // Give e1 and e2. Then e3 is calculated.
 95 const char FR_BASE_VECTOR_DEFAULT[] = "/BaseVe     95 const char FR_BASE_VECTOR_DEFAULT[] = "/BaseVector 1.0 0.0 0.0  0.0 1.0 0.0";
 96 const char FR_ORIGIN[]              = "/Origin     96 const char FR_ORIGIN[]              = "/Origin";
 97 const char FR_ORIGIN_DEFAULT[]      = "/Origin     97 const char FR_ORIGIN_DEFAULT[]      = "/Origin  0.0  0.0  0.0";
 98                                                    98 
 99 //----- Attribute information                      99 //----- Attribute information
100 const char FR_DIFFUSE_RGB[] = "/DiffuseRGB";      100 const char FR_DIFFUSE_RGB[] = "/DiffuseRGB";
101 // old name of /ColorRGB                          101 // old name of /ColorRGB
102                                                   102 
103 const char FR_COLOR_RGB[]         = "/ColorRGB    103 const char FR_COLOR_RGB[]         = "/ColorRGB";
104 const char FR_COLOR_RGB_DEFAULT[] = "/ColorRGB    104 const char FR_COLOR_RGB_DEFAULT[] = "/ColorRGB  1.0  1.0  1.0";
105 const char FR_COLOR_RGB_WHITE[]   = "/ColorRGB    105 const char FR_COLOR_RGB_WHITE[]   = "/ColorRGB  1.0  1.0  1.0";
106                                                   106 
107 const char FR_COLOR_RGB_RED[]   = "/ColorRGB      107 const char FR_COLOR_RGB_RED[]   = "/ColorRGB  1.0  0.0  0.0";
108 const char FR_COLOR_RGB_GREEN[] = "/ColorRGB      108 const char FR_COLOR_RGB_GREEN[] = "/ColorRGB  0.0  1.0  0.0";
109 const char FR_COLOR_RGB_BLUE[]  = "/ColorRGB      109 const char FR_COLOR_RGB_BLUE[]  = "/ColorRGB  0.0  0.0  1.0";
110                                                   110 
111 const char FR_COLOR_RGB_CYAN[]    = "/ColorRGB    111 const char FR_COLOR_RGB_CYAN[]    = "/ColorRGB  0.0  1.0  1.0";
112 const char FR_COLOR_RGB_MAGENTA[] = "/ColorRGB    112 const char FR_COLOR_RGB_MAGENTA[] = "/ColorRGB  1.0  0.0  1.0";
113 const char FR_COLOR_RGB_YELLOW[]  = "/ColorRGB    113 const char FR_COLOR_RGB_YELLOW[]  = "/ColorRGB  1.0  1.0  0.0";
114                                                   114 
115 const char FR_SPECULAR_RGB[]         = "/Specu    115 const char FR_SPECULAR_RGB[]         = "/SpecularRGB";
116 const char FR_SPECULAR_RGB_DEFAULT[] = "/Specu    116 const char FR_SPECULAR_RGB_DEFAULT[] = "/SpecularRGB  1.0  1.0  1.0";
117 const char FR_SPECULAR_RGB_WHITE[]   = "/Specu    117 const char FR_SPECULAR_RGB_WHITE[]   = "/SpecularRGB  1.0  1.0  1.0";
118                                                   118 
119 const char FR_PHONG_POWER[]         = "/PhongP    119 const char FR_PHONG_POWER[]         = "/PhongPower";
120 const char FR_PHONG_POWER_DEFAULT[] = "/PhongP    120 const char FR_PHONG_POWER_DEFAULT[] = "/PhongPower  3";
121                                                   121 
122 const char FR_TRANSPARENCY[]     = "/Transpare    122 const char FR_TRANSPARENCY[]     = "/Transparency";
123 const char FR_TRANSPARENCY_ON[]  = "/Transpare    123 const char FR_TRANSPARENCY_ON[]  = "/Transparency  1 ";  // transparent
124 const char FR_TRANSPARENCY_OFF[] = "/Transpare    124 const char FR_TRANSPARENCY_OFF[] = "/Transparency  0 ";  // non-transparent
125                                                   125 
126 const char FR_FORCE_WIREFRAME[]     = "/ForceW    126 const char FR_FORCE_WIREFRAME[]     = "/ForceWireframe";
127 const char FR_FORCE_WIREFRAME_ON[]  = "/ForceW    127 const char FR_FORCE_WIREFRAME_ON[]  = "/ForceWireframe  1";
128 const char FR_FORCE_WIREFRAME_OFF[] = "/ForceW    128 const char FR_FORCE_WIREFRAME_OFF[] = "/ForceWireframe  0";
129                                                   129 
130 const char FR_VISIBILITY[]     = "/Visibility"    130 const char FR_VISIBILITY[]     = "/Visibility";
131 const char FR_VISIBILITY_ON[]  = "/Visibility     131 const char FR_VISIBILITY_ON[]  = "/Visibility  1";  // visible
132 const char FR_VISIBILITY_OFF[] = "/Visibility     132 const char FR_VISIBILITY_OFF[] = "/Visibility  0";  // invisible
133                                                   133 
134 //----- 3D Primitives                             134 //----- 3D Primitives
135 const char FR_POLYHEDRON[]     = "/Polyhedron"    135 const char FR_POLYHEDRON[]     = "/Polyhedron";
136 const char FR_VERTEX[]         = "/Vertex";       136 const char FR_VERTEX[]         = "/Vertex";
137 const char FR_FACET[]          = "/Facet";        137 const char FR_FACET[]          = "/Facet";
138 const char FR_END_POLYHEDRON[] = "/EndPolyhedr    138 const char FR_END_POLYHEDRON[] = "/EndPolyhedron";
139                                                   139 
140 const char FR_BOX[]      = "/Box";                140 const char FR_BOX[]      = "/Box";
141 const char FR_BOX_UNIT[] = "/Box  0.5  0.5  0.    141 const char FR_BOX_UNIT[] = "/Box  0.5  0.5  0.5";  // dx, dy, dz
142                                                   142 
143 const char FR_COLUMN[]      = "/Column";          143 const char FR_COLUMN[]      = "/Column";
144 const char FR_COLUMN_UNIT[] = "/Column 0.5  0.    144 const char FR_COLUMN_UNIT[] = "/Column 0.5  0.5";  // R dz
145                                                   145 
146 const char FR_POLYLINE[]      = "/Polyline";      146 const char FR_POLYLINE[]      = "/Polyline";
147 const char FR_PL_VERTEX[]     = "/PLVertex";      147 const char FR_PL_VERTEX[]     = "/PLVertex";
148 const char FR_PL_VERTEX_OLD[] = "PLVertex";       148 const char FR_PL_VERTEX_OLD[] = "PLVertex";
149 const char FR_END_POLYLINE[]  = "/EndPolyline"    149 const char FR_END_POLYLINE[]  = "/EndPolyline";
150                                                   150 
151 const char FR_TRD[] = "/Trd";                     151 const char FR_TRD[] = "/Trd";
152 // /Trd  dx1 dx2 dy1 dy2 dz    ;                  152 // /Trd  dx1 dx2 dy1 dy2 dz    ;
153 const char FR_TRAP[] = "/Trap";                   153 const char FR_TRAP[] = "/Trap";
154 // /Trap dz theta phi h1 bl1 tl1 alpha1 h2 bl2    154 // /Trap dz theta phi h1 bl1 tl1 alpha1 h2 bl2 tl2 alpha2
155 const char FR_TUBS[] = "/Tubs";                   155 const char FR_TUBS[] = "/Tubs";
156 // /Tubs rmin rmax dz sphi dphi                   156 // /Tubs rmin rmax dz sphi dphi
157 const char FR_CONS[] = "/Cons";                   157 const char FR_CONS[] = "/Cons";
158 // /Cons rmin1 rmax1 rmin2 rmax2 dz sphi dphi     158 // /Cons rmin1 rmax1 rmin2 rmax2 dz sphi dphi
159 const char FR_SPHERE[] = "/Sphere";               159 const char FR_SPHERE[] = "/Sphere";
160 // /Sphere  R                                     160 // /Sphere  R
161 const char FR_SPHERE_SEG[] = "/SphereSeg";        161 const char FR_SPHERE_SEG[] = "/SphereSeg";
162 // /SphereSeg  rmin rmax s_theta d_theta s_phi    162 // /SphereSeg  rmin rmax s_theta d_theta s_phi d_phi
163 const char FR_PARA[] = "/Parallelepiped";         163 const char FR_PARA[] = "/Parallelepiped";
164 // /Parallelepiped  dx dy dz tanAlpha tanTheta    164 // /Parallelepiped  dx dy dz tanAlpha tanTheta_cosPhi tanTheta_sinPhi
165 const char FR_PCON[] = "/PolyCone";               165 const char FR_PCON[] = "/PolyCone";
166 // /PolyCone  sphi  dphi  nz  z[nz]  rmin[nz]     166 // /PolyCone  sphi  dphi  nz  z[nz]  rmin[nz]  rmax[nz]
167 const char FR_PGON[] = "/PolyGon";                167 const char FR_PGON[] = "/PolyGon";
168 // /PolyGon   sphi  dphi  ndiv  nz  z[nz]  rmi    168 // /PolyGon   sphi  dphi  ndiv  nz  z[nz]  rmin[nz]  rmax[nz]
169 const char FR_TORUS[] = "/Torus";                 169 const char FR_TORUS[] = "/Torus";
170 // /PolyGon   sphi  dphi  ndiv  nz  z[nz]  rmi    170 // /PolyGon   sphi  dphi  ndiv  nz  z[nz]  rmin[nz]  rmax[nz]
171                                                   171 
172 //----- Marks I (arg: x y z half_size_3d)         172 //----- Marks I (arg: x y z half_size_3d)
173 const char FR_FONT_NAME[] = "/FontName";          173 const char FR_FONT_NAME[] = "/FontName";
174                                                   174 
175 //----- Marks I (arg: x y z half_size_3d)         175 //----- Marks I (arg: x y z half_size_3d)
176 const char FR_MARK_CIRCLE_2D[] = "/MarkCircle2    176 const char FR_MARK_CIRCLE_2D[] = "/MarkCircle2D";
177 const char FR_MARK_SQUARE_2D[] = "/MarkSquare2    177 const char FR_MARK_SQUARE_2D[] = "/MarkSquare2D";
178 const char FR_MARK_TEXT_2D[]   = "/MarkText2D"    178 const char FR_MARK_TEXT_2D[]   = "/MarkText2D";
179 // /MarkText2D  x y z  size_world x_offset_wor    179 // /MarkText2D  x y z  size_world x_offset_world y_offset_world string
180                                                   180 
181 //----- Marks II (arg: x y z half_size_2d)        181 //----- Marks II (arg: x y z half_size_2d)
182 const char FR_MARK_CIRCLE_2DS[] = "/MarkCircle    182 const char FR_MARK_CIRCLE_2DS[] = "/MarkCircle2DS";
183 const char FR_MARK_SQUARE_2DS[] = "/MarkSquare    183 const char FR_MARK_SQUARE_2DS[] = "/MarkSquare2DS";
184 const char FR_MARK_TEXT_2DS[]   = "/MarkText2D    184 const char FR_MARK_TEXT_2DS[]   = "/MarkText2DS";
185 // /MarkText2DS  x y z  size_pt x_offset_pt y_    185 // /MarkText2DS  x y z  size_pt x_offset_pt y_offset_pt string
186                                                   186 
187 //----- Text                                      187 //----- Text
188 const char FR_TEXT_2DS[] = "/Text2DS";            188 const char FR_TEXT_2DS[] = "/Text2DS";
189                                                   189 
190 //----- For DAWNCUT                               190 //----- For DAWNCUT
191 const char FR_CLIPPING_PLANE[] = "/ClippingPla    191 const char FR_CLIPPING_PLANE[] = "/ClippingPlane";
192 // /ClippingPlaneMarkCross2D  a b c d             192 // /ClippingPlaneMarkCross2D  a b c d
193 //   for plane   ax + by + cz + d = 0             193 //   for plane   ax + by + cz + d = 0
194                                                   194 
195 #endif                                            195 #endif
196                                                   196