Geant4 Cross Reference |
1 // 2 // ******************************************************************** 3 // * License and Disclaimer * 4 // * * 5 // * The Geant4 software is copyright of the Copyright Holders of * 6 // * the Geant4 Collaboration. It is provided under the terms and * 7 // * conditions of the Geant4 Software License, included in the file * 8 // * LICENSE and available at http://cern.ch/geant4/license . These * 9 // * include a list of copyright holders. * 10 // * * 11 // * Neither the authors of this software system, nor their employing * 12 // * institutes,nor the agencies providing financial support for this * 13 // * work make any representation or warranty, express or implied, * 14 // * regarding this software system or assume any liability for its * 15 // * use. Please see the license in the file LICENSE and URL above * 16 // * for the full disclaimer and the limitation of liability. * 17 // * * 18 // * This code implementation is the result of the scientific and * 19 // * technical work of the GEANT4 collaboration. * 20 // * By using, copying, modifying or distributing the software (or * 21 // * any work based on the software) you agree to acknowledge its * 22 // * use in resulting scientific publications, and indicate your * 23 // * acceptance of all terms of the Geant4 Software license. * 24 // ******************************************************************** 25 // 26 #ifndef HEPVis_SoMarkerSet_h 27 #define HEPVis_SoMarkerSet_h 28 29 #include <Inventor/nodes/SoPointSet.h> 30 31 #include <Inventor/fields/SoMFInt32.h> 32 33 #define HEPVis_SoMarkerSet Geant4_HEPVis_SoMarkerSet 34 35 class HEPVis_SoMarkerSet : public SoPointSet { 36 SO_NODE_HEADER(HEPVis_SoMarkerSet); 37 public: 38 SoMFInt32 markerIndex ; 39 HEPVis_SoMarkerSet(); 40 41 enum MarkerType { 42 //************ 5x5 markers 43 PLUS_5_5 = 0, 44 ASTERISK_5_5, 45 CROSS_5_5, 46 STAR_5_5, 47 CIRCLE_LINE_5_5, 48 CIRCLE_FILLED_5_5, 49 TRIANGLE_UP_LINE_5_5, 50 TRIANGLE_UP_FILLED_5_5, 51 TRIANGLE_DOWN_LINE_5_5, 52 TRIANGLE_DOWN_FILLED_5_5, 53 DAVID_STAR_LINE_5_5 = 10, 54 DAVID_STAR_FILLED_5_5, 55 SWISS_CROSS_LINE_5_5, 56 SWISS_CROSS_FILLED_5_5, 57 DIAMOND_LINE_5_5, 58 DIAMOND_FILLED_5_5, 59 SQUARE_LINE_5_5, 60 SQUARE_FILLED_5_5 = 17, 61 62 //************ 7x7 markers 63 PLUS_7_7 = 18, 64 ASTERISK_7_7, 65 CROSS_7_7, 66 STAR_7_7, 67 CIRCLE_LINE_7_7, 68 CIRCLE_FILLED_7_7, 69 TRIANGLE_UP_LINE_7_7, 70 TRIANGLE_UP_FILLED_7_7, 71 TRIANGLE_DOWN_LINE_7_7, 72 TRIANGLE_DOWN_FILLED_7_7, 73 DAVID_STAR_LINE_7_7, 74 DAVID_STAR_FILLED_7_7, 75 SWISS_CROSS_LINE_7_7 = 30, 76 SWISS_CROSS_FILLED_7_7, 77 DIAMOND_LINE_7_7, 78 DIAMOND_FILLED_7_7, 79 SQUARE_LINE_7_7, 80 SQUARE_FILLED_7_7 = 35, 81 82 //************ 9x9 markers 83 PLUS_9_9 = 36, 84 ASTERISK_9_9, 85 CROSS_9_9, 86 STAR_9_9, 87 CIRCLE_LINE_9_9, 88 CIRCLE_FILLED_9_9, 89 TRIANGLE_UP_LINE_9_9, 90 TRIANGLE_UP_FILLED_9_9, 91 TRIANGLE_DOWN_LINE_9_9, 92 TRIANGLE_DOWN_FILLED_9_9, 93 DAVID_STAR_LINE_9_9, 94 DAVID_STAR_FILLED_9_9, 95 SWISS_CROSS_LINE_9_9 = 30, 96 SWISS_CROSS_FILLED_9_9, 97 DIAMOND_LINE_9_9, 98 DIAMOND_FILLED_9_9, 99 SQUARE_LINE_9_9, 100 SQUARE_FILLED_9_9 = 53 101 } ; 102 103 public: /*SoEXTENDER*/ 104 virtual void GLRender(SoGLRenderAction*); 105 public: /*SoINTERNAL*/ 106 static void initClass(); 107 protected: 108 virtual ~HEPVis_SoMarkerSet(); 109 }; 110 111 #endif 112