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 TileCameraDecorator!
50 *****************************************************************************
51 \*****************************************************************************/
57 #pragma warning(disable: 4355) // turn off 'this' : used in base member initializer list warning
58 #pragma warning(disable: 4290) // disable exception specification warning
61 #include "OSGConfig.h"
66 #include "OSGTileCameraDecoratorBase.h"
67 #include "OSGTileCameraDecorator.h"
69 #include <boost/bind.hpp>
73 /***************************************************************************\
75 \***************************************************************************/
77 /*! \class OSG::TileCameraDecorator
78 The OSG::TileCameraDecorator for selecting only a part of a virtual large
80 PageSystemWindowCameraDecoratorsTile for a description.
82 The borders of the tile are defined by the _sfLeft, _sfRight, _sfBottom and
83 _sfTop Fields. The size of the full image is defined by the _sfFullWidth and
87 /***************************************************************************\
88 * Field Documentation *
89 \***************************************************************************/
91 /*! \var Real32 TileCameraDecoratorBase::_sfLeft
92 The left border of the selected tile.
95 /*! \var Real32 TileCameraDecoratorBase::_sfRight
96 The right border of the selected tile.
99 /*! \var Real32 TileCameraDecoratorBase::_sfBottom
100 The bottom border of the selected tile.
103 /*! \var Real32 TileCameraDecoratorBase::_sfTop
104 The top border of the selected tile.
107 /*! \var UInt32 TileCameraDecoratorBase::_sfFullWidth
108 The width of the full image this is a tile of.
111 /*! \var UInt32 TileCameraDecoratorBase::_sfFullHeight
112 The height of the full image this is a tile of.
116 /***************************************************************************\
117 * FieldType/FieldTrait Instantiation *
118 \***************************************************************************/
120 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_DEV)
121 PointerType FieldTraits
<TileCameraDecorator
*, nsOSG
>::_type(
122 "TileCameraDecoratorPtr",
123 "CameraDecoratorPtr",
124 TileCameraDecorator::getClassType(),
128 OSG_FIELDTRAITS_GETTYPE_NS(TileCameraDecorator
*, nsOSG
)
130 OSG_EXPORT_PTR_SFIELD_FULL(PointerSField
,
131 TileCameraDecorator
*,
134 OSG_EXPORT_PTR_MFIELD_FULL(PointerMField
,
135 TileCameraDecorator
*,
138 /***************************************************************************\
139 * Field Description *
140 \***************************************************************************/
142 void TileCameraDecoratorBase::classDescInserter(TypeObject
&oType
)
144 FieldDescriptionBase
*pDesc
= NULL
;
147 pDesc
= new SFReal32::Description(
148 SFReal32::getClassType(),
150 "The left border of the selected tile.\n",
151 LeftFieldId
, LeftFieldMask
,
153 (Field::SFDefaultFlags
| Field::FStdAccess
),
154 static_cast<FieldEditMethodSig
>(&TileCameraDecorator::editHandleLeft
),
155 static_cast<FieldGetMethodSig
>(&TileCameraDecorator::getHandleLeft
));
157 oType
.addInitialDesc(pDesc
);
159 pDesc
= new SFReal32::Description(
160 SFReal32::getClassType(),
162 "The right border of the selected tile.\n",
163 RightFieldId
, RightFieldMask
,
165 (Field::SFDefaultFlags
| Field::FStdAccess
),
166 static_cast<FieldEditMethodSig
>(&TileCameraDecorator::editHandleRight
),
167 static_cast<FieldGetMethodSig
>(&TileCameraDecorator::getHandleRight
));
169 oType
.addInitialDesc(pDesc
);
171 pDesc
= new SFReal32::Description(
172 SFReal32::getClassType(),
174 "The bottom border of the selected tile.\n",
175 BottomFieldId
, BottomFieldMask
,
177 (Field::SFDefaultFlags
| Field::FStdAccess
),
178 static_cast<FieldEditMethodSig
>(&TileCameraDecorator::editHandleBottom
),
179 static_cast<FieldGetMethodSig
>(&TileCameraDecorator::getHandleBottom
));
181 oType
.addInitialDesc(pDesc
);
183 pDesc
= new SFReal32::Description(
184 SFReal32::getClassType(),
186 "The top border of the selected tile.\n",
187 TopFieldId
, TopFieldMask
,
189 (Field::SFDefaultFlags
| Field::FStdAccess
),
190 static_cast<FieldEditMethodSig
>(&TileCameraDecorator::editHandleTop
),
191 static_cast<FieldGetMethodSig
>(&TileCameraDecorator::getHandleTop
));
193 oType
.addInitialDesc(pDesc
);
195 pDesc
= new SFUInt32::Description(
196 SFUInt32::getClassType(),
198 "The width of the full image this is a tile of.\n",
199 FullWidthFieldId
, FullWidthFieldMask
,
201 (Field::SFDefaultFlags
| Field::FStdAccess
),
202 static_cast<FieldEditMethodSig
>(&TileCameraDecorator::editHandleFullWidth
),
203 static_cast<FieldGetMethodSig
>(&TileCameraDecorator::getHandleFullWidth
));
205 oType
.addInitialDesc(pDesc
);
207 pDesc
= new SFUInt32::Description(
208 SFUInt32::getClassType(),
210 "The height of the full image this is a tile of.\n",
211 FullHeightFieldId
, FullHeightFieldMask
,
213 (Field::SFDefaultFlags
| Field::FStdAccess
),
214 static_cast<FieldEditMethodSig
>(&TileCameraDecorator::editHandleFullHeight
),
215 static_cast<FieldGetMethodSig
>(&TileCameraDecorator::getHandleFullHeight
));
217 oType
.addInitialDesc(pDesc
);
221 TileCameraDecoratorBase::TypeObject
TileCameraDecoratorBase::_type(
222 TileCameraDecoratorBase::getClassname(),
223 Inherited::getClassname(),
226 reinterpret_cast<PrototypeCreateF
>(&TileCameraDecoratorBase::createEmptyLocal
),
227 reinterpret_cast<InitContainerF
>(&TileCameraDecorator::initMethod
),
228 reinterpret_cast<ExitContainerF
>(&TileCameraDecorator::exitMethod
),
229 reinterpret_cast<InitalInsertDescFunc
>(
230 reinterpret_cast<void *>(&TileCameraDecorator::classDescInserter
)),
233 "<?xml version=\"1.0\"?>\n"
236 " name=\"TileCameraDecorator\"\n"
237 " parent=\"CameraDecorator\"\n"
238 " library=\"Window\"\n"
239 " pointerfieldtypes=\"both\"\n"
240 " structure=\"concrete\"\n"
241 " systemcomponent=\"true\"\n"
242 " parentsystemcomponent=\"true\"\n"
243 " docGroupBase=\"GrpWindowCamera\"\n"
245 " The OSG::TileCameraDecorator for selecting only a part of a virtual large\n"
246 " image, see \\ref\n"
247 " PageSystemWindowCameraDecoratorsTile for a description.\n"
249 " The borders of the tile are defined by the _sfLeft, _sfRight, _sfBottom and\n"
250 " _sfTop Fields. The size of the full image is defined by the _sfFullWidth and\n"
251 " _sfFullHeight Fields.\n"
254 "\t type=\"Real32\"\n"
255 "\t cardinality=\"single\"\n"
256 "\t visibility=\"external\"\n"
257 "\t defaultValue=\"0\"\n"
258 "\t access=\"public\"\n"
260 "\tThe left border of the selected tile.\n"
263 "\t name=\"right\"\n"
264 "\t type=\"Real32\"\n"
265 "\t cardinality=\"single\"\n"
266 "\t visibility=\"external\"\n"
267 "\t defaultValue=\"1\"\n"
268 "\t access=\"public\"\n"
270 "\tThe right border of the selected tile.\n"
273 "\t name=\"bottom\"\n"
274 "\t type=\"Real32\"\n"
275 "\t cardinality=\"single\"\n"
276 "\t visibility=\"external\"\n"
277 "\t defaultValue=\"0\"\n"
278 "\t access=\"public\"\n"
280 "\tThe bottom border of the selected tile.\n"
284 "\t type=\"Real32\"\n"
285 "\t cardinality=\"single\"\n"
286 "\t visibility=\"internal\"\n"
287 "\t defaultValue=\"1\"\n"
288 "\t access=\"public\"\n"
290 "\tThe top border of the selected tile.\n"
293 "\t name=\"fullWidth\"\n"
294 "\t type=\"UInt32\"\n"
295 "\t cardinality=\"single\"\n"
296 "\t visibility=\"external\"\n"
297 "\t defaultValue=\"0\"\n"
298 "\t access=\"public\"\n"
300 "\tThe width of the full image this is a tile of.\n"
303 "\t name=\"fullHeight\"\n"
304 "\t type=\"UInt32\"\n"
305 "\t cardinality=\"single\"\n"
306 "\t visibility=\"internal\"\n"
307 "\t defaultValue=\"0\"\n"
308 "\t access=\"public\"\n"
310 "\tThe height of the full image this is a tile of.\n"
312 "</FieldContainer>\n",
313 "The OSG::TileCameraDecorator for selecting only a part of a virtual large\n"
315 "PageSystemWindowCameraDecoratorsTile for a description.\n"
317 "The borders of the tile are defined by the _sfLeft, _sfRight, _sfBottom and\n"
318 "_sfTop Fields. The size of the full image is defined by the _sfFullWidth and\n"
319 "_sfFullHeight Fields.\n"
322 /*------------------------------ get -----------------------------------*/
324 FieldContainerType
&TileCameraDecoratorBase::getType(void)
329 const FieldContainerType
&TileCameraDecoratorBase::getType(void) const
334 UInt32
TileCameraDecoratorBase::getContainerSize(void) const
336 return sizeof(TileCameraDecorator
);
339 /*------------------------- decorator get ------------------------------*/
342 SFReal32
*TileCameraDecoratorBase::editSFLeft(void)
344 editSField(LeftFieldMask
);
349 const SFReal32
*TileCameraDecoratorBase::getSFLeft(void) const
355 SFReal32
*TileCameraDecoratorBase::editSFRight(void)
357 editSField(RightFieldMask
);
362 const SFReal32
*TileCameraDecoratorBase::getSFRight(void) const
368 SFReal32
*TileCameraDecoratorBase::editSFBottom(void)
370 editSField(BottomFieldMask
);
375 const SFReal32
*TileCameraDecoratorBase::getSFBottom(void) const
381 SFReal32
*TileCameraDecoratorBase::editSFTop(void)
383 editSField(TopFieldMask
);
388 const SFReal32
*TileCameraDecoratorBase::getSFTop(void) const
394 SFUInt32
*TileCameraDecoratorBase::editSFFullWidth(void)
396 editSField(FullWidthFieldMask
);
398 return &_sfFullWidth
;
401 const SFUInt32
*TileCameraDecoratorBase::getSFFullWidth(void) const
403 return &_sfFullWidth
;
407 SFUInt32
*TileCameraDecoratorBase::editSFFullHeight(void)
409 editSField(FullHeightFieldMask
);
411 return &_sfFullHeight
;
414 const SFUInt32
*TileCameraDecoratorBase::getSFFullHeight(void) const
416 return &_sfFullHeight
;
424 /*------------------------------ access -----------------------------------*/
426 SizeT
TileCameraDecoratorBase::getBinSize(ConstFieldMaskArg whichField
)
428 SizeT returnValue
= Inherited::getBinSize(whichField
);
430 if(FieldBits::NoField
!= (LeftFieldMask
& whichField
))
432 returnValue
+= _sfLeft
.getBinSize();
434 if(FieldBits::NoField
!= (RightFieldMask
& whichField
))
436 returnValue
+= _sfRight
.getBinSize();
438 if(FieldBits::NoField
!= (BottomFieldMask
& whichField
))
440 returnValue
+= _sfBottom
.getBinSize();
442 if(FieldBits::NoField
!= (TopFieldMask
& whichField
))
444 returnValue
+= _sfTop
.getBinSize();
446 if(FieldBits::NoField
!= (FullWidthFieldMask
& whichField
))
448 returnValue
+= _sfFullWidth
.getBinSize();
450 if(FieldBits::NoField
!= (FullHeightFieldMask
& whichField
))
452 returnValue
+= _sfFullHeight
.getBinSize();
458 void TileCameraDecoratorBase::copyToBin(BinaryDataHandler
&pMem
,
459 ConstFieldMaskArg whichField
)
461 Inherited::copyToBin(pMem
, whichField
);
463 if(FieldBits::NoField
!= (LeftFieldMask
& whichField
))
465 _sfLeft
.copyToBin(pMem
);
467 if(FieldBits::NoField
!= (RightFieldMask
& whichField
))
469 _sfRight
.copyToBin(pMem
);
471 if(FieldBits::NoField
!= (BottomFieldMask
& whichField
))
473 _sfBottom
.copyToBin(pMem
);
475 if(FieldBits::NoField
!= (TopFieldMask
& whichField
))
477 _sfTop
.copyToBin(pMem
);
479 if(FieldBits::NoField
!= (FullWidthFieldMask
& whichField
))
481 _sfFullWidth
.copyToBin(pMem
);
483 if(FieldBits::NoField
!= (FullHeightFieldMask
& whichField
))
485 _sfFullHeight
.copyToBin(pMem
);
489 void TileCameraDecoratorBase::copyFromBin(BinaryDataHandler
&pMem
,
490 ConstFieldMaskArg whichField
)
492 Inherited::copyFromBin(pMem
, whichField
);
494 if(FieldBits::NoField
!= (LeftFieldMask
& whichField
))
496 editSField(LeftFieldMask
);
497 _sfLeft
.copyFromBin(pMem
);
499 if(FieldBits::NoField
!= (RightFieldMask
& whichField
))
501 editSField(RightFieldMask
);
502 _sfRight
.copyFromBin(pMem
);
504 if(FieldBits::NoField
!= (BottomFieldMask
& whichField
))
506 editSField(BottomFieldMask
);
507 _sfBottom
.copyFromBin(pMem
);
509 if(FieldBits::NoField
!= (TopFieldMask
& whichField
))
511 editSField(TopFieldMask
);
512 _sfTop
.copyFromBin(pMem
);
514 if(FieldBits::NoField
!= (FullWidthFieldMask
& whichField
))
516 editSField(FullWidthFieldMask
);
517 _sfFullWidth
.copyFromBin(pMem
);
519 if(FieldBits::NoField
!= (FullHeightFieldMask
& whichField
))
521 editSField(FullHeightFieldMask
);
522 _sfFullHeight
.copyFromBin(pMem
);
526 //! create a new instance of the class
527 TileCameraDecoratorTransitPtr
TileCameraDecoratorBase::createLocal(BitVector bFlags
)
529 TileCameraDecoratorTransitPtr fc
;
531 if(getClassType().getPrototype() != NULL
)
533 FieldContainerTransitPtr tmpPtr
=
534 getClassType().getPrototype()-> shallowCopyLocal(bFlags
);
536 fc
= dynamic_pointer_cast
<TileCameraDecorator
>(tmpPtr
);
542 //! create a new instance of the class, copy the container flags
543 TileCameraDecoratorTransitPtr
TileCameraDecoratorBase::createDependent(BitVector bFlags
)
545 TileCameraDecoratorTransitPtr fc
;
547 if(getClassType().getPrototype() != NULL
)
549 FieldContainerTransitPtr tmpPtr
=
550 getClassType().getPrototype()-> shallowCopyDependent(bFlags
);
552 fc
= dynamic_pointer_cast
<TileCameraDecorator
>(tmpPtr
);
558 //! create a new instance of the class
559 TileCameraDecoratorTransitPtr
TileCameraDecoratorBase::create(void)
561 TileCameraDecoratorTransitPtr fc
;
563 if(getClassType().getPrototype() != NULL
)
565 FieldContainerTransitPtr tmpPtr
=
566 getClassType().getPrototype()-> shallowCopy();
568 fc
= dynamic_pointer_cast
<TileCameraDecorator
>(tmpPtr
);
574 TileCameraDecorator
*TileCameraDecoratorBase::createEmptyLocal(BitVector bFlags
)
576 TileCameraDecorator
*returnValue
;
578 newPtr
<TileCameraDecorator
>(returnValue
, bFlags
);
580 returnValue
->_pFieldFlags
->_bNamespaceMask
&= ~bFlags
;
585 //! create an empty new instance of the class, do not copy the prototype
586 TileCameraDecorator
*TileCameraDecoratorBase::createEmpty(void)
588 TileCameraDecorator
*returnValue
;
590 newPtr
<TileCameraDecorator
>(returnValue
, Thread::getCurrentLocalFlags());
592 returnValue
->_pFieldFlags
->_bNamespaceMask
&=
593 ~Thread::getCurrentLocalFlags();
599 FieldContainerTransitPtr
TileCameraDecoratorBase::shallowCopyLocal(
600 BitVector bFlags
) const
602 TileCameraDecorator
*tmpPtr
;
604 newPtr(tmpPtr
, dynamic_cast<const TileCameraDecorator
*>(this), bFlags
);
606 FieldContainerTransitPtr
returnValue(tmpPtr
);
608 tmpPtr
->_pFieldFlags
->_bNamespaceMask
&= ~bFlags
;
613 FieldContainerTransitPtr
TileCameraDecoratorBase::shallowCopyDependent(
614 BitVector bFlags
) const
616 TileCameraDecorator
*tmpPtr
;
618 newPtr(tmpPtr
, dynamic_cast<const TileCameraDecorator
*>(this), ~bFlags
);
620 FieldContainerTransitPtr
returnValue(tmpPtr
);
622 tmpPtr
->_pFieldFlags
->_bNamespaceMask
= bFlags
;
627 FieldContainerTransitPtr
TileCameraDecoratorBase::shallowCopy(void) const
629 TileCameraDecorator
*tmpPtr
;
632 dynamic_cast<const TileCameraDecorator
*>(this),
633 Thread::getCurrentLocalFlags());
635 tmpPtr
->_pFieldFlags
->_bNamespaceMask
&= ~Thread::getCurrentLocalFlags();
637 FieldContainerTransitPtr
returnValue(tmpPtr
);
645 /*------------------------- constructors ----------------------------------*/
647 TileCameraDecoratorBase::TileCameraDecoratorBase(void) :
650 _sfRight (Real32(1)),
651 _sfBottom (Real32(0)),
653 _sfFullWidth (UInt32(0)),
654 _sfFullHeight (UInt32(0))
658 TileCameraDecoratorBase::TileCameraDecoratorBase(const TileCameraDecoratorBase
&source
) :
660 _sfLeft (source
._sfLeft
),
661 _sfRight (source
._sfRight
),
662 _sfBottom (source
._sfBottom
),
663 _sfTop (source
._sfTop
),
664 _sfFullWidth (source
._sfFullWidth
),
665 _sfFullHeight (source
._sfFullHeight
)
670 /*-------------------------- destructors ----------------------------------*/
672 TileCameraDecoratorBase::~TileCameraDecoratorBase(void)
677 GetFieldHandlePtr
TileCameraDecoratorBase::getHandleLeft (void) const
679 SFReal32::GetHandlePtr
returnValue(
680 new SFReal32::GetHandle(
682 this->getType().getFieldDesc(LeftFieldId
),
683 const_cast<TileCameraDecoratorBase
*>(this)));
688 EditFieldHandlePtr
TileCameraDecoratorBase::editHandleLeft (void)
690 SFReal32::EditHandlePtr
returnValue(
691 new SFReal32::EditHandle(
693 this->getType().getFieldDesc(LeftFieldId
),
697 editSField(LeftFieldMask
);
702 GetFieldHandlePtr
TileCameraDecoratorBase::getHandleRight (void) const
704 SFReal32::GetHandlePtr
returnValue(
705 new SFReal32::GetHandle(
707 this->getType().getFieldDesc(RightFieldId
),
708 const_cast<TileCameraDecoratorBase
*>(this)));
713 EditFieldHandlePtr
TileCameraDecoratorBase::editHandleRight (void)
715 SFReal32::EditHandlePtr
returnValue(
716 new SFReal32::EditHandle(
718 this->getType().getFieldDesc(RightFieldId
),
722 editSField(RightFieldMask
);
727 GetFieldHandlePtr
TileCameraDecoratorBase::getHandleBottom (void) const
729 SFReal32::GetHandlePtr
returnValue(
730 new SFReal32::GetHandle(
732 this->getType().getFieldDesc(BottomFieldId
),
733 const_cast<TileCameraDecoratorBase
*>(this)));
738 EditFieldHandlePtr
TileCameraDecoratorBase::editHandleBottom (void)
740 SFReal32::EditHandlePtr
returnValue(
741 new SFReal32::EditHandle(
743 this->getType().getFieldDesc(BottomFieldId
),
747 editSField(BottomFieldMask
);
752 GetFieldHandlePtr
TileCameraDecoratorBase::getHandleTop (void) const
754 SFReal32::GetHandlePtr
returnValue(
755 new SFReal32::GetHandle(
757 this->getType().getFieldDesc(TopFieldId
),
758 const_cast<TileCameraDecoratorBase
*>(this)));
763 EditFieldHandlePtr
TileCameraDecoratorBase::editHandleTop (void)
765 SFReal32::EditHandlePtr
returnValue(
766 new SFReal32::EditHandle(
768 this->getType().getFieldDesc(TopFieldId
),
772 editSField(TopFieldMask
);
777 GetFieldHandlePtr
TileCameraDecoratorBase::getHandleFullWidth (void) const
779 SFUInt32::GetHandlePtr
returnValue(
780 new SFUInt32::GetHandle(
782 this->getType().getFieldDesc(FullWidthFieldId
),
783 const_cast<TileCameraDecoratorBase
*>(this)));
788 EditFieldHandlePtr
TileCameraDecoratorBase::editHandleFullWidth (void)
790 SFUInt32::EditHandlePtr
returnValue(
791 new SFUInt32::EditHandle(
793 this->getType().getFieldDesc(FullWidthFieldId
),
797 editSField(FullWidthFieldMask
);
802 GetFieldHandlePtr
TileCameraDecoratorBase::getHandleFullHeight (void) const
804 SFUInt32::GetHandlePtr
returnValue(
805 new SFUInt32::GetHandle(
807 this->getType().getFieldDesc(FullHeightFieldId
),
808 const_cast<TileCameraDecoratorBase
*>(this)));
813 EditFieldHandlePtr
TileCameraDecoratorBase::editHandleFullHeight (void)
815 SFUInt32::EditHandlePtr
returnValue(
816 new SFUInt32::EditHandle(
818 this->getType().getFieldDesc(FullHeightFieldId
),
822 editSField(FullHeightFieldMask
);
828 #ifdef OSG_MT_CPTR_ASPECT
829 void TileCameraDecoratorBase::execSyncV( FieldContainer
&oFrom
,
830 ConstFieldMaskArg whichField
,
831 AspectOffsetStore
&oOffsets
,
832 ConstFieldMaskArg syncMode
,
833 const UInt32 uiSyncInfo
)
835 TileCameraDecorator
*pThis
= static_cast<TileCameraDecorator
*>(this);
837 pThis
->execSync(static_cast<TileCameraDecorator
*>(&oFrom
),
846 #ifdef OSG_MT_CPTR_ASPECT
847 FieldContainer
*TileCameraDecoratorBase::createAspectCopy(
848 const FieldContainer
*pRefAspect
) const
850 TileCameraDecorator
*returnValue
;
852 newAspectCopy(returnValue
,
853 dynamic_cast<const TileCameraDecorator
*>(pRefAspect
),
854 dynamic_cast<const TileCameraDecorator
*>(this));
860 void TileCameraDecoratorBase::resolveLinks(void)
862 Inherited::resolveLinks();