fixed: auto_ptr -> unique_ptr
[opensg.git] / Source / System / Window / Base / OSGRenderOptionsBase.h
blob94c69039c3f63cfc42ff964ad3e08051276ccb02
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 RenderOptions
49 ** **
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGRENDEROPTIONSBASE_H_
55 #define _OSGRENDEROPTIONSBASE_H_
56 #ifdef __sgi
57 #pragma once
58 #endif
61 #include "OSGConfig.h"
62 #include "OSGSystemDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGAttachment.h" // Parent
68 #include "OSGMaterialMapFields.h" // RenderProperties type
69 #include "OSGSysFields.h" // UseGLFinish type
70 #include "OSGBaseFields.h" // PolygonMode type
71 #include "OSGVecFields.h" // FogRange type
73 #include "OSGRenderOptionsFields.h"
75 OSG_BEGIN_NAMESPACE
78 class RenderOptions;
80 //! \brief RenderOptions Base Class.
82 class OSG_SYSTEM_DLLMAPPING RenderOptionsBase : public Attachment
84 public:
86 typedef Attachment Inherited;
87 typedef Attachment ParentContainer;
89 typedef Inherited::TypeObject TypeObject;
90 typedef TypeObject::InitPhase InitPhase;
92 OSG_GEN_INTERNALPTR(RenderOptions);
94 /*========================== PUBLIC =================================*/
96 public:
98 enum
100 RenderPropertiesFieldId = Inherited::NextFieldId,
101 UseGLFinishFieldId = RenderPropertiesFieldId + 1,
102 StatisticFieldId = UseGLFinishFieldId + 1,
103 PolygonModeFieldId = StatisticFieldId + 1,
104 TwoSidedLightingFieldId = PolygonModeFieldId + 1,
105 SpecTexLightingFieldId = TwoSidedLightingFieldId + 1,
106 SortTransFieldId = SpecTexLightingFieldId + 1,
107 ZWriteTransFieldId = SortTransFieldId + 1,
108 LocalLightsFieldId = ZWriteTransFieldId + 1,
109 CorrectTwoSidedLightingFieldId = LocalLightsFieldId + 1,
110 OcclusionCullingFieldId = CorrectTwoSidedLightingFieldId + 1,
111 OcclusionCullingModeFieldId = OcclusionCullingFieldId + 1,
112 OcclusionCullingPixelsFieldId = OcclusionCullingModeFieldId + 1,
113 AntialiasingFieldId = OcclusionCullingPixelsFieldId + 1,
114 AntialiasingDistanceFieldId = AntialiasingFieldId + 1,
115 AntialiasingScaleFieldId = AntialiasingDistanceFieldId + 1,
116 AntialiasingTriggerFieldId = AntialiasingScaleFieldId + 1,
117 FrustumCullingFieldId = AntialiasingTriggerFieldId + 1,
118 BackfaceCullingFieldId = FrustumCullingFieldId + 1,
119 SmallFeatureCullingFieldId = BackfaceCullingFieldId + 1,
120 SmallFeaturePixelsFieldId = SmallFeatureCullingFieldId + 1,
121 SmallFeatureThresholdFieldId = SmallFeaturePixelsFieldId + 1,
122 FirstFrameFieldId = SmallFeatureThresholdFieldId + 1,
123 DepthOnlyPassFieldId = FirstFrameFieldId + 1,
124 LightModelAmbientFieldId = DepthOnlyPassFieldId + 1,
125 FogColorFieldId = LightModelAmbientFieldId + 1,
126 FogRangeFieldId = FogColorFieldId + 1,
127 FogDensityFieldId = FogRangeFieldId + 1,
128 FogModeFieldId = FogDensityFieldId + 1,
129 MultiSampleFieldId = FogModeFieldId + 1,
130 MultiSampleFilterModeFieldId = MultiSampleFieldId + 1,
131 NextFieldId = MultiSampleFilterModeFieldId + 1
134 static const OSG::BitVector RenderPropertiesFieldMask =
135 (TypeTraits<BitVector>::One << RenderPropertiesFieldId);
136 static const OSG::BitVector UseGLFinishFieldMask =
137 (TypeTraits<BitVector>::One << UseGLFinishFieldId);
138 static const OSG::BitVector StatisticFieldMask =
139 (TypeTraits<BitVector>::One << StatisticFieldId);
140 static const OSG::BitVector PolygonModeFieldMask =
141 (TypeTraits<BitVector>::One << PolygonModeFieldId);
142 static const OSG::BitVector TwoSidedLightingFieldMask =
143 (TypeTraits<BitVector>::One << TwoSidedLightingFieldId);
144 static const OSG::BitVector SpecTexLightingFieldMask =
145 (TypeTraits<BitVector>::One << SpecTexLightingFieldId);
146 static const OSG::BitVector SortTransFieldMask =
147 (TypeTraits<BitVector>::One << SortTransFieldId);
148 static const OSG::BitVector ZWriteTransFieldMask =
149 (TypeTraits<BitVector>::One << ZWriteTransFieldId);
150 static const OSG::BitVector LocalLightsFieldMask =
151 (TypeTraits<BitVector>::One << LocalLightsFieldId);
152 static const OSG::BitVector CorrectTwoSidedLightingFieldMask =
153 (TypeTraits<BitVector>::One << CorrectTwoSidedLightingFieldId);
154 static const OSG::BitVector OcclusionCullingFieldMask =
155 (TypeTraits<BitVector>::One << OcclusionCullingFieldId);
156 static const OSG::BitVector OcclusionCullingModeFieldMask =
157 (TypeTraits<BitVector>::One << OcclusionCullingModeFieldId);
158 static const OSG::BitVector OcclusionCullingPixelsFieldMask =
159 (TypeTraits<BitVector>::One << OcclusionCullingPixelsFieldId);
160 static const OSG::BitVector AntialiasingFieldMask =
161 (TypeTraits<BitVector>::One << AntialiasingFieldId);
162 static const OSG::BitVector AntialiasingDistanceFieldMask =
163 (TypeTraits<BitVector>::One << AntialiasingDistanceFieldId);
164 static const OSG::BitVector AntialiasingScaleFieldMask =
165 (TypeTraits<BitVector>::One << AntialiasingScaleFieldId);
166 static const OSG::BitVector AntialiasingTriggerFieldMask =
167 (TypeTraits<BitVector>::One << AntialiasingTriggerFieldId);
168 static const OSG::BitVector FrustumCullingFieldMask =
169 (TypeTraits<BitVector>::One << FrustumCullingFieldId);
170 static const OSG::BitVector BackfaceCullingFieldMask =
171 (TypeTraits<BitVector>::One << BackfaceCullingFieldId);
172 static const OSG::BitVector SmallFeatureCullingFieldMask =
173 (TypeTraits<BitVector>::One << SmallFeatureCullingFieldId);
174 static const OSG::BitVector SmallFeaturePixelsFieldMask =
175 (TypeTraits<BitVector>::One << SmallFeaturePixelsFieldId);
176 static const OSG::BitVector SmallFeatureThresholdFieldMask =
177 (TypeTraits<BitVector>::One << SmallFeatureThresholdFieldId);
178 static const OSG::BitVector FirstFrameFieldMask =
179 (TypeTraits<BitVector>::One << FirstFrameFieldId);
180 static const OSG::BitVector DepthOnlyPassFieldMask =
181 (TypeTraits<BitVector>::One << DepthOnlyPassFieldId);
182 static const OSG::BitVector LightModelAmbientFieldMask =
183 (TypeTraits<BitVector>::One << LightModelAmbientFieldId);
184 static const OSG::BitVector FogColorFieldMask =
185 (TypeTraits<BitVector>::One << FogColorFieldId);
186 static const OSG::BitVector FogRangeFieldMask =
187 (TypeTraits<BitVector>::One << FogRangeFieldId);
188 static const OSG::BitVector FogDensityFieldMask =
189 (TypeTraits<BitVector>::One << FogDensityFieldId);
190 static const OSG::BitVector FogModeFieldMask =
191 (TypeTraits<BitVector>::One << FogModeFieldId);
192 static const OSG::BitVector MultiSampleFieldMask =
193 (TypeTraits<BitVector>::One << MultiSampleFieldId);
194 static const OSG::BitVector MultiSampleFilterModeFieldMask =
195 (TypeTraits<BitVector>::One << MultiSampleFilterModeFieldId);
196 static const OSG::BitVector NextFieldMask =
197 (TypeTraits<BitVector>::One << NextFieldId);
199 typedef SFMaterialMapKey SFRenderPropertiesType;
200 typedef SFBool SFUseGLFinishType;
201 typedef SFBool SFStatisticType;
202 typedef SFGLenum SFPolygonModeType;
203 typedef SFBool SFTwoSidedLightingType;
204 typedef SFBool SFSpecTexLightingType;
205 typedef SFBool SFSortTransType;
206 typedef SFBool SFZWriteTransType;
207 typedef SFBool SFLocalLightsType;
208 typedef SFBool SFCorrectTwoSidedLightingType;
209 typedef SFBool SFOcclusionCullingType;
210 typedef SFInt32 SFOcclusionCullingModeType;
211 typedef SFUInt32 SFOcclusionCullingPixelsType;
212 typedef SFBool SFAntialiasingType;
213 typedef SFReal32 SFAntialiasingDistanceType;
214 typedef SFReal32 SFAntialiasingScaleType;
215 typedef SFUInt32 SFAntialiasingTriggerType;
216 typedef SFBool SFFrustumCullingType;
217 typedef SFBool SFBackfaceCullingType;
218 typedef SFBool SFSmallFeatureCullingType;
219 typedef SFReal32 SFSmallFeaturePixelsType;
220 typedef SFUInt32 SFSmallFeatureThresholdType;
221 typedef SFBool SFFirstFrameType;
222 typedef SFBool SFDepthOnlyPassType;
223 typedef SFColor4f SFLightModelAmbientType;
224 typedef SFColor4f SFFogColorType;
225 typedef SFVec2f SFFogRangeType;
226 typedef SFReal32 SFFogDensityType;
227 typedef SFInt32 SFFogModeType;
228 typedef SFUInt32 SFMultiSampleType;
229 typedef SFUInt32 SFMultiSampleFilterModeType;
231 /*---------------------------------------------------------------------*/
232 /*! \name Class Get */
233 /*! \{ */
235 static FieldContainerType &getClassType (void);
236 static UInt32 getClassTypeId (void);
237 static UInt16 getClassGroupId(void);
239 /*! \} */
240 /*---------------------------------------------------------------------*/
241 /*! \name FieldContainer Get */
242 /*! \{ */
244 virtual FieldContainerType &getType (void);
245 virtual const FieldContainerType &getType (void) const;
247 virtual UInt32 getContainerSize(void) const;
249 /*! \} */
250 /*---------------------------------------------------------------------*/
251 /*! \name Field Get */
252 /*! \{ */
255 SFMaterialMapKey *editSFRenderProperties(void);
256 const SFMaterialMapKey *getSFRenderProperties (void) const;
258 SFBool *editSFUseGLFinish (void);
259 const SFBool *getSFUseGLFinish (void) const;
261 SFBool *editSFStatistic (void);
262 const SFBool *getSFStatistic (void) const;
264 SFGLenum *editSFPolygonMode (void);
265 const SFGLenum *getSFPolygonMode (void) const;
267 SFBool *editSFTwoSidedLighting(void);
268 const SFBool *getSFTwoSidedLighting (void) const;
270 SFBool *editSFSpecTexLighting(void);
271 const SFBool *getSFSpecTexLighting (void) const;
273 SFBool *editSFSortTrans (void);
274 const SFBool *getSFSortTrans (void) const;
276 SFBool *editSFZWriteTrans (void);
277 const SFBool *getSFZWriteTrans (void) const;
279 SFBool *editSFLocalLights (void);
280 const SFBool *getSFLocalLights (void) const;
282 SFBool *editSFCorrectTwoSidedLighting(void);
283 const SFBool *getSFCorrectTwoSidedLighting (void) const;
285 SFBool *editSFOcclusionCulling(void);
286 const SFBool *getSFOcclusionCulling (void) const;
288 SFInt32 *editSFOcclusionCullingMode(void);
289 const SFInt32 *getSFOcclusionCullingMode (void) const;
291 SFUInt32 *editSFOcclusionCullingPixels(void);
292 const SFUInt32 *getSFOcclusionCullingPixels (void) const;
294 SFBool *editSFAntialiasing (void);
295 const SFBool *getSFAntialiasing (void) const;
297 SFReal32 *editSFAntialiasingDistance(void);
298 const SFReal32 *getSFAntialiasingDistance (void) const;
300 SFReal32 *editSFAntialiasingScale(void);
301 const SFReal32 *getSFAntialiasingScale (void) const;
303 SFUInt32 *editSFAntialiasingTrigger(void);
304 const SFUInt32 *getSFAntialiasingTrigger (void) const;
306 SFBool *editSFFrustumCulling (void);
307 const SFBool *getSFFrustumCulling (void) const;
309 SFBool *editSFBackfaceCulling(void);
310 const SFBool *getSFBackfaceCulling (void) const;
312 SFBool *editSFSmallFeatureCulling(void);
313 const SFBool *getSFSmallFeatureCulling (void) const;
315 SFReal32 *editSFSmallFeaturePixels(void);
316 const SFReal32 *getSFSmallFeaturePixels (void) const;
318 SFUInt32 *editSFSmallFeatureThreshold(void);
319 const SFUInt32 *getSFSmallFeatureThreshold (void) const;
321 SFBool *editSFFirstFrame (void);
322 const SFBool *getSFFirstFrame (void) const;
324 SFBool *editSFDepthOnlyPass (void);
325 const SFBool *getSFDepthOnlyPass (void) const;
327 SFColor4f *editSFLightModelAmbient(void);
328 const SFColor4f *getSFLightModelAmbient (void) const;
330 SFColor4f *editSFFogColor (void);
331 const SFColor4f *getSFFogColor (void) const;
333 SFVec2f *editSFFogRange (void);
334 const SFVec2f *getSFFogRange (void) const;
336 SFReal32 *editSFFogDensity (void);
337 const SFReal32 *getSFFogDensity (void) const;
339 SFInt32 *editSFFogMode (void);
340 const SFInt32 *getSFFogMode (void) const;
342 SFUInt32 *editSFMultiSample (void);
343 const SFUInt32 *getSFMultiSample (void) const;
345 SFUInt32 *editSFMultiSampleFilterMode(void);
346 const SFUInt32 *getSFMultiSampleFilterMode (void) const;
349 MaterialMapKey &editRenderProperties(void);
350 const MaterialMapKey &getRenderProperties (void) const;
352 bool &editUseGLFinish (void);
353 bool getUseGLFinish (void) const;
355 bool &editStatistic (void);
356 bool getStatistic (void) const;
358 GLenum &editPolygonMode (void);
359 const GLenum &getPolygonMode (void) const;
361 bool &editTwoSidedLighting(void);
362 bool getTwoSidedLighting (void) const;
364 bool &editSpecTexLighting(void);
365 bool getSpecTexLighting (void) const;
367 bool &editSortTrans (void);
368 bool getSortTrans (void) const;
370 bool &editZWriteTrans (void);
371 bool getZWriteTrans (void) const;
373 bool &editLocalLights (void);
374 bool getLocalLights (void) const;
376 bool &editCorrectTwoSidedLighting(void);
377 bool getCorrectTwoSidedLighting (void) const;
379 bool &editOcclusionCulling(void);
380 bool getOcclusionCulling (void) const;
382 Int32 &editOcclusionCullingMode(void);
383 Int32 getOcclusionCullingMode (void) const;
385 UInt32 &editOcclusionCullingPixels(void);
386 UInt32 getOcclusionCullingPixels (void) const;
388 bool &editAntialiasing (void);
389 bool getAntialiasing (void) const;
391 Real32 &editAntialiasingDistance(void);
392 Real32 getAntialiasingDistance (void) const;
394 Real32 &editAntialiasingScale(void);
395 Real32 getAntialiasingScale (void) const;
397 UInt32 &editAntialiasingTrigger(void);
398 UInt32 getAntialiasingTrigger (void) const;
400 bool &editFrustumCulling (void);
401 bool getFrustumCulling (void) const;
403 bool &editBackfaceCulling(void);
404 bool getBackfaceCulling (void) const;
406 bool &editSmallFeatureCulling(void);
407 bool getSmallFeatureCulling (void) const;
409 Real32 &editSmallFeaturePixels(void);
410 Real32 getSmallFeaturePixels (void) const;
412 UInt32 &editSmallFeatureThreshold(void);
413 UInt32 getSmallFeatureThreshold (void) const;
415 bool &editFirstFrame (void);
416 bool getFirstFrame (void) const;
418 bool &editDepthOnlyPass (void);
419 bool getDepthOnlyPass (void) const;
421 Color4f &editLightModelAmbient(void);
422 const Color4f &getLightModelAmbient (void) const;
424 Color4f &editFogColor (void);
425 const Color4f &getFogColor (void) const;
427 Vec2f &editFogRange (void);
428 const Vec2f &getFogRange (void) const;
430 Real32 &editFogDensity (void);
431 Real32 getFogDensity (void) const;
433 Int32 &editFogMode (void);
434 Int32 getFogMode (void) const;
436 UInt32 &editMultiSample (void);
437 UInt32 getMultiSample (void) const;
439 UInt32 &editMultiSampleFilterMode(void);
440 UInt32 getMultiSampleFilterMode (void) const;
442 /*! \} */
443 /*---------------------------------------------------------------------*/
444 /*! \name Field Set */
445 /*! \{ */
447 void setRenderProperties(const MaterialMapKey &value);
448 void setUseGLFinish (const bool value);
449 void setStatistic (const bool value);
450 void setPolygonMode (const GLenum &value);
451 void setTwoSidedLighting(const bool value);
452 void setSpecTexLighting(const bool value);
453 void setSortTrans (const bool value);
454 void setZWriteTrans (const bool value);
455 void setLocalLights (const bool value);
456 void setCorrectTwoSidedLighting(const bool value);
457 void setOcclusionCulling(const bool value);
458 void setOcclusionCullingMode(const Int32 value);
459 void setOcclusionCullingPixels(const UInt32 value);
460 void setAntialiasing (const bool value);
461 void setAntialiasingDistance(const Real32 value);
462 void setAntialiasingScale(const Real32 value);
463 void setAntialiasingTrigger(const UInt32 value);
464 void setFrustumCulling (const bool value);
465 void setBackfaceCulling(const bool value);
466 void setSmallFeatureCulling(const bool value);
467 void setSmallFeaturePixels(const Real32 value);
468 void setSmallFeatureThreshold(const UInt32 value);
469 void setFirstFrame (const bool value);
470 void setDepthOnlyPass (const bool value);
471 void setLightModelAmbient(const Color4f &value);
472 void setFogColor (const Color4f &value);
473 void setFogRange (const Vec2f &value);
474 void setFogDensity (const Real32 value);
475 void setFogMode (const Int32 value);
476 void setMultiSample (const UInt32 value);
477 void setMultiSampleFilterMode(const UInt32 value);
479 /*! \} */
480 /*---------------------------------------------------------------------*/
481 /*! \name Ptr MField Set */
482 /*! \{ */
484 /*! \} */
485 /*---------------------------------------------------------------------*/
486 /*! \name Binary Access */
487 /*! \{ */
489 virtual SizeT getBinSize (ConstFieldMaskArg whichField);
490 virtual void copyToBin (BinaryDataHandler &pMem,
491 ConstFieldMaskArg whichField);
492 virtual void copyFromBin(BinaryDataHandler &pMem,
493 ConstFieldMaskArg whichField);
496 /*! \} */
497 /*---------------------------------------------------------------------*/
498 /*! \name Construction */
499 /*! \{ */
501 static RenderOptionsTransitPtr create (void);
502 static RenderOptions *createEmpty (void);
504 static RenderOptionsTransitPtr createLocal (
505 BitVector bFlags = FCLocal::All);
507 static RenderOptions *createEmptyLocal(
508 BitVector bFlags = FCLocal::All);
510 static RenderOptionsTransitPtr createDependent (BitVector bFlags);
512 /*! \} */
513 /*---------------------------------------------------------------------*/
514 /*! \name Copy */
515 /*! \{ */
517 virtual FieldContainerTransitPtr shallowCopy (void) const;
518 virtual FieldContainerTransitPtr shallowCopyLocal(
519 BitVector bFlags = FCLocal::All) const;
520 virtual FieldContainerTransitPtr shallowCopyDependent(
521 BitVector bFlags) const;
523 /*! \} */
524 /*========================= PROTECTED ===============================*/
526 protected:
528 static TypeObject _type;
530 static void classDescInserter(TypeObject &oType);
531 static const Char8 *getClassname (void );
533 /*---------------------------------------------------------------------*/
534 /*! \name Fields */
535 /*! \{ */
537 SFMaterialMapKey _sfRenderProperties;
538 SFBool _sfUseGLFinish;
539 SFBool _sfStatistic;
540 SFGLenum _sfPolygonMode;
541 SFBool _sfTwoSidedLighting;
542 SFBool _sfSpecTexLighting;
543 SFBool _sfSortTrans;
544 SFBool _sfZWriteTrans;
545 SFBool _sfLocalLights;
546 SFBool _sfCorrectTwoSidedLighting;
547 SFBool _sfOcclusionCulling;
548 SFInt32 _sfOcclusionCullingMode;
549 SFUInt32 _sfOcclusionCullingPixels;
550 SFBool _sfAntialiasing;
551 SFReal32 _sfAntialiasingDistance;
552 SFReal32 _sfAntialiasingScale;
553 SFUInt32 _sfAntialiasingTrigger;
554 SFBool _sfFrustumCulling;
555 SFBool _sfBackfaceCulling;
556 SFBool _sfSmallFeatureCulling;
557 SFReal32 _sfSmallFeaturePixels;
558 SFUInt32 _sfSmallFeatureThreshold;
559 SFBool _sfFirstFrame;
560 SFBool _sfDepthOnlyPass;
561 SFColor4f _sfLightModelAmbient;
562 SFColor4f _sfFogColor;
563 SFVec2f _sfFogRange;
564 SFReal32 _sfFogDensity;
565 SFInt32 _sfFogMode;
566 SFUInt32 _sfMultiSample;
567 SFUInt32 _sfMultiSampleFilterMode;
569 /*! \} */
570 /*---------------------------------------------------------------------*/
571 /*! \name Constructors */
572 /*! \{ */
574 RenderOptionsBase(void);
575 RenderOptionsBase(const RenderOptionsBase &source);
577 /*! \} */
578 /*---------------------------------------------------------------------*/
579 /*! \name Destructors */
580 /*! \{ */
582 virtual ~RenderOptionsBase(void);
584 /*! \} */
585 /*---------------------------------------------------------------------*/
586 /*! \name onCreate */
587 /*! \{ */
590 /*! \} */
591 /*---------------------------------------------------------------------*/
592 /*! \name Generic Field Access */
593 /*! \{ */
595 GetFieldHandlePtr getHandleRenderProperties (void) const;
596 EditFieldHandlePtr editHandleRenderProperties(void);
597 GetFieldHandlePtr getHandleUseGLFinish (void) const;
598 EditFieldHandlePtr editHandleUseGLFinish (void);
599 GetFieldHandlePtr getHandleStatistic (void) const;
600 EditFieldHandlePtr editHandleStatistic (void);
601 GetFieldHandlePtr getHandlePolygonMode (void) const;
602 EditFieldHandlePtr editHandlePolygonMode (void);
603 GetFieldHandlePtr getHandleTwoSidedLighting (void) const;
604 EditFieldHandlePtr editHandleTwoSidedLighting(void);
605 GetFieldHandlePtr getHandleSpecTexLighting (void) const;
606 EditFieldHandlePtr editHandleSpecTexLighting(void);
607 GetFieldHandlePtr getHandleSortTrans (void) const;
608 EditFieldHandlePtr editHandleSortTrans (void);
609 GetFieldHandlePtr getHandleZWriteTrans (void) const;
610 EditFieldHandlePtr editHandleZWriteTrans (void);
611 GetFieldHandlePtr getHandleLocalLights (void) const;
612 EditFieldHandlePtr editHandleLocalLights (void);
613 GetFieldHandlePtr getHandleCorrectTwoSidedLighting (void) const;
614 EditFieldHandlePtr editHandleCorrectTwoSidedLighting(void);
615 GetFieldHandlePtr getHandleOcclusionCulling (void) const;
616 EditFieldHandlePtr editHandleOcclusionCulling(void);
617 GetFieldHandlePtr getHandleOcclusionCullingMode (void) const;
618 EditFieldHandlePtr editHandleOcclusionCullingMode(void);
619 GetFieldHandlePtr getHandleOcclusionCullingPixels (void) const;
620 EditFieldHandlePtr editHandleOcclusionCullingPixels(void);
621 GetFieldHandlePtr getHandleAntialiasing (void) const;
622 EditFieldHandlePtr editHandleAntialiasing (void);
623 GetFieldHandlePtr getHandleAntialiasingDistance (void) const;
624 EditFieldHandlePtr editHandleAntialiasingDistance(void);
625 GetFieldHandlePtr getHandleAntialiasingScale (void) const;
626 EditFieldHandlePtr editHandleAntialiasingScale(void);
627 GetFieldHandlePtr getHandleAntialiasingTrigger (void) const;
628 EditFieldHandlePtr editHandleAntialiasingTrigger(void);
629 GetFieldHandlePtr getHandleFrustumCulling (void) const;
630 EditFieldHandlePtr editHandleFrustumCulling (void);
631 GetFieldHandlePtr getHandleBackfaceCulling (void) const;
632 EditFieldHandlePtr editHandleBackfaceCulling(void);
633 GetFieldHandlePtr getHandleSmallFeatureCulling (void) const;
634 EditFieldHandlePtr editHandleSmallFeatureCulling(void);
635 GetFieldHandlePtr getHandleSmallFeaturePixels (void) const;
636 EditFieldHandlePtr editHandleSmallFeaturePixels(void);
637 GetFieldHandlePtr getHandleSmallFeatureThreshold (void) const;
638 EditFieldHandlePtr editHandleSmallFeatureThreshold(void);
639 GetFieldHandlePtr getHandleFirstFrame (void) const;
640 EditFieldHandlePtr editHandleFirstFrame (void);
641 GetFieldHandlePtr getHandleDepthOnlyPass (void) const;
642 EditFieldHandlePtr editHandleDepthOnlyPass (void);
643 GetFieldHandlePtr getHandleLightModelAmbient (void) const;
644 EditFieldHandlePtr editHandleLightModelAmbient(void);
645 GetFieldHandlePtr getHandleFogColor (void) const;
646 EditFieldHandlePtr editHandleFogColor (void);
647 GetFieldHandlePtr getHandleFogRange (void) const;
648 EditFieldHandlePtr editHandleFogRange (void);
649 GetFieldHandlePtr getHandleFogDensity (void) const;
650 EditFieldHandlePtr editHandleFogDensity (void);
651 GetFieldHandlePtr getHandleFogMode (void) const;
652 EditFieldHandlePtr editHandleFogMode (void);
653 GetFieldHandlePtr getHandleMultiSample (void) const;
654 EditFieldHandlePtr editHandleMultiSample (void);
655 GetFieldHandlePtr getHandleMultiSampleFilterMode (void) const;
656 EditFieldHandlePtr editHandleMultiSampleFilterMode(void);
658 /*! \} */
659 /*---------------------------------------------------------------------*/
660 /*! \name Sync */
661 /*! \{ */
663 #ifdef OSG_MT_CPTR_ASPECT
664 virtual void execSyncV( FieldContainer &oFrom,
665 ConstFieldMaskArg whichField,
666 AspectOffsetStore &oOffsets,
667 ConstFieldMaskArg syncMode ,
668 const UInt32 uiSyncInfo);
670 void execSync ( RenderOptionsBase *pFrom,
671 ConstFieldMaskArg whichField,
672 AspectOffsetStore &oOffsets,
673 ConstFieldMaskArg syncMode ,
674 const UInt32 uiSyncInfo);
675 #endif
677 /*! \} */
678 /*---------------------------------------------------------------------*/
679 /*! \name Edit */
680 /*! \{ */
682 /*! \} */
683 /*---------------------------------------------------------------------*/
684 /*! \name Aspect Create */
685 /*! \{ */
687 #ifdef OSG_MT_CPTR_ASPECT
688 virtual FieldContainer *createAspectCopy(
689 const FieldContainer *pRefAspect) const;
690 #endif
692 /*! \} */
693 /*---------------------------------------------------------------------*/
694 /*! \name Edit */
695 /*! \{ */
696 /*! \} */
697 /*---------------------------------------------------------------------*/
698 /*! \name Sync */
699 /*! \{ */
701 virtual void resolveLinks(void);
703 /*! \} */
704 /*========================== PRIVATE ================================*/
706 private:
707 /*---------------------------------------------------------------------*/
709 // prohibit default functions (move to 'public' if you need one)
710 void operator =(const RenderOptionsBase &source);
713 typedef RenderOptionsBase *RenderOptionsBaseP;
715 OSG_END_NAMESPACE
717 #endif /* _OSGRENDEROPTIONSBASE_H_ */