changed: gcc8 base update
[opensg.git] / Source / System / State / OpenGL / OSGCubeTextureObjChunkBase.h
blob9d9402e30ef81e792eef7c8934bea281e8455e3b
1 /*---------------------------------------------------------------------------*\
2 * OpenSG *
3 * *
4 * *
5 * Copyright (C) 2000-2013 by the OpenSG Forum *
6 * *
7 * www.opensg.org *
8 * *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, carsten_neumann@gmx.net *
10 * *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
13 * License *
14 * *
15 * This library is free software; you can redistribute it and/or modify it *
16 * under the terms of the GNU Library General Public License as published *
17 * by the Free Software Foundation, version 2. *
18 * *
19 * This library is distributed in the hope that it will be useful, but *
20 * WITHOUT ANY WARRANTY; without even the implied warranty of *
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
22 * Library General Public License for more details. *
23 * *
24 * You should have received a copy of the GNU Library General Public *
25 * License along with this library; if not, write to the Free Software *
26 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *
27 * *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
30 * Changes *
31 * *
32 * *
33 * *
34 * *
35 * *
36 * *
37 \*---------------------------------------------------------------------------*/
39 /*****************************************************************************\
40 *****************************************************************************
41 ** **
42 ** This file is automatically generated. **
43 ** **
44 ** Any changes made to this file WILL be lost when it is **
45 ** regenerated, which can become necessary at any time. **
46 ** **
47 ** Do not change this file, changes should be done in the derived **
48 ** class CubeTextureObjChunk
49 ** **
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGCUBETEXTUREOBJCHUNKBASE_H_
55 #define _OSGCUBETEXTUREOBJCHUNKBASE_H_
56 #ifdef __sgi
57 #pragma once
58 #endif
61 #include "OSGConfig.h"
62 #include "OSGStateDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGTextureObjChunk.h" // Parent
68 #include "OSGImageFields.h" // PosZImage type
70 #include "OSGCubeTextureObjChunkFields.h"
72 OSG_BEGIN_NAMESPACE
75 class CubeTextureObjChunk;
77 //! \brief CubeTextureObjChunk Base Class.
79 class OSG_STATE_DLLMAPPING CubeTextureObjChunkBase : public TextureObjChunk
81 public:
83 typedef TextureObjChunk Inherited;
84 typedef TextureObjChunk ParentContainer;
86 typedef Inherited::TypeObject TypeObject;
87 typedef TypeObject::InitPhase InitPhase;
89 OSG_GEN_INTERNALPTR(CubeTextureObjChunk);
91 /*========================== PUBLIC =================================*/
93 public:
95 enum
97 PosZImageFieldId = Inherited::NextFieldId,
98 PosXImageFieldId = PosZImageFieldId + 1,
99 NegXImageFieldId = PosXImageFieldId + 1,
100 PosYImageFieldId = NegXImageFieldId + 1,
101 NegYImageFieldId = PosYImageFieldId + 1,
102 NextFieldId = NegYImageFieldId + 1
105 static const OSG::BitVector PosZImageFieldMask =
106 (TypeTraits<BitVector>::One << PosZImageFieldId);
107 static const OSG::BitVector PosXImageFieldMask =
108 (TypeTraits<BitVector>::One << PosXImageFieldId);
109 static const OSG::BitVector NegXImageFieldMask =
110 (TypeTraits<BitVector>::One << NegXImageFieldId);
111 static const OSG::BitVector PosYImageFieldMask =
112 (TypeTraits<BitVector>::One << PosYImageFieldId);
113 static const OSG::BitVector NegYImageFieldMask =
114 (TypeTraits<BitVector>::One << NegYImageFieldId);
115 static const OSG::BitVector NextFieldMask =
116 (TypeTraits<BitVector>::One << NextFieldId);
118 typedef SFUnrecImagePtr SFPosZImageType;
119 typedef SFUnrecImagePtr SFPosXImageType;
120 typedef SFUnrecImagePtr SFNegXImageType;
121 typedef SFUnrecImagePtr SFPosYImageType;
122 typedef SFUnrecImagePtr SFNegYImageType;
124 /*---------------------------------------------------------------------*/
125 /*! \name Class Get */
126 /*! \{ */
128 static FieldContainerType &getClassType (void);
129 static UInt32 getClassTypeId (void);
130 static UInt16 getClassGroupId(void);
132 /*! \} */
133 /*---------------------------------------------------------------------*/
134 /*! \name FieldContainer Get */
135 /*! \{ */
137 virtual FieldContainerType &getType (void);
138 virtual const FieldContainerType &getType (void) const;
140 virtual UInt32 getContainerSize(void) const;
142 /*! \} */
143 /*---------------------------------------------------------------------*/
144 /*! \name Field Get */
145 /*! \{ */
147 const SFUnrecImagePtr *getSFPosZImage (void) const;
148 SFUnrecImagePtr *editSFPosZImage (void);
149 const SFUnrecImagePtr *getSFPosXImage (void) const;
150 SFUnrecImagePtr *editSFPosXImage (void);
151 const SFUnrecImagePtr *getSFNegXImage (void) const;
152 SFUnrecImagePtr *editSFNegXImage (void);
153 const SFUnrecImagePtr *getSFPosYImage (void) const;
154 SFUnrecImagePtr *editSFPosYImage (void);
155 const SFUnrecImagePtr *getSFNegYImage (void) const;
156 SFUnrecImagePtr *editSFNegYImage (void);
159 Image * getPosZImage (void) const;
161 Image * getPosXImage (void) const;
163 Image * getNegXImage (void) const;
165 Image * getPosYImage (void) const;
167 Image * getNegYImage (void) const;
169 /*! \} */
170 /*---------------------------------------------------------------------*/
171 /*! \name Field Set */
172 /*! \{ */
174 void setPosZImage (Image * const value);
175 void setPosXImage (Image * const value);
176 void setNegXImage (Image * const value);
177 void setPosYImage (Image * const value);
178 void setNegYImage (Image * const value);
180 /*! \} */
181 /*---------------------------------------------------------------------*/
182 /*! \name Ptr Field Set */
183 /*! \{ */
185 /*! \} */
186 /*---------------------------------------------------------------------*/
187 /*! \name Ptr MField Set */
188 /*! \{ */
190 /*! \} */
191 /*---------------------------------------------------------------------*/
192 /*! \name Binary Access */
193 /*! \{ */
195 virtual SizeT getBinSize (ConstFieldMaskArg whichField);
196 virtual void copyToBin (BinaryDataHandler &pMem,
197 ConstFieldMaskArg whichField);
198 virtual void copyFromBin(BinaryDataHandler &pMem,
199 ConstFieldMaskArg whichField);
202 /*! \} */
203 /*---------------------------------------------------------------------*/
204 /*! \name Construction */
205 /*! \{ */
207 static CubeTextureObjChunkTransitPtr create (void);
208 static CubeTextureObjChunk *createEmpty (void);
210 static CubeTextureObjChunkTransitPtr createLocal (
211 BitVector bFlags = FCLocal::All);
213 static CubeTextureObjChunk *createEmptyLocal(
214 BitVector bFlags = FCLocal::All);
216 static CubeTextureObjChunkTransitPtr createDependent (BitVector bFlags);
218 /*! \} */
219 /*---------------------------------------------------------------------*/
220 /*! \name Copy */
221 /*! \{ */
223 virtual FieldContainerTransitPtr shallowCopy (void) const;
224 virtual FieldContainerTransitPtr shallowCopyLocal(
225 BitVector bFlags = FCLocal::All) const;
226 virtual FieldContainerTransitPtr shallowCopyDependent(
227 BitVector bFlags) const;
229 /*! \} */
230 /*========================= PROTECTED ===============================*/
232 protected:
234 static TypeObject _type;
236 static void classDescInserter(TypeObject &oType);
237 static const Char8 *getClassname (void );
239 /*---------------------------------------------------------------------*/
240 /*! \name Fields */
241 /*! \{ */
243 SFUnrecImagePtr _sfPosZImage;
244 SFUnrecImagePtr _sfPosXImage;
245 SFUnrecImagePtr _sfNegXImage;
246 SFUnrecImagePtr _sfPosYImage;
247 SFUnrecImagePtr _sfNegYImage;
249 /*! \} */
250 /*---------------------------------------------------------------------*/
251 /*! \name Constructors */
252 /*! \{ */
254 CubeTextureObjChunkBase(void);
255 CubeTextureObjChunkBase(const CubeTextureObjChunkBase &source);
257 /*! \} */
258 /*---------------------------------------------------------------------*/
259 /*! \name Destructors */
260 /*! \{ */
262 virtual ~CubeTextureObjChunkBase(void);
264 /*! \} */
265 /*---------------------------------------------------------------------*/
266 /*! \name onCreate */
267 /*! \{ */
269 void onCreate(const CubeTextureObjChunk *source = NULL);
271 /*! \} */
272 /*---------------------------------------------------------------------*/
273 /*! \name Generic Field Access */
274 /*! \{ */
276 GetFieldHandlePtr getHandlePosZImage (void) const;
277 EditFieldHandlePtr editHandlePosZImage (void);
278 GetFieldHandlePtr getHandlePosXImage (void) const;
279 EditFieldHandlePtr editHandlePosXImage (void);
280 GetFieldHandlePtr getHandleNegXImage (void) const;
281 EditFieldHandlePtr editHandleNegXImage (void);
282 GetFieldHandlePtr getHandlePosYImage (void) const;
283 EditFieldHandlePtr editHandlePosYImage (void);
284 GetFieldHandlePtr getHandleNegYImage (void) const;
285 EditFieldHandlePtr editHandleNegYImage (void);
287 /*! \} */
288 /*---------------------------------------------------------------------*/
289 /*! \name Sync */
290 /*! \{ */
292 #ifdef OSG_MT_CPTR_ASPECT
293 virtual void execSyncV( FieldContainer &oFrom,
294 ConstFieldMaskArg whichField,
295 AspectOffsetStore &oOffsets,
296 ConstFieldMaskArg syncMode ,
297 const UInt32 uiSyncInfo);
299 void execSync ( CubeTextureObjChunkBase *pFrom,
300 ConstFieldMaskArg whichField,
301 AspectOffsetStore &oOffsets,
302 ConstFieldMaskArg syncMode ,
303 const UInt32 uiSyncInfo);
304 #endif
306 /*! \} */
307 /*---------------------------------------------------------------------*/
308 /*! \name Edit */
309 /*! \{ */
311 /*! \} */
312 /*---------------------------------------------------------------------*/
313 /*! \name Aspect Create */
314 /*! \{ */
316 #ifdef OSG_MT_CPTR_ASPECT
317 virtual FieldContainer *createAspectCopy(
318 const FieldContainer *pRefAspect) const;
319 #endif
321 /*! \} */
322 /*---------------------------------------------------------------------*/
323 /*! \name Edit */
324 /*! \{ */
325 /*! \} */
326 /*---------------------------------------------------------------------*/
327 /*! \name Sync */
328 /*! \{ */
330 virtual void resolveLinks(void);
332 /*! \} */
333 /*========================== PRIVATE ================================*/
335 private:
336 /*---------------------------------------------------------------------*/
338 // prohibit default functions (move to 'public' if you need one)
339 void operator =(const CubeTextureObjChunkBase &source);
342 typedef CubeTextureObjChunkBase *CubeTextureObjChunkBaseP;
344 OSG_END_NAMESPACE
346 #endif /* _OSGCUBETEXTUREOBJCHUNKBASE_H_ */