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

Last change on this file since 288 was 288, checked in by barrand, 17 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.