fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / Contrib / Techniques / OSGClusterShadingStageDataBase.h
blob6d480c2b84dc93a637455380ef80a467d3a73169
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 ClusterShadingStageData
49 ** **
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGCLUSTERSHADINGSTAGEDATABASE_H_
55 #define _OSGCLUSTERSHADINGSTAGEDATABASE_H_
56 #ifdef __sgi
57 #pragma once
58 #endif
61 #include "OSGConfig.h"
62 #include "OSGContribTechniquesDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGStageData.h" // Parent
68 #include "OSGUniformBufferObjStd140ChunkFields.h" // FrustDispDatUBOChunk type
69 #include "OSGShaderStorageBufferObjStdLayoutChunkFields.h" // CullLightIndexCounterSSBOChunk type
70 #include "OSGChunkMaterialFields.h" // FrustChunkMat type
71 #include "OSGImageFields.h" // LightGridImage type
72 #include "OSGTextureObjChunkFields.h" // LightGridTexObjChunk type
73 #include "OSGTextureImageChunkFields.h" // LightGridTexImgChunkCS type
74 #include "OSGMathFields.h" // FrustumPlanesNormals type
75 #include "OSGVecFields.h" // FrustumPlanesDistances type
76 #include "OSGSysFields.h" // Left type
78 #include "OSGClusterShadingStageDataFields.h"
80 OSG_BEGIN_NAMESPACE
83 class ClusterShadingStageData;
85 //! \brief ClusterShadingStageData Base Class.
87 class OSG_CONTRIBTECHNIQUES_DLLMAPPING ClusterShadingStageDataBase : public StageData
89 public:
91 typedef StageData Inherited;
92 typedef StageData ParentContainer;
94 typedef Inherited::TypeObject TypeObject;
95 typedef TypeObject::InitPhase InitPhase;
97 OSG_GEN_INTERNALPTR(ClusterShadingStageData);
99 /*========================== PUBLIC =================================*/
101 public:
103 enum
105 FrustDispDatUBOChunkFieldId = Inherited::NextFieldId,
106 CullDispDatUBOChunkFieldId = FrustDispDatUBOChunkFieldId + 1,
107 CullClusterDatUBOChunkFieldId = CullDispDatUBOChunkFieldId + 1,
108 CullLightIndexCounterSSBOChunkFieldId = CullClusterDatUBOChunkFieldId + 1,
109 FrustumsSSBOChunkFieldId = CullLightIndexCounterSSBOChunkFieldId + 1,
110 AffectedLightIndexListSSBOChunkFieldId = FrustumsSSBOChunkFieldId + 1,
111 LightIndexListSSBOChunkFieldId = AffectedLightIndexListSSBOChunkFieldId + 1,
112 FrustChunkMatFieldId = LightIndexListSSBOChunkFieldId + 1,
113 CullChunkMatFieldId = FrustChunkMatFieldId + 1,
114 LightGridImageFieldId = CullChunkMatFieldId + 1,
115 LightGridTexObjChunkFieldId = LightGridImageFieldId + 1,
116 LightGridTexImgChunkCSFieldId = LightGridTexObjChunkFieldId + 1,
117 LightGridTexImgChunkFSFieldId = LightGridTexImgChunkCSFieldId + 1,
118 FrustumPlanesNormalsFieldId = LightGridTexImgChunkFSFieldId + 1,
119 FrustumPlanesDistancesFieldId = FrustumPlanesNormalsFieldId + 1,
120 LeftFieldId = FrustumPlanesDistancesFieldId + 1,
121 BottomFieldId = LeftFieldId + 1,
122 WidthFieldId = BottomFieldId + 1,
123 HeightFieldId = WidthFieldId + 1,
124 IsOrthographicCameraFieldId = HeightFieldId + 1,
125 NextFieldId = IsOrthographicCameraFieldId + 1
128 static const OSG::BitVector FrustDispDatUBOChunkFieldMask =
129 (TypeTraits<BitVector>::One << FrustDispDatUBOChunkFieldId);
130 static const OSG::BitVector CullDispDatUBOChunkFieldMask =
131 (TypeTraits<BitVector>::One << CullDispDatUBOChunkFieldId);
132 static const OSG::BitVector CullClusterDatUBOChunkFieldMask =
133 (TypeTraits<BitVector>::One << CullClusterDatUBOChunkFieldId);
134 static const OSG::BitVector CullLightIndexCounterSSBOChunkFieldMask =
135 (TypeTraits<BitVector>::One << CullLightIndexCounterSSBOChunkFieldId);
136 static const OSG::BitVector FrustumsSSBOChunkFieldMask =
137 (TypeTraits<BitVector>::One << FrustumsSSBOChunkFieldId);
138 static const OSG::BitVector AffectedLightIndexListSSBOChunkFieldMask =
139 (TypeTraits<BitVector>::One << AffectedLightIndexListSSBOChunkFieldId);
140 static const OSG::BitVector LightIndexListSSBOChunkFieldMask =
141 (TypeTraits<BitVector>::One << LightIndexListSSBOChunkFieldId);
142 static const OSG::BitVector FrustChunkMatFieldMask =
143 (TypeTraits<BitVector>::One << FrustChunkMatFieldId);
144 static const OSG::BitVector CullChunkMatFieldMask =
145 (TypeTraits<BitVector>::One << CullChunkMatFieldId);
146 static const OSG::BitVector LightGridImageFieldMask =
147 (TypeTraits<BitVector>::One << LightGridImageFieldId);
148 static const OSG::BitVector LightGridTexObjChunkFieldMask =
149 (TypeTraits<BitVector>::One << LightGridTexObjChunkFieldId);
150 static const OSG::BitVector LightGridTexImgChunkCSFieldMask =
151 (TypeTraits<BitVector>::One << LightGridTexImgChunkCSFieldId);
152 static const OSG::BitVector LightGridTexImgChunkFSFieldMask =
153 (TypeTraits<BitVector>::One << LightGridTexImgChunkFSFieldId);
154 static const OSG::BitVector FrustumPlanesNormalsFieldMask =
155 (TypeTraits<BitVector>::One << FrustumPlanesNormalsFieldId);
156 static const OSG::BitVector FrustumPlanesDistancesFieldMask =
157 (TypeTraits<BitVector>::One << FrustumPlanesDistancesFieldId);
158 static const OSG::BitVector LeftFieldMask =
159 (TypeTraits<BitVector>::One << LeftFieldId);
160 static const OSG::BitVector BottomFieldMask =
161 (TypeTraits<BitVector>::One << BottomFieldId);
162 static const OSG::BitVector WidthFieldMask =
163 (TypeTraits<BitVector>::One << WidthFieldId);
164 static const OSG::BitVector HeightFieldMask =
165 (TypeTraits<BitVector>::One << HeightFieldId);
166 static const OSG::BitVector IsOrthographicCameraFieldMask =
167 (TypeTraits<BitVector>::One << IsOrthographicCameraFieldId);
168 static const OSG::BitVector NextFieldMask =
169 (TypeTraits<BitVector>::One << NextFieldId);
171 typedef SFUnrecUniformBufferObjStd140ChunkPtr SFFrustDispDatUBOChunkType;
172 typedef SFUnrecUniformBufferObjStd140ChunkPtr SFCullDispDatUBOChunkType;
173 typedef SFUnrecUniformBufferObjStd140ChunkPtr SFCullClusterDatUBOChunkType;
174 typedef SFUnrecShaderStorageBufferObjStdLayoutChunkPtr SFCullLightIndexCounterSSBOChunkType;
175 typedef SFUnrecShaderStorageBufferObjStdLayoutChunkPtr SFFrustumsSSBOChunkType;
176 typedef SFUnrecShaderStorageBufferObjStdLayoutChunkPtr SFAffectedLightIndexListSSBOChunkType;
177 typedef SFUnrecShaderStorageBufferObjStdLayoutChunkPtr SFLightIndexListSSBOChunkType;
178 typedef SFUnrecChunkMaterialPtr SFFrustChunkMatType;
179 typedef SFUnrecChunkMaterialPtr SFCullChunkMatType;
180 typedef SFUnrecImagePtr SFLightGridImageType;
181 typedef SFUnrecTextureObjChunkPtr SFLightGridTexObjChunkType;
182 typedef SFUnrecTextureImageChunkPtr SFLightGridTexImgChunkCSType;
183 typedef SFUnrecTextureImageChunkPtr SFLightGridTexImgChunkFSType;
184 typedef MFMatrix MFFrustumPlanesNormalsType;
185 typedef MFVec4f MFFrustumPlanesDistancesType;
186 typedef SFInt32 SFLeftType;
187 typedef SFInt32 SFBottomType;
188 typedef SFInt32 SFWidthType;
189 typedef SFInt32 SFHeightType;
190 typedef SFBool SFIsOrthographicCameraType;
192 /*---------------------------------------------------------------------*/
193 /*! \name Class Get */
194 /*! \{ */
196 static FieldContainerType &getClassType (void);
197 static UInt32 getClassTypeId (void);
198 static UInt16 getClassGroupId(void);
200 /*! \} */
201 /*---------------------------------------------------------------------*/
202 /*! \name FieldContainer Get */
203 /*! \{ */
205 virtual FieldContainerType &getType (void);
206 virtual const FieldContainerType &getType (void) const;
208 virtual UInt32 getContainerSize(void) const;
210 /*! \} */
211 /*---------------------------------------------------------------------*/
212 /*! \name Field Get */
213 /*! \{ */
215 const SFUnrecUniformBufferObjStd140ChunkPtr *getSFFrustDispDatUBOChunk(void) const;
216 SFUnrecUniformBufferObjStd140ChunkPtr *editSFFrustDispDatUBOChunk(void);
217 const SFUnrecUniformBufferObjStd140ChunkPtr *getSFCullDispDatUBOChunk(void) const;
218 SFUnrecUniformBufferObjStd140ChunkPtr *editSFCullDispDatUBOChunk(void);
219 const SFUnrecUniformBufferObjStd140ChunkPtr *getSFCullClusterDatUBOChunk(void) const;
220 SFUnrecUniformBufferObjStd140ChunkPtr *editSFCullClusterDatUBOChunk(void);
221 const SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *getSFCullLightIndexCounterSSBOChunk(void) const;
222 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *editSFCullLightIndexCounterSSBOChunk(void);
223 const SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *getSFFrustumsSSBOChunk(void) const;
224 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *editSFFrustumsSSBOChunk(void);
225 const SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *getSFAffectedLightIndexListSSBOChunk(void) const;
226 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *editSFAffectedLightIndexListSSBOChunk(void);
227 const SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *getSFLightIndexListSSBOChunk(void) const;
228 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr *editSFLightIndexListSSBOChunk(void);
229 const SFUnrecChunkMaterialPtr *getSFFrustChunkMat (void) const;
230 SFUnrecChunkMaterialPtr *editSFFrustChunkMat (void);
231 const SFUnrecChunkMaterialPtr *getSFCullChunkMat (void) const;
232 SFUnrecChunkMaterialPtr *editSFCullChunkMat (void);
233 const SFUnrecImagePtr *getSFLightGridImage (void) const;
234 SFUnrecImagePtr *editSFLightGridImage (void);
235 const SFUnrecTextureObjChunkPtr *getSFLightGridTexObjChunk(void) const;
236 SFUnrecTextureObjChunkPtr *editSFLightGridTexObjChunk(void);
237 const SFUnrecTextureImageChunkPtr *getSFLightGridTexImgChunkCS(void) const;
238 SFUnrecTextureImageChunkPtr *editSFLightGridTexImgChunkCS(void);
239 const SFUnrecTextureImageChunkPtr *getSFLightGridTexImgChunkFS(void) const;
240 SFUnrecTextureImageChunkPtr *editSFLightGridTexImgChunkFS(void);
242 MFMatrix *editMFFrustumPlanesNormals(void);
243 const MFMatrix *getMFFrustumPlanesNormals (void) const;
245 MFVec4f *editMFFrustumPlanesDistances(void);
246 const MFVec4f *getMFFrustumPlanesDistances (void) const;
248 SFInt32 *editSFLeft (void);
249 const SFInt32 *getSFLeft (void) const;
251 SFInt32 *editSFBottom (void);
252 const SFInt32 *getSFBottom (void) const;
254 SFInt32 *editSFWidth (void);
255 const SFInt32 *getSFWidth (void) const;
257 SFInt32 *editSFHeight (void);
258 const SFInt32 *getSFHeight (void) const;
260 SFBool *editSFIsOrthographicCamera(void);
261 const SFBool *getSFIsOrthographicCamera (void) const;
264 UniformBufferObjStd140Chunk * getFrustDispDatUBOChunk(void) const;
266 UniformBufferObjStd140Chunk * getCullDispDatUBOChunk(void) const;
268 UniformBufferObjStd140Chunk * getCullClusterDatUBOChunk(void) const;
270 ShaderStorageBufferObjStdLayoutChunk * getCullLightIndexCounterSSBOChunk(void) const;
272 ShaderStorageBufferObjStdLayoutChunk * getFrustumsSSBOChunk(void) const;
274 ShaderStorageBufferObjStdLayoutChunk * getAffectedLightIndexListSSBOChunk(void) const;
276 ShaderStorageBufferObjStdLayoutChunk * getLightIndexListSSBOChunk(void) const;
278 ChunkMaterial * getFrustChunkMat (void) const;
280 ChunkMaterial * getCullChunkMat (void) const;
282 Image * getLightGridImage (void) const;
284 TextureObjChunk * getLightGridTexObjChunk(void) const;
286 TextureImageChunk * getLightGridTexImgChunkCS(void) const;
288 TextureImageChunk * getLightGridTexImgChunkFS(void) const;
290 MFMatrix ::reference editFrustumPlanesNormals(const UInt32 index);
291 const Matrix &getFrustumPlanesNormals (const UInt32 index) const;
293 MFVec4f ::reference editFrustumPlanesDistances(const UInt32 index);
294 const Vec4f &getFrustumPlanesDistances (const UInt32 index) const;
296 Int32 &editLeft (void);
297 Int32 getLeft (void) const;
299 Int32 &editBottom (void);
300 Int32 getBottom (void) const;
302 Int32 &editWidth (void);
303 Int32 getWidth (void) const;
305 Int32 &editHeight (void);
306 Int32 getHeight (void) const;
308 bool &editIsOrthographicCamera(void);
309 bool getIsOrthographicCamera (void) const;
311 /*! \} */
312 /*---------------------------------------------------------------------*/
313 /*! \name Field Set */
314 /*! \{ */
316 void setFrustDispDatUBOChunk(UniformBufferObjStd140Chunk * const value);
317 void setCullDispDatUBOChunk(UniformBufferObjStd140Chunk * const value);
318 void setCullClusterDatUBOChunk(UniformBufferObjStd140Chunk * const value);
319 void setCullLightIndexCounterSSBOChunk(ShaderStorageBufferObjStdLayoutChunk * const value);
320 void setFrustumsSSBOChunk(ShaderStorageBufferObjStdLayoutChunk * const value);
321 void setAffectedLightIndexListSSBOChunk(ShaderStorageBufferObjStdLayoutChunk * const value);
322 void setLightIndexListSSBOChunk(ShaderStorageBufferObjStdLayoutChunk * const value);
323 void setFrustChunkMat (ChunkMaterial * const value);
324 void setCullChunkMat (ChunkMaterial * const value);
325 void setLightGridImage (Image * const value);
326 void setLightGridTexObjChunk(TextureObjChunk * const value);
327 void setLightGridTexImgChunkCS(TextureImageChunk * const value);
328 void setLightGridTexImgChunkFS(TextureImageChunk * const value);
329 void setLeft (const Int32 value);
330 void setBottom (const Int32 value);
331 void setWidth (const Int32 value);
332 void setHeight (const Int32 value);
333 void setIsOrthographicCamera(const bool value);
335 /*! \} */
336 /*---------------------------------------------------------------------*/
337 /*! \name Ptr Field Set */
338 /*! \{ */
340 /*! \} */
341 /*---------------------------------------------------------------------*/
342 /*! \name Ptr MField Set */
343 /*! \{ */
345 /*! \} */
346 /*---------------------------------------------------------------------*/
347 /*! \name Binary Access */
348 /*! \{ */
350 virtual SizeT getBinSize (ConstFieldMaskArg whichField);
351 virtual void copyToBin (BinaryDataHandler &pMem,
352 ConstFieldMaskArg whichField);
353 virtual void copyFromBin(BinaryDataHandler &pMem,
354 ConstFieldMaskArg whichField);
357 /*! \} */
358 /*---------------------------------------------------------------------*/
359 /*! \name Construction */
360 /*! \{ */
362 static ClusterShadingStageDataTransitPtr create (void);
363 static ClusterShadingStageData *createEmpty (void);
365 static ClusterShadingStageDataTransitPtr createLocal (
366 BitVector bFlags = FCLocal::All);
368 static ClusterShadingStageData *createEmptyLocal(
369 BitVector bFlags = FCLocal::All);
371 static ClusterShadingStageDataTransitPtr createDependent (BitVector bFlags);
373 /*! \} */
374 /*---------------------------------------------------------------------*/
375 /*! \name Copy */
376 /*! \{ */
378 virtual FieldContainerTransitPtr shallowCopy (void) const;
379 virtual FieldContainerTransitPtr shallowCopyLocal(
380 BitVector bFlags = FCLocal::All) const;
381 virtual FieldContainerTransitPtr shallowCopyDependent(
382 BitVector bFlags) const;
384 /*! \} */
385 /*========================= PROTECTED ===============================*/
387 protected:
389 static TypeObject _type;
391 static void classDescInserter(TypeObject &oType);
392 static const Char8 *getClassname (void );
394 /*---------------------------------------------------------------------*/
395 /*! \name Fields */
396 /*! \{ */
398 SFUnrecUniformBufferObjStd140ChunkPtr _sfFrustDispDatUBOChunk;
399 SFUnrecUniformBufferObjStd140ChunkPtr _sfCullDispDatUBOChunk;
400 SFUnrecUniformBufferObjStd140ChunkPtr _sfCullClusterDatUBOChunk;
401 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr _sfCullLightIndexCounterSSBOChunk;
402 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr _sfFrustumsSSBOChunk;
403 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr _sfAffectedLightIndexListSSBOChunk;
404 SFUnrecShaderStorageBufferObjStdLayoutChunkPtr _sfLightIndexListSSBOChunk;
405 SFUnrecChunkMaterialPtr _sfFrustChunkMat;
406 SFUnrecChunkMaterialPtr _sfCullChunkMat;
407 SFUnrecImagePtr _sfLightGridImage;
408 SFUnrecTextureObjChunkPtr _sfLightGridTexObjChunk;
409 SFUnrecTextureImageChunkPtr _sfLightGridTexImgChunkCS;
410 SFUnrecTextureImageChunkPtr _sfLightGridTexImgChunkFS;
411 MFMatrix _mfFrustumPlanesNormals;
412 MFVec4f _mfFrustumPlanesDistances;
413 SFInt32 _sfLeft;
414 SFInt32 _sfBottom;
415 SFInt32 _sfWidth;
416 SFInt32 _sfHeight;
417 SFBool _sfIsOrthographicCamera;
419 /*! \} */
420 /*---------------------------------------------------------------------*/
421 /*! \name Constructors */
422 /*! \{ */
424 ClusterShadingStageDataBase(void);
425 ClusterShadingStageDataBase(const ClusterShadingStageDataBase &source);
427 /*! \} */
428 /*---------------------------------------------------------------------*/
429 /*! \name Destructors */
430 /*! \{ */
432 virtual ~ClusterShadingStageDataBase(void);
434 /*! \} */
435 /*---------------------------------------------------------------------*/
436 /*! \name onCreate */
437 /*! \{ */
439 void onCreate(const ClusterShadingStageData *source = NULL);
441 /*! \} */
442 /*---------------------------------------------------------------------*/
443 /*! \name Generic Field Access */
444 /*! \{ */
446 GetFieldHandlePtr getHandleFrustDispDatUBOChunk (void) const;
447 EditFieldHandlePtr editHandleFrustDispDatUBOChunk(void);
448 GetFieldHandlePtr getHandleCullDispDatUBOChunk (void) const;
449 EditFieldHandlePtr editHandleCullDispDatUBOChunk(void);
450 GetFieldHandlePtr getHandleCullClusterDatUBOChunk (void) const;
451 EditFieldHandlePtr editHandleCullClusterDatUBOChunk(void);
452 GetFieldHandlePtr getHandleCullLightIndexCounterSSBOChunk (void) const;
453 EditFieldHandlePtr editHandleCullLightIndexCounterSSBOChunk(void);
454 GetFieldHandlePtr getHandleFrustumsSSBOChunk (void) const;
455 EditFieldHandlePtr editHandleFrustumsSSBOChunk(void);
456 GetFieldHandlePtr getHandleAffectedLightIndexListSSBOChunk (void) const;
457 EditFieldHandlePtr editHandleAffectedLightIndexListSSBOChunk(void);
458 GetFieldHandlePtr getHandleLightIndexListSSBOChunk (void) const;
459 EditFieldHandlePtr editHandleLightIndexListSSBOChunk(void);
460 GetFieldHandlePtr getHandleFrustChunkMat (void) const;
461 EditFieldHandlePtr editHandleFrustChunkMat (void);
462 GetFieldHandlePtr getHandleCullChunkMat (void) const;
463 EditFieldHandlePtr editHandleCullChunkMat (void);
464 GetFieldHandlePtr getHandleLightGridImage (void) const;
465 EditFieldHandlePtr editHandleLightGridImage (void);
466 GetFieldHandlePtr getHandleLightGridTexObjChunk (void) const;
467 EditFieldHandlePtr editHandleLightGridTexObjChunk(void);
468 GetFieldHandlePtr getHandleLightGridTexImgChunkCS (void) const;
469 EditFieldHandlePtr editHandleLightGridTexImgChunkCS(void);
470 GetFieldHandlePtr getHandleLightGridTexImgChunkFS (void) const;
471 EditFieldHandlePtr editHandleLightGridTexImgChunkFS(void);
472 GetFieldHandlePtr getHandleFrustumPlanesNormals (void) const;
473 EditFieldHandlePtr editHandleFrustumPlanesNormals(void);
474 GetFieldHandlePtr getHandleFrustumPlanesDistances (void) const;
475 EditFieldHandlePtr editHandleFrustumPlanesDistances(void);
476 GetFieldHandlePtr getHandleLeft (void) const;
477 EditFieldHandlePtr editHandleLeft (void);
478 GetFieldHandlePtr getHandleBottom (void) const;
479 EditFieldHandlePtr editHandleBottom (void);
480 GetFieldHandlePtr getHandleWidth (void) const;
481 EditFieldHandlePtr editHandleWidth (void);
482 GetFieldHandlePtr getHandleHeight (void) const;
483 EditFieldHandlePtr editHandleHeight (void);
484 GetFieldHandlePtr getHandleIsOrthographicCamera (void) const;
485 EditFieldHandlePtr editHandleIsOrthographicCamera(void);
487 /*! \} */
488 /*---------------------------------------------------------------------*/
489 /*! \name Sync */
490 /*! \{ */
492 #ifdef OSG_MT_CPTR_ASPECT
493 virtual void execSyncV( FieldContainer &oFrom,
494 ConstFieldMaskArg whichField,
495 AspectOffsetStore &oOffsets,
496 ConstFieldMaskArg syncMode ,
497 const UInt32 uiSyncInfo);
499 void execSync ( ClusterShadingStageDataBase *pFrom,
500 ConstFieldMaskArg whichField,
501 AspectOffsetStore &oOffsets,
502 ConstFieldMaskArg syncMode ,
503 const UInt32 uiSyncInfo);
504 #endif
506 /*! \} */
507 /*---------------------------------------------------------------------*/
508 /*! \name Edit */
509 /*! \{ */
511 /*! \} */
512 /*---------------------------------------------------------------------*/
513 /*! \name Aspect Create */
514 /*! \{ */
516 #ifdef OSG_MT_CPTR_ASPECT
517 virtual FieldContainer *createAspectCopy(
518 const FieldContainer *pRefAspect) const;
519 #endif
521 /*! \} */
522 /*---------------------------------------------------------------------*/
523 /*! \name Edit */
524 /*! \{ */
525 /*! \} */
526 /*---------------------------------------------------------------------*/
527 /*! \name Sync */
528 /*! \{ */
530 virtual void resolveLinks(void);
532 /*! \} */
533 /*========================== PRIVATE ================================*/
535 private:
536 /*---------------------------------------------------------------------*/
538 // prohibit default functions (move to 'public' if you need one)
539 void operator =(const ClusterShadingStageDataBase &source);
542 typedef ClusterShadingStageDataBase *ClusterShadingStageDataBaseP;
544 OSG_END_NAMESPACE
546 #endif /* _OSGCLUSTERSHADINGSTAGEDATABASE_H_ */