Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
SoDetectorTreeKit.h
Go to the documentation of this file.
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//
27// $Id$
28//
29/*-----------------------------HEPVis----------------------------------------*/
30/* */
31/* Node: SoDetectorTreeKit */
32/* Description: Easy way of browsing through a tree of detectors */
33/* Author: Joe Boudreau Nov 11 1996 */
34/* */
35/*---------------------------------------------------------------------------*/
36#ifndef HEPVis_SoDetectorTreeKit_h
37#define HEPVis_SoDetectorTreeKit_h
38
39// Inheritance :
40#include <Inventor/nodekits/SoBaseKit.h>
41
42class SoEventCallback;
43class SoSeparator;
44
45#define SoDetectorTreeKit Geant4_SoDetectorTreeKit
46
47
48class SoDetectorTreeKit:public SoBaseKit {
49
50 // The following is required:
51 SO_KIT_HEADER(SoDetectorTreeKit);
52 ////////////////////////////////////////////
53public:
54 SoSFNode alternateRep; //public in order to query if alternateRep done.
55private:
56 ////////////////////////////////////////////
57 SO_KIT_CATALOG_ENTRY_HEADER(callbackList);
58 SO_KIT_CATALOG_ENTRY_HEADER(topSeparator);
59 SO_KIT_CATALOG_ENTRY_HEADER(pickStyle);
60 SO_KIT_CATALOG_ENTRY_HEADER(appearance);
61 SO_KIT_CATALOG_ENTRY_HEADER(units);
62 SO_KIT_CATALOG_ENTRY_HEADER(transform);
63 SO_KIT_CATALOG_ENTRY_HEADER(texture2Transform);
64 SO_KIT_CATALOG_ENTRY_HEADER(childList);
65 SO_KIT_CATALOG_ENTRY_HEADER(previewSeparator);
66 SO_KIT_CATALOG_ENTRY_HEADER(fullSeparator);
67
68
69public:
70
71 // Constructor, required
73
74 // This is required
75 virtual SbBool affectsState() const;
76
77 // Class Initializer, required
78 static void initClass();
79
80 // Turn the preview on or off
81 virtual void setPreview(SbBool Flag);
82
83 // Return the preview state
84 virtual SbBool getPreview() const;
85
86 // Set SoSwitch::whichChild = SO_SWITCH_ALL
88
89 // Return the preview Separator
90 virtual SoSeparator *getPreviewSeparator() const;
91
92 // Return the full Separator
93 virtual SoSeparator *getFullSeparator() const;
94
95 // Generate AlternateRep, required. Generating an alternate representation
96 // must be done upon users request. It allows an Inventor program to read
97 // back the file without requiring *this* code to be dynamically linked.
98 // If the users expects that *this* code will be dynamically linked, he
99 // need not invoke this method.
100 virtual void generateAlternateRep();
101
102 // We better be able to clear it, too!
103 virtual void clearAlternateRep();
104
105protected:
106
107 // Destructor.
109
110 virtual void doAction(SoAction*);
111private:
112
113 // This is needed as well
114 void createInitialTree();
115
116 // This is the callback function that will be
117 // added to the callback list
118 static void expand (void *userData, SoEventCallback *eventCB);
119 static void contract (void *userData, SoEventCallback *eventCB);
120};
121
122#endif
virtual SoSeparator * getPreviewSeparator() const
virtual SoSeparator * getFullSeparator() const
void setPreviewAndFull()
virtual ~SoDetectorTreeKit()
static void initClass()
virtual SbBool getPreview() const
virtual SbBool affectsState() const
virtual void generateAlternateRep()
virtual void doAction(SoAction *)
virtual void clearAlternateRep()
virtual void setPreview(SbBool Flag)
#define userData
Definition: xmlparse.cc:555