1 /*---------------------------------------------------------------------------*\
5 * Copyright (C) 2000-2013 by the OpenSG Forum *
9 * contact: dirk@opensg.org, gerrit.voss@vossg.org, carsten_neumann@gmx.net *
11 \*---------------------------------------------------------------------------*/
12 /*---------------------------------------------------------------------------*\
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. *
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. *
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. *
28 \*---------------------------------------------------------------------------*/
29 /*---------------------------------------------------------------------------*\
37 \*---------------------------------------------------------------------------*/
39 /*****************************************************************************\
40 *****************************************************************************
42 ** This file is automatically generated. **
44 ** Any changes made to this file WILL be lost when it is **
45 ** regenerated, which can become necessary at any time. **
47 ** Do not change this file, changes should be done in the derived **
48 ** class RenderOptions
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGRENDEROPTIONSBASE_H_
55 #define _OSGRENDEROPTIONSBASE_H_
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"
80 //! \brief RenderOptions Base Class.
82 class OSG_SYSTEM_DLLMAPPING RenderOptionsBase
: public Attachment
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 =================================*/
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 */
235 static FieldContainerType
&getClassType (void);
236 static UInt32
getClassTypeId (void);
237 static UInt16
getClassGroupId(void);
240 /*---------------------------------------------------------------------*/
241 /*! \name FieldContainer Get */
244 virtual FieldContainerType
&getType (void);
245 virtual const FieldContainerType
&getType (void) const;
247 virtual UInt32
getContainerSize(void) const;
250 /*---------------------------------------------------------------------*/
251 /*! \name Field Get */
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;
443 /*---------------------------------------------------------------------*/
444 /*! \name Field Set */
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
);
480 /*---------------------------------------------------------------------*/
481 /*! \name Ptr MField Set */
485 /*---------------------------------------------------------------------*/
486 /*! \name Binary Access */
489 virtual SizeT
getBinSize (ConstFieldMaskArg whichField
);
490 virtual void copyToBin (BinaryDataHandler
&pMem
,
491 ConstFieldMaskArg whichField
);
492 virtual void copyFromBin(BinaryDataHandler
&pMem
,
493 ConstFieldMaskArg whichField
);
497 /*---------------------------------------------------------------------*/
498 /*! \name Construction */
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
);
513 /*---------------------------------------------------------------------*/
517 virtual FieldContainerTransitPtr
shallowCopy (void) const;
518 virtual FieldContainerTransitPtr
shallowCopyLocal(
519 BitVector bFlags
= FCLocal::All
) const;
520 virtual FieldContainerTransitPtr
shallowCopyDependent(
521 BitVector bFlags
) const;
524 /*========================= PROTECTED ===============================*/
528 static TypeObject _type
;
530 static void classDescInserter(TypeObject
&oType
);
531 static const Char8
*getClassname (void );
533 /*---------------------------------------------------------------------*/
537 SFMaterialMapKey _sfRenderProperties
;
538 SFBool _sfUseGLFinish
;
540 SFGLenum _sfPolygonMode
;
541 SFBool _sfTwoSidedLighting
;
542 SFBool _sfSpecTexLighting
;
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
;
564 SFReal32 _sfFogDensity
;
566 SFUInt32 _sfMultiSample
;
567 SFUInt32 _sfMultiSampleFilterMode
;
570 /*---------------------------------------------------------------------*/
571 /*! \name Constructors */
574 RenderOptionsBase(void);
575 RenderOptionsBase(const RenderOptionsBase
&source
);
578 /*---------------------------------------------------------------------*/
579 /*! \name Destructors */
582 virtual ~RenderOptionsBase(void);
585 /*---------------------------------------------------------------------*/
586 /*! \name onCreate */
591 /*---------------------------------------------------------------------*/
592 /*! \name Generic Field Access */
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);
659 /*---------------------------------------------------------------------*/
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
);
678 /*---------------------------------------------------------------------*/
683 /*---------------------------------------------------------------------*/
684 /*! \name Aspect Create */
687 #ifdef OSG_MT_CPTR_ASPECT
688 virtual FieldContainer
*createAspectCopy(
689 const FieldContainer
*pRefAspect
) const;
693 /*---------------------------------------------------------------------*/
697 /*---------------------------------------------------------------------*/
701 virtual void resolveLinks(void);
704 /*========================== PRIVATE ================================*/
707 /*---------------------------------------------------------------------*/
709 // prohibit default functions (move to 'public' if you need one)
710 void operator =(const RenderOptionsBase
&source
);
713 typedef RenderOptionsBase
*RenderOptionsBaseP
;
717 #endif /* _OSGRENDEROPTIONSBASE_H_ */