source: snovis/trunk/source/G4Lab/TrajectoryAccessor.h@ 288

Last change on this file since 288 was 288, checked in by barrand, 18 years ago
  • Property svn:eol-style set to native
File size: 1.4 KB
Line 
1#ifndef G4Lab_TrajectoryAccessor_h
2#define G4Lab_TrajectoryAccessor_h
3
4// Inheritance :
5#include <OnX/Inventor/InventorAccessor.h>
6
7class SoGroup;
8class SoSeparator;
9class SoCoordinate3;
10class SbName;
11class SbVec3f;
12class SbColor;
13class IOut;
14
15class G4RunManager;
16
17#include <map>
18#include <G4AttDef.hh>
19#include <G4String.hh>
20
21namespace G4Lab {
22
23class TrajectoryAccessor : public OnX::InventorAccessor {
24public: //Slash::Data::IAccessor
25 virtual std::string name() const;
26 virtual Slash::Data::IIterator* iterator();
27 virtual Slash::Core::IValue* findValue(Slash::Data::IAccessor::Data,const std::string&,void*);
28public: //Slash::Data::IVisualizer
29 virtual void beginVisualize();
30 virtual void visualize(Slash::Data::IAccessor::Data,void*);
31 virtual void endVisualize();
32public:
33 TrajectoryAccessor(Slash::Core::ISession&,G4RunManager*);
34 virtual ~TrajectoryAccessor();
35private:
36 void addPolyline(SoGroup*,const SbName&,
37 int,SbVec3f*,const SbColor&,const SbColor&,IOut&);
38 bool isIGeant4Trajectory();
39 void addAttDefsProperties();
40 Slash::Core::IValue* findAttDefsValue(Slash::Data::IAccessor::Data,
41 const std::string&,void*);
42private:
43 std::string fType;
44 G4RunManager* fRunManager;
45 std::map<G4String,G4AttDef>* fAttDefs;
46 std::string fModeling;
47 bool fIGeant4Trajectory;
48 SoSeparator* fSeparator;
49 SoCoordinate3* fCoordinate;
50 int fIndex;
51};
52
53}
54
55#endif
Note: See TracBrowser for help on using the repository browser.