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

Revision 9961, 6.9 kB (checked in by robert, 6 years ago)

From Luc Frauciel, You'll find attached a modification in ive plugin for POLYGONSTIPPLE read/write.

  • 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#define IVEPOLYGONSTIPPLE               0x00001135
91
92// Drawables
93#define IVEDRAWABLE                     0x00001000
94#define IVEGEOMETRY                     0x00001001
95#define IVESHAPEDRAWABLE                0x00001002
96
97// Shapes
98#define IVESHAPE                        0x00002000
99#define IVESPHERE                       0x00002001
100#define IVEBOX                          0x00002002
101#define IVECONE                         0x00002004
102#define IVECYLINDER                     0x00002005
103#define IVECAPSULE                      0x00002006
104#define IVEHEIGHTFIELD                  0x00002007
105
106// Primitive set
107#define IVEPRIMITIVESET                 0x00010000
108#define IVEDRAWARRAYS                   0x00010001
109#define IVEDRAWARRAYLENGTHS             0x00010002
110#define IVEDRAWELEMENTSUSHORT           0x00010003
111#define IVEDRAWELEMENTSUINT             0x00010004
112#define IVEDRAWELEMENTSUBYTE            0x00010005
113
114// osgSim classes
115#define IVEBLINKSEQUENCE                0x00100001
116#define IVEAZIMELEVATIONSECTOR          0x00100002
117#define IVEELEVATIONSECTOR              0x00100003
118#define IVEAZIMSECTOR                   0x00100004
119#define IVECONESECTOR                   0x00100005
120#define IVELIGHTPOINT                   0x00100006
121#define IVELIGHTPOINTNODE               0x00100007
122#define IVEMULTISWITCH                  0x00100008
123#define IVEVISIBILITYGROUP              0x00100009
124#define IVEDIRECTIONALSECTOR            0x0010000A
125#define IVESHAPEATTRIBUTELIST           0X0010000B
126
127// osgTerrain classes
128#define IVETERRAINTILE                  0x00200001
129#define IVELOCATOR                      0x00200002
130#define IVELAYER                        0x00200003
131#define IVEIMAGELAYER                   0x00200004
132#define IVEHEIGHTFIELDLAYER             0x00200005
133#define IVECOMPOSITELAYER               0x00200006
134#define IVEPROXYLAYER                   0x00200007
135#define IVETERRAINTECHNIQUE             0x00200008
136#define IVEGEOMETRYTECHNIQUE            0x00200009
137#define IVEVALIDDATAOPERATOR            0x0020000A
138#define IVEVALIDRANGE                   0x0020000B
139#define IVENODATAVALUE                  0x0020000C
140#define IVESWITCHLAYER                  0x0020000D
141//#define IVETERRAIN                      0x0020000A
142
143// osgFX classes
144#define IVEMULTITEXTURECONTROL          0x01000001
145#define IVEEFFECT                       0x01000002
146#define IVEANISOTROPICLIGHTING          0x01000003
147#define IVEBUMPMAPPING                  0x01000004
148#define IVECARTOON                      0x01000005
149#define IVESCRIBE                       0x01000006
150#define IVESPECULARHIGHLIGHTS           0x01000007
151
152//osgText classes
153#define IVETEXT                         0x10000001
154
155#define IVETEXT3D                       0x10000002
156#define IVEFADETEXT                     0x10000003
157
158class ReadWrite{
159
160public:
161    virtual ~ReadWrite() {}
162    virtual void write(DataOutputStream* out) const = 0;
163    virtual void read(DataInputStream* out) const = 0;
164};
165
166}
167#endif // IVE_READWRITE
Note: See TracBrowser for help on using the browser.