changed: gcc8 base update
[opensg.git] / Source / Contrib / ComplexSceneManager / OSGCSMDrawManagerBase.cpp
blobd72ceec79ea636936fd581c684b954205199626b
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 CSMDrawManager!
49 ** **
50 *****************************************************************************
51 \*****************************************************************************/
53 #include <cstdlib>
54 #include <cstdio>
56 #ifdef WIN32
57 #pragma warning(disable: 4355) // turn off 'this' : used in base member initializer list warning
58 #pragma warning(disable: 4290) // disable exception specification warning
59 #endif
61 #include "OSGConfig.h"
65 #include "OSGCSMDrawer.h" // AppDrawer Class
67 #include "OSGCSMDrawManagerBase.h"
68 #include "OSGCSMDrawManager.h"
70 #include <boost/bind.hpp>
72 OSG_BEGIN_NAMESPACE
74 /***************************************************************************\
75 * Description *
76 \***************************************************************************/
78 /*! \class OSG::CSMDrawManager
82 /***************************************************************************\
83 * Field Documentation *
84 \***************************************************************************/
86 /*! \var CSMDrawer * CSMDrawManagerBase::_sfAppDrawer
90 /*! \var CSMDrawer * CSMDrawManagerBase::_mfDrawer
94 /*! \var bool CSMDrawManagerBase::_sfParallel
98 /*! \var std::string CSMDrawManagerBase::_sfSyncBarrierName
102 /*! \var std::string CSMDrawManagerBase::_sfSwapBarrierName
107 /***************************************************************************\
108 * FieldType/FieldTrait Instantiation *
109 \***************************************************************************/
111 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_DEV)
112 PointerType FieldTraits<CSMDrawManager *, nsOSG>::_type(
113 "CSMDrawManagerPtr",
114 "AttachmentContainerPtr",
115 CSMDrawManager::getClassType(),
116 nsOSG);
117 #endif
119 OSG_FIELDTRAITS_GETTYPE_NS(CSMDrawManager *, nsOSG)
121 OSG_EXPORT_PTR_SFIELD_FULL(PointerSField,
122 CSMDrawManager *,
123 nsOSG)
125 OSG_EXPORT_PTR_MFIELD_FULL(PointerMField,
126 CSMDrawManager *,
127 nsOSG)
129 /***************************************************************************\
130 * Field Description *
131 \***************************************************************************/
133 void CSMDrawManagerBase::classDescInserter(TypeObject &oType)
135 FieldDescriptionBase *pDesc = NULL;
138 pDesc = new SFUnrecCSMDrawerPtr::Description(
139 SFUnrecCSMDrawerPtr::getClassType(),
140 "appDrawer",
142 AppDrawerFieldId, AppDrawerFieldMask,
143 false,
144 (Field::SFDefaultFlags | Field::FStdAccess),
145 static_cast<FieldEditMethodSig>(&CSMDrawManager::editHandleAppDrawer),
146 static_cast<FieldGetMethodSig >(&CSMDrawManager::getHandleAppDrawer));
148 oType.addInitialDesc(pDesc);
150 pDesc = new MFUnrecCSMDrawerPtr::Description(
151 MFUnrecCSMDrawerPtr::getClassType(),
152 "drawer",
154 DrawerFieldId, DrawerFieldMask,
155 false,
156 (Field::MFDefaultFlags | Field::FStdAccess),
157 static_cast<FieldEditMethodSig>(&CSMDrawManager::editHandleDrawer),
158 static_cast<FieldGetMethodSig >(&CSMDrawManager::getHandleDrawer));
160 oType.addInitialDesc(pDesc);
162 pDesc = new SFBool::Description(
163 SFBool::getClassType(),
164 "parallel",
166 ParallelFieldId, ParallelFieldMask,
167 false,
168 (Field::SFDefaultFlags | Field::FStdAccess),
169 static_cast<FieldEditMethodSig>(&CSMDrawManager::editHandleParallel),
170 static_cast<FieldGetMethodSig >(&CSMDrawManager::getHandleParallel));
172 oType.addInitialDesc(pDesc);
174 pDesc = new SFString::Description(
175 SFString::getClassType(),
176 "syncBarrierName",
178 SyncBarrierNameFieldId, SyncBarrierNameFieldMask,
179 true,
180 (Field::SFDefaultFlags | Field::FStdAccess),
181 static_cast<FieldEditMethodSig>(&CSMDrawManager::editHandleSyncBarrierName),
182 static_cast<FieldGetMethodSig >(&CSMDrawManager::getHandleSyncBarrierName));
184 oType.addInitialDesc(pDesc);
186 pDesc = new SFString::Description(
187 SFString::getClassType(),
188 "swapBarrierName",
190 SwapBarrierNameFieldId, SwapBarrierNameFieldMask,
191 true,
192 (Field::SFDefaultFlags | Field::FStdAccess),
193 static_cast<FieldEditMethodSig>(&CSMDrawManager::editHandleSwapBarrierName),
194 static_cast<FieldGetMethodSig >(&CSMDrawManager::getHandleSwapBarrierName));
196 oType.addInitialDesc(pDesc);
200 CSMDrawManagerBase::TypeObject CSMDrawManagerBase::_type(
201 CSMDrawManagerBase::getClassname(),
202 Inherited::getClassname(),
203 "NULL",
204 nsOSG, //Namespace
205 reinterpret_cast<PrototypeCreateF>(&CSMDrawManagerBase::createEmptyLocal),
206 reinterpret_cast<InitContainerF>(&CSMDrawManager::initMethod),
207 reinterpret_cast<ExitContainerF>(&CSMDrawManager::exitMethod),
208 reinterpret_cast<InitalInsertDescFunc>(
209 reinterpret_cast<void *>(&CSMDrawManager::classDescInserter)),
210 false,
212 "<?xml version=\"1.0\"?>\n"
213 "\n"
214 "<FieldContainer\n"
215 " name=\"CSMDrawManager\"\n"
216 " parent=\"AttachmentContainer\"\n"
217 " library=\"ContribCSM\"\n"
218 " pointerfieldtypes=\"both\"\n"
219 " structure=\"concrete\"\n"
220 " systemcomponent=\"true\"\n"
221 " parentsystemcomponent=\"true\"\n"
222 " decoratable=\"false\"\n"
223 " useLocalIncludes=\"false\"\n"
224 " isNodeCore=\"false\"\n"
225 " isBundle=\"true\"\n"
226 " >\n"
227 "\t<Field\n"
228 "\t\tname=\"appDrawer\"\n"
229 "\t\ttype=\"CSMDrawer\"\n"
230 "\t\tcardinality=\"single\"\n"
231 "\t\tvisibility=\"external\"\n"
232 "\t\taccess=\"public\"\n"
233 " category=\"pointer\"\n"
234 "\t>\n"
235 "\t</Field>\n"
236 "\t<Field\n"
237 "\t\tname=\"drawer\"\n"
238 "\t\ttype=\"CSMDrawer\"\n"
239 "\t\tcardinality=\"multi\"\n"
240 "\t\tvisibility=\"external\"\n"
241 "\t\taccess=\"public\"\n"
242 " category=\"pointer\"\n"
243 "\t>\n"
244 "\t</Field>\n"
245 " <Field\n"
246 " name=\"parallel\"\n"
247 " type=\"bool\"\n"
248 " cardinality=\"single\"\n"
249 " visibility=\"external\"\n"
250 " access=\"public\"\n"
251 " >\n"
252 " </Field>\n"
253 "\t<Field\n"
254 "\t\tname=\"syncBarrierName\"\n"
255 "\t\ttype=\"std::string\"\n"
256 "\t\tcardinality=\"single\"\n"
257 "\t\tvisibility=\"internal\"\n"
258 "\t\taccess=\"public\"\n"
259 " defaultValue=\"&quot;&quot;\"\n"
260 "\t>\n"
261 "\t</Field>\n"
262 "\t<Field\n"
263 "\t\tname=\"swapBarrierName\"\n"
264 "\t\ttype=\"std::string\"\n"
265 "\t\tcardinality=\"single\"\n"
266 "\t\tvisibility=\"internal\"\n"
267 "\t\taccess=\"public\"\n"
268 " defaultValue=\"&quot;&quot;\"\n"
269 "\t>\n"
270 "\t</Field>\n"
271 "</FieldContainer>\n",
275 /*------------------------------ get -----------------------------------*/
277 FieldContainerType &CSMDrawManagerBase::getType(void)
279 return _type;
282 const FieldContainerType &CSMDrawManagerBase::getType(void) const
284 return _type;
287 UInt32 CSMDrawManagerBase::getContainerSize(void) const
289 return sizeof(CSMDrawManager);
292 /*------------------------- decorator get ------------------------------*/
295 //! Get the CSMDrawManager::_sfAppDrawer field.
296 const SFUnrecCSMDrawerPtr *CSMDrawManagerBase::getSFAppDrawer(void) const
298 return &_sfAppDrawer;
301 SFUnrecCSMDrawerPtr *CSMDrawManagerBase::editSFAppDrawer (void)
303 editSField(AppDrawerFieldMask);
305 return &_sfAppDrawer;
308 //! Get the value of the CSMDrawManager::_sfAppDrawer field.
309 CSMDrawer * CSMDrawManagerBase::getAppDrawer(void) const
311 return _sfAppDrawer.getValue();
314 //! Set the value of the CSMDrawManager::_sfAppDrawer field.
315 void CSMDrawManagerBase::setAppDrawer(CSMDrawer * const value)
317 editSField(AppDrawerFieldMask);
319 _sfAppDrawer.setValue(value);
323 //! Get the CSMDrawManager::_mfDrawer field.
324 const MFUnrecCSMDrawerPtr *CSMDrawManagerBase::getMFDrawer(void) const
326 return &_mfDrawer;
329 MFUnrecCSMDrawerPtr *CSMDrawManagerBase::editMFDrawer (void)
331 editMField(DrawerFieldMask, _mfDrawer);
333 return &_mfDrawer;
335 CSMDrawer * CSMDrawManagerBase::getDrawer(const UInt32 index) const
337 return _mfDrawer[index];
340 SFBool *CSMDrawManagerBase::editSFParallel(void)
342 editSField(ParallelFieldMask);
344 return &_sfParallel;
347 const SFBool *CSMDrawManagerBase::getSFParallel(void) const
349 return &_sfParallel;
353 SFString *CSMDrawManagerBase::editSFSyncBarrierName(void)
355 editSField(SyncBarrierNameFieldMask);
357 return &_sfSyncBarrierName;
360 const SFString *CSMDrawManagerBase::getSFSyncBarrierName(void) const
362 return &_sfSyncBarrierName;
366 SFString *CSMDrawManagerBase::editSFSwapBarrierName(void)
368 editSField(SwapBarrierNameFieldMask);
370 return &_sfSwapBarrierName;
373 const SFString *CSMDrawManagerBase::getSFSwapBarrierName(void) const
375 return &_sfSwapBarrierName;
381 void CSMDrawManagerBase::pushToDrawer(CSMDrawer * const value)
383 editMField(DrawerFieldMask, _mfDrawer);
385 _mfDrawer.push_back(value);
388 void CSMDrawManagerBase::assignDrawer (const MFUnrecCSMDrawerPtr &value)
390 MFUnrecCSMDrawerPtr::const_iterator elemIt =
391 value.begin();
392 MFUnrecCSMDrawerPtr::const_iterator elemEnd =
393 value.end ();
395 static_cast<CSMDrawManager *>(this)->clearDrawer();
397 while(elemIt != elemEnd)
399 this->pushToDrawer(*elemIt);
401 ++elemIt;
405 void CSMDrawManagerBase::removeFromDrawer(UInt32 uiIndex)
407 if(uiIndex < _mfDrawer.size())
409 editMField(DrawerFieldMask, _mfDrawer);
411 _mfDrawer.erase(uiIndex);
415 void CSMDrawManagerBase::removeObjFromDrawer(CSMDrawer * const value)
417 Int32 iElemIdx = _mfDrawer.findIndex(value);
419 if(iElemIdx != -1)
421 editMField(DrawerFieldMask, _mfDrawer);
423 _mfDrawer.erase(iElemIdx);
426 void CSMDrawManagerBase::clearDrawer(void)
428 editMField(DrawerFieldMask, _mfDrawer);
431 _mfDrawer.clear();
436 /*------------------------------ access -----------------------------------*/
438 SizeT CSMDrawManagerBase::getBinSize(ConstFieldMaskArg whichField)
440 SizeT returnValue = Inherited::getBinSize(whichField);
442 if(FieldBits::NoField != (AppDrawerFieldMask & whichField))
444 returnValue += _sfAppDrawer.getBinSize();
446 if(FieldBits::NoField != (DrawerFieldMask & whichField))
448 returnValue += _mfDrawer.getBinSize();
450 if(FieldBits::NoField != (ParallelFieldMask & whichField))
452 returnValue += _sfParallel.getBinSize();
454 if(FieldBits::NoField != (SyncBarrierNameFieldMask & whichField))
456 returnValue += _sfSyncBarrierName.getBinSize();
458 if(FieldBits::NoField != (SwapBarrierNameFieldMask & whichField))
460 returnValue += _sfSwapBarrierName.getBinSize();
463 return returnValue;
466 void CSMDrawManagerBase::copyToBin(BinaryDataHandler &pMem,
467 ConstFieldMaskArg whichField)
469 Inherited::copyToBin(pMem, whichField);
471 if(FieldBits::NoField != (AppDrawerFieldMask & whichField))
473 _sfAppDrawer.copyToBin(pMem);
475 if(FieldBits::NoField != (DrawerFieldMask & whichField))
477 _mfDrawer.copyToBin(pMem);
479 if(FieldBits::NoField != (ParallelFieldMask & whichField))
481 _sfParallel.copyToBin(pMem);
483 if(FieldBits::NoField != (SyncBarrierNameFieldMask & whichField))
485 _sfSyncBarrierName.copyToBin(pMem);
487 if(FieldBits::NoField != (SwapBarrierNameFieldMask & whichField))
489 _sfSwapBarrierName.copyToBin(pMem);
493 void CSMDrawManagerBase::copyFromBin(BinaryDataHandler &pMem,
494 ConstFieldMaskArg whichField)
496 Inherited::copyFromBin(pMem, whichField);
498 if(FieldBits::NoField != (AppDrawerFieldMask & whichField))
500 editSField(AppDrawerFieldMask);
501 _sfAppDrawer.copyFromBin(pMem);
503 if(FieldBits::NoField != (DrawerFieldMask & whichField))
505 editMField(DrawerFieldMask, _mfDrawer);
506 _mfDrawer.copyFromBin(pMem);
508 if(FieldBits::NoField != (ParallelFieldMask & whichField))
510 editSField(ParallelFieldMask);
511 _sfParallel.copyFromBin(pMem);
513 if(FieldBits::NoField != (SyncBarrierNameFieldMask & whichField))
515 editSField(SyncBarrierNameFieldMask);
516 _sfSyncBarrierName.copyFromBin(pMem);
518 if(FieldBits::NoField != (SwapBarrierNameFieldMask & whichField))
520 editSField(SwapBarrierNameFieldMask);
521 _sfSwapBarrierName.copyFromBin(pMem);
525 //! create a new instance of the class
526 CSMDrawManagerTransitPtr CSMDrawManagerBase::createLocal(BitVector bFlags)
528 CSMDrawManagerTransitPtr fc;
530 if(getClassType().getPrototype() != NULL)
532 FieldContainerTransitPtr tmpPtr =
533 getClassType().getPrototype()-> shallowCopyLocal(bFlags);
535 fc = dynamic_pointer_cast<CSMDrawManager>(tmpPtr);
538 return fc;
541 //! create a new instance of the class, copy the container flags
542 CSMDrawManagerTransitPtr CSMDrawManagerBase::createDependent(BitVector bFlags)
544 CSMDrawManagerTransitPtr fc;
546 if(getClassType().getPrototype() != NULL)
548 FieldContainerTransitPtr tmpPtr =
549 getClassType().getPrototype()-> shallowCopyDependent(bFlags);
551 fc = dynamic_pointer_cast<CSMDrawManager>(tmpPtr);
554 return fc;
557 //! create a new instance of the class
558 CSMDrawManagerTransitPtr CSMDrawManagerBase::create(void)
560 return createLocal();
563 CSMDrawManager *CSMDrawManagerBase::createEmptyLocal(BitVector bFlags)
565 CSMDrawManager *returnValue;
567 newPtr<CSMDrawManager>(returnValue, bFlags);
569 returnValue->_pFieldFlags->_bNamespaceMask &= ~bFlags;
571 return returnValue;
574 //! create an empty new instance of the class, do not copy the prototype
575 CSMDrawManager *CSMDrawManagerBase::createEmpty(void)
577 return createEmptyLocal();
581 FieldContainerTransitPtr CSMDrawManagerBase::shallowCopyLocal(
582 BitVector bFlags) const
584 CSMDrawManager *tmpPtr;
586 newPtr(tmpPtr, dynamic_cast<const CSMDrawManager *>(this), bFlags);
588 FieldContainerTransitPtr returnValue(tmpPtr);
590 tmpPtr->_pFieldFlags->_bNamespaceMask &= ~bFlags;
592 return returnValue;
595 FieldContainerTransitPtr CSMDrawManagerBase::shallowCopyDependent(
596 BitVector bFlags) const
598 CSMDrawManager *tmpPtr;
600 newPtr(tmpPtr, dynamic_cast<const CSMDrawManager *>(this), ~bFlags);
602 FieldContainerTransitPtr returnValue(tmpPtr);
604 tmpPtr->_pFieldFlags->_bNamespaceMask = bFlags;
606 return returnValue;
609 FieldContainerTransitPtr CSMDrawManagerBase::shallowCopy(void) const
611 return shallowCopyLocal();
617 /*------------------------- constructors ----------------------------------*/
619 CSMDrawManagerBase::CSMDrawManagerBase(void) :
620 Inherited(),
621 _sfAppDrawer (NULL),
622 _mfDrawer (),
623 _sfParallel (),
624 _sfSyncBarrierName (std::string("")),
625 _sfSwapBarrierName (std::string(""))
629 CSMDrawManagerBase::CSMDrawManagerBase(const CSMDrawManagerBase &source) :
630 Inherited(source),
631 _sfAppDrawer (NULL),
632 _mfDrawer (),
633 _sfParallel (source._sfParallel ),
634 _sfSyncBarrierName (source._sfSyncBarrierName ),
635 _sfSwapBarrierName (source._sfSwapBarrierName )
640 /*-------------------------- destructors ----------------------------------*/
642 CSMDrawManagerBase::~CSMDrawManagerBase(void)
646 void CSMDrawManagerBase::onCreate(const CSMDrawManager *source)
648 Inherited::onCreate(source);
650 if(source != NULL)
652 CSMDrawManager *pThis = static_cast<CSMDrawManager *>(this);
654 pThis->setAppDrawer(source->getAppDrawer());
656 MFUnrecCSMDrawerPtr::const_iterator DrawerIt =
657 source->_mfDrawer.begin();
658 MFUnrecCSMDrawerPtr::const_iterator DrawerEnd =
659 source->_mfDrawer.end ();
661 while(DrawerIt != DrawerEnd)
663 pThis->pushToDrawer(*DrawerIt);
665 ++DrawerIt;
670 GetFieldHandlePtr CSMDrawManagerBase::getHandleAppDrawer (void) const
672 SFUnrecCSMDrawerPtr::GetHandlePtr returnValue(
673 new SFUnrecCSMDrawerPtr::GetHandle(
674 &_sfAppDrawer,
675 this->getType().getFieldDesc(AppDrawerFieldId),
676 const_cast<CSMDrawManagerBase *>(this)));
678 return returnValue;
681 EditFieldHandlePtr CSMDrawManagerBase::editHandleAppDrawer (void)
683 SFUnrecCSMDrawerPtr::EditHandlePtr returnValue(
684 new SFUnrecCSMDrawerPtr::EditHandle(
685 &_sfAppDrawer,
686 this->getType().getFieldDesc(AppDrawerFieldId),
687 this));
689 returnValue->setSetMethod(
690 boost::bind(&CSMDrawManager::setAppDrawer,
691 static_cast<CSMDrawManager *>(this), _1));
693 editSField(AppDrawerFieldMask);
695 return returnValue;
698 GetFieldHandlePtr CSMDrawManagerBase::getHandleDrawer (void) const
700 MFUnrecCSMDrawerPtr::GetHandlePtr returnValue(
701 new MFUnrecCSMDrawerPtr::GetHandle(
702 &_mfDrawer,
703 this->getType().getFieldDesc(DrawerFieldId),
704 const_cast<CSMDrawManagerBase *>(this)));
706 return returnValue;
709 EditFieldHandlePtr CSMDrawManagerBase::editHandleDrawer (void)
711 MFUnrecCSMDrawerPtr::EditHandlePtr returnValue(
712 new MFUnrecCSMDrawerPtr::EditHandle(
713 &_mfDrawer,
714 this->getType().getFieldDesc(DrawerFieldId),
715 this));
717 returnValue->setAddMethod(
718 boost::bind(&CSMDrawManager::pushToDrawer,
719 static_cast<CSMDrawManager *>(this), _1));
720 returnValue->setRemoveMethod(
721 boost::bind(&CSMDrawManager::removeFromDrawer,
722 static_cast<CSMDrawManager *>(this), _1));
723 returnValue->setRemoveObjMethod(
724 boost::bind(&CSMDrawManager::removeObjFromDrawer,
725 static_cast<CSMDrawManager *>(this), _1));
726 returnValue->setClearMethod(
727 boost::bind(&CSMDrawManager::clearDrawer,
728 static_cast<CSMDrawManager *>(this)));
730 editMField(DrawerFieldMask, _mfDrawer);
732 return returnValue;
735 GetFieldHandlePtr CSMDrawManagerBase::getHandleParallel (void) const
737 SFBool::GetHandlePtr returnValue(
738 new SFBool::GetHandle(
739 &_sfParallel,
740 this->getType().getFieldDesc(ParallelFieldId),
741 const_cast<CSMDrawManagerBase *>(this)));
743 return returnValue;
746 EditFieldHandlePtr CSMDrawManagerBase::editHandleParallel (void)
748 SFBool::EditHandlePtr returnValue(
749 new SFBool::EditHandle(
750 &_sfParallel,
751 this->getType().getFieldDesc(ParallelFieldId),
752 this));
755 editSField(ParallelFieldMask);
757 return returnValue;
760 GetFieldHandlePtr CSMDrawManagerBase::getHandleSyncBarrierName (void) const
762 SFString::GetHandlePtr returnValue(
763 new SFString::GetHandle(
764 &_sfSyncBarrierName,
765 this->getType().getFieldDesc(SyncBarrierNameFieldId),
766 const_cast<CSMDrawManagerBase *>(this)));
768 return returnValue;
771 EditFieldHandlePtr CSMDrawManagerBase::editHandleSyncBarrierName(void)
773 SFString::EditHandlePtr returnValue(
774 new SFString::EditHandle(
775 &_sfSyncBarrierName,
776 this->getType().getFieldDesc(SyncBarrierNameFieldId),
777 this));
780 editSField(SyncBarrierNameFieldMask);
782 return returnValue;
785 GetFieldHandlePtr CSMDrawManagerBase::getHandleSwapBarrierName (void) const
787 SFString::GetHandlePtr returnValue(
788 new SFString::GetHandle(
789 &_sfSwapBarrierName,
790 this->getType().getFieldDesc(SwapBarrierNameFieldId),
791 const_cast<CSMDrawManagerBase *>(this)));
793 return returnValue;
796 EditFieldHandlePtr CSMDrawManagerBase::editHandleSwapBarrierName(void)
798 SFString::EditHandlePtr returnValue(
799 new SFString::EditHandle(
800 &_sfSwapBarrierName,
801 this->getType().getFieldDesc(SwapBarrierNameFieldId),
802 this));
805 editSField(SwapBarrierNameFieldMask);
807 return returnValue;
811 #ifdef OSG_MT_CPTR_ASPECT
812 void CSMDrawManagerBase::execSyncV( FieldContainer &oFrom,
813 ConstFieldMaskArg whichField,
814 AspectOffsetStore &oOffsets,
815 ConstFieldMaskArg syncMode,
816 const UInt32 uiSyncInfo)
818 CSMDrawManager *pThis = static_cast<CSMDrawManager *>(this);
820 pThis->execSync(static_cast<CSMDrawManager *>(&oFrom),
821 whichField,
822 oOffsets,
823 syncMode,
824 uiSyncInfo);
826 #endif
829 #ifdef OSG_MT_CPTR_ASPECT
830 FieldContainer *CSMDrawManagerBase::createAspectCopy(
831 const FieldContainer *pRefAspect) const
833 CSMDrawManager *returnValue;
835 newAspectCopy(returnValue,
836 dynamic_cast<const CSMDrawManager *>(pRefAspect),
837 dynamic_cast<const CSMDrawManager *>(this));
839 return returnValue;
841 #endif
843 void CSMDrawManagerBase::resolveLinks(void)
845 Inherited::resolveLinks();
847 static_cast<CSMDrawManager *>(this)->setAppDrawer(NULL);
849 static_cast<CSMDrawManager *>(this)->clearDrawer();
855 OSG_END_NAMESPACE