root/OpenSceneGraph/trunk/src/osgPlugins/flt/ControlRecord.h @ 2

Revision 2, 3.3 kB (checked in by don, 13 years ago)

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1// ControlRecord.h
2
3#ifndef __FLT_CONTROL_RECORD_H
4#define __FLT_CONTROL_RECORD_H
5
6#include "opcodes.h"
7#include "Record.h"
8#include "RecordVisitor.h"
9
10
11namespace flt {
12
13////////////////////////////////////////////////////////////////////
14//
15//                    PushLevelRecord
16//
17////////////////////////////////////////////////////////////////////
18
19
20class PushLevelRecord : public ControlRecord
21{
22    public:
23        PushLevelRecord() {}
24
25        virtual Record* clone() const { return new PushLevelRecord(); }
26        virtual const char* className() const { return "PushLevelRecord"; }
27        virtual int classOpcode() const { return PUSH_LEVEL_OP; }
28        virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
29//      virtual void traverse(RecordVisitor& rv);
30
31    protected:
32        virtual ~PushLevelRecord() {}
33
34};
35
36
37class PopLevelRecord : public ControlRecord
38{
39    public:
40        PopLevelRecord() {}
41
42        virtual Record* clone() const { return new PopLevelRecord(); }
43        virtual const char* className() const { return "PopLevelRecord"; }
44        virtual int classOpcode() const { return POP_LEVEL_OP; }
45        virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
46//      virtual void traverse(RecordVisitor& rv);
47
48    protected:
49        virtual ~PopLevelRecord() {}
50
51};
52
53
54class PushSubfaceRecord : public ControlRecord
55{
56    public:
57        PushSubfaceRecord() {}
58
59        virtual Record* clone() const { return new PushSubfaceRecord(); }
60        virtual const char* className() const { return "PushSubfaceRecord"; }
61        virtual int classOpcode() const { return PUSH_SUBFACE_OP; }
62        virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
63//      virtual void traverse(RecordVisitor& rv);
64
65    protected:
66        virtual ~PushSubfaceRecord() {}
67
68};
69
70
71class PopSubfaceRecord : public ControlRecord
72{
73    public:
74        PopSubfaceRecord() {}
75
76        virtual Record* clone() const { return new PopSubfaceRecord(); }
77        virtual const char* className() const { return "PopSubfaceRecord"; }
78        virtual int classOpcode() const { return POP_SUBFACE_OP; }
79        virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
80//      virtual void traverse(RecordVisitor& rv);
81
82    protected:
83        virtual ~PopSubfaceRecord() {}
84
85};
86
87
88class PushExtensionRecord : public ControlRecord
89{
90    public:
91        PushExtensionRecord() {}
92
93        virtual Record* clone() const { return new PushExtensionRecord(); }
94        virtual const char* className() const { return "PushExtensionRecord"; }
95        virtual int classOpcode() const { return PUSH_EXTENSION_OP; }
96        virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
97//      virtual void traverse(RecordVisitor& rv);
98
99    protected:
100        virtual ~PushExtensionRecord() {}
101
102};
103
104
105class PopExtensionRecord : public ControlRecord
106{
107    public:
108        PopExtensionRecord() {}
109
110        virtual Record* clone() const { return new PopExtensionRecord(); }
111        virtual const char* className() const { return "PopExtensionRecord"; }
112        virtual int classOpcode() const { return POP_EXTENSION_OP; }
113        virtual void accept(RecordVisitor& rv) { rv.apply(*this); }
114//      virtual void traverse(RecordVisitor& rv);
115
116    protected:
117        virtual ~PopExtensionRecord() {}
118
119};
120
121
122}; // end namespace flt
123
124#endif // __FLT_CONTROL_RECORD_H
Note: See TracBrowser for help on using the browser.