root/OpenSceneGraph/trunk/src/osgPlugins/ive/ReadWrite.h @ 8817

Revision 8817, 6.8 kB (checked in by robert, 6 years ago)

Implemented support for ShapeAttributeList?, used John Vidar Larring's initial
submission as a base, but implementing the user data functionality in a different
way to facilitate more flexible user data support

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1#ifndef IVE_READWRITE
2#define IVE_READWRITE 1
3
4#include "DataInputStream.h"
5#include "DataOutputStream.h"
6
7namespace ive {
8
9// Objects and Nodes
10#define IVEOBJECT                       0x00000001
11#define IVENODE                         0x00000002
12#define IVEGROUP                        0x00000003
13#define IVEMATRIXTRANSFORM              0x00000004
14#define IVESTATESET                     0x00000005
15#define IVEGEODE                        0x00000006
16#define IVEIMAGE                        0x00000007
17#define IVELIGHTSOURCE                  0x00000008
18#define IVELIGHT                        0x00000009
19#define IVEBILLBOARD                    0x00000010
20#define IVELOD                          0x00000011
21#define IVESEQUENCE                     0x00000012
22#define IVETRANSFORM                    0x00000013
23#define IVEPOSITIONATTITUDETRANSFORM    0x00000014
24#define IVEANIMATIONPATH                0x00000015
25#define IVESWITCH                       0x00000016
26#define IVEOCCLUDERNODE                 0x00000017
27#define IVEIMPOSTOR                     0x00000018
28#define IVECONVEXPLANAROCCLUDER         0x00000019
29#define IVECONVEXPLANARPOLYGON          0x00000020
30#define IVEPAGEDLOD                     0x00000021
31#define IVEDOFTRANSFORM                 0x00000022
32#define IVECOORDINATESYSTEMNODE         0x00000023
33#define IVEELLIPSOIDMODEL               0x00000024
34#define IVETEXGENNODE                   0x00000025
35#define IVECLIPNODE                     0x00000026
36#define IVEPROXYNODE                    0x00000027
37#define IVECAMERA                       0x00000028
38#define IVECAMERAVIEW                   0x00000029
39#define IVEAUTOTRANSFORM                0x00000030
40#define IVEOCCLUSIONQUERYNODE           0x00000031
41#define IVEIMAGESEQUENCE                0x00000032
42
43// Node callbacks
44#define IVENODECALLBACK                 0x00000050
45#define IVEANIMATIONPATHCALLBACK        0x00000051
46#define IVECLUSTERCULLINGCALLBACK       0x00000052
47
48// State attributes.
49#define IVESTATEATTRIBUTE               0x00000100
50#define IVEALPHAFUNC                    0x00000101
51#define IVEBLENDFUNC                    0x00000102
52#define IVEBLENDFUNCSEPARATE            0x00000103
53#define IVEBLENDCOLOR                   0x00000105
54#define IVEMATERIAL                     0x00000110
55#define IVETEXTURE                      0x00000120
56#define IVETEXTURE1D                    0x00000121
57#define IVETEXTURE2D                    0x00000122
58#define IVETEXTURE3D                    0x00000123
59#define IVETEXTURECUBEMAP               0x00000124
60#define IVETEXENV                       0x00000125
61#define IVETEXENVCOMBINE                0x00000126
62#define IVETEXGEN                       0x00000127
63#define IVECULLFACE                     0x00000128
64#define IVEPOLYGONOFFSET                0x00000129
65#define IVESHADEMODEL                   0x0000012A
66#define IVEPOINT                        0x0000012B
67#define IVETEXMAT                       0x0000012C
68#define IVELINEWIDTH                    0x0000012D
69#define IVEFRAGMENTPROGRAM              0x0000012E
70#define IVEVERTEXPROGRAM                0x0000012F
71#define IVEDEPTH                        0x00000130
72#define IVESTENCIL                      0x00000131
73#define IVESTENCILTWOSIDED              0x00000132
74#define IVECOLORMASK                    0x00000133
75#define IVEBLENDEQUATION                0x00000134
76#define IVELIGHTMODEL                   0x00001121
77#define IVECLIPPLANE                    0x00001122
78#define IVEFRONTFACE                    0x00001123
79#define IVEPROGRAM                      0x00001124
80#define IVESHADER                       0x00001125
81#define IVEUNIFORM                      0x00001126
82#define IVEVIEWPORT                     0x00001127
83#define IVESCISSOR                      0x00001128
84#define IVEPOLYGONMODE                  0x00001129
85#define IVETEXTURERECTANGLE             0x00001130
86#define IVEPOINTSPRITE                  0x00001131
87#define IVEMULTISAMPLE                  0x00001132
88#define IVEFOG                          0x00001133
89#define IVELINESTIPPLE                  0x00001134
90
91// Drawables
92#define IVEDRAWABLE                     0x00001000
93#define IVEGEOMETRY                     0x00001001
94#define IVESHAPEDRAWABLE                0x00001002
95
96// Shapes
97#define IVESHAPE                        0x00002000
98#define IVESPHERE                       0x00002001
99#define IVEBOX                          0x00002002
100#define IVECONE                         0x00002004
101#define IVECYLINDER                     0x00002005
102#define IVECAPSULE                      0x00002006
103#define IVEHEIGHTFIELD                  0x00002007
104
105// Primitive set
106#define IVEPRIMITIVESET                 0x00010000
107#define IVEDRAWARRAYS                   0x00010001
108#define IVEDRAWARRAYLENGTHS             0x00010002
109#define IVEDRAWELEMENTSUSHORT           0x00010003
110#define IVEDRAWELEMENTSUINT             0x00010004
111#define IVEDRAWELEMENTSUBYTE            0x00010005
112
113// osgSim classes
114#define IVEBLINKSEQUENCE                0x00100001
115#define IVEAZIMELEVATIONSECTOR          0x00100002
116#define IVEELEVATIONSECTOR              0x00100003
117#define IVEAZIMSECTOR                   0x00100004
118#define IVECONESECTOR                   0x00100005
119#define IVELIGHTPOINT                   0x00100006
120#define IVELIGHTPOINTNODE               0x00100007
121#define IVEMULTISWITCH                  0x00100008
122#define IVEVISIBILITYGROUP              0x00100009
123#define IVEDIRECTIONALSECTOR            0x0010000A
124#define IVESHAPEATTRIBUTELIST           0X0010000B
125
126// osgTerrain classes
127#define IVETERRAINTILE                  0x00200001
128#define IVELOCATOR                      0x00200002
129#define IVELAYER                        0x00200003
130#define IVEIMAGELAYER                   0x00200004
131#define IVEHEIGHTFIELDLAYER             0x00200005
132#define IVECOMPOSITELAYER               0x00200006
133#define IVEPROXYLAYER                   0x00200007
134#define IVETERRAINTECHNIQUE             0x00200008
135#define IVEGEOMETRYTECHNIQUE            0x00200009
136#define IVEVALIDDATAOPERATOR            0x0020000A
137#define IVEVALIDRANGE                   0x0020000B
138#define IVENODATAVALUE                  0x0020000C
139#define IVESWITCHLAYER                  0x0020000D
140//#define IVETERRAIN                      0x0020000A
141
142// osgFX classes
143#define IVEMULTITEXTURECONTROL          0x01000001
144#define IVEEFFECT                       0x01000002
145#define IVEANISOTROPICLIGHTING          0x01000003
146#define IVEBUMPMAPPING                  0x01000004
147#define IVECARTOON                      0x01000005
148#define IVESCRIBE                       0x01000006
149#define IVESPECULARHIGHLIGHTS           0x01000007
150
151//osgText classes
152#define IVETEXT                         0x10000001
153
154#define IVETEXT3D                       0x10000002
155#define IVEFADETEXT                     0x10000003
156
157class ReadWrite{
158
159public:
160    virtual ~ReadWrite() {}
161    virtual void write(DataOutputStream* out) const = 0;
162    virtual void read(DataInputStream* out) const = 0;
163};
164
165}
166#endif // IVE_READWRITE
Note: See TracBrowser for help on using the browser.