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 \*****************************************************************************/
54 #ifndef _OSGTILECAMERADECORATORBASE_H_
55 #define _OSGTILECAMERADECORATORBASE_H_
61 #include "OSGConfig.h"
62 #include "OSGWindowDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGCameraDecorator.h" // Parent
68 #include "OSGSysFields.h" // Left type
70 #include "OSGTileCameraDecoratorFields.h"
75 class TileCameraDecorator
;
77 //! \brief TileCameraDecorator Base Class.
79 class OSG_WINDOW_DLLMAPPING TileCameraDecoratorBase
: public CameraDecorator
83 typedef CameraDecorator Inherited
;
84 typedef CameraDecorator ParentContainer
;
86 typedef Inherited::TypeObject TypeObject
;
87 typedef TypeObject::InitPhase InitPhase
;
89 OSG_GEN_INTERNALPTR(TileCameraDecorator
);
91 /*========================== PUBLIC =================================*/
97 LeftFieldId
= Inherited::NextFieldId
,
98 RightFieldId
= LeftFieldId
+ 1,
99 BottomFieldId
= RightFieldId
+ 1,
100 TopFieldId
= BottomFieldId
+ 1,
101 FullWidthFieldId
= TopFieldId
+ 1,
102 FullHeightFieldId
= FullWidthFieldId
+ 1,
103 NextFieldId
= FullHeightFieldId
+ 1
106 static const OSG::BitVector LeftFieldMask
=
107 (TypeTraits
<BitVector
>::One
<< LeftFieldId
);
108 static const OSG::BitVector RightFieldMask
=
109 (TypeTraits
<BitVector
>::One
<< RightFieldId
);
110 static const OSG::BitVector BottomFieldMask
=
111 (TypeTraits
<BitVector
>::One
<< BottomFieldId
);
112 static const OSG::BitVector TopFieldMask
=
113 (TypeTraits
<BitVector
>::One
<< TopFieldId
);
114 static const OSG::BitVector FullWidthFieldMask
=
115 (TypeTraits
<BitVector
>::One
<< FullWidthFieldId
);
116 static const OSG::BitVector FullHeightFieldMask
=
117 (TypeTraits
<BitVector
>::One
<< FullHeightFieldId
);
118 static const OSG::BitVector NextFieldMask
=
119 (TypeTraits
<BitVector
>::One
<< NextFieldId
);
121 typedef SFReal32 SFLeftType
;
122 typedef SFReal32 SFRightType
;
123 typedef SFReal32 SFBottomType
;
124 typedef SFReal32 SFTopType
;
125 typedef SFUInt32 SFFullWidthType
;
126 typedef SFUInt32 SFFullHeightType
;
128 /*---------------------------------------------------------------------*/
129 /*! \name Class Get */
132 static FieldContainerType
&getClassType (void);
133 static UInt32
getClassTypeId (void);
134 static UInt16
getClassGroupId(void);
137 /*---------------------------------------------------------------------*/
138 /*! \name FieldContainer Get */
141 virtual FieldContainerType
&getType (void);
142 virtual const FieldContainerType
&getType (void) const;
144 virtual UInt32
getContainerSize(void) const;
147 /*---------------------------------------------------------------------*/
148 /*! \name Field Get */
152 SFReal32
*editSFLeft (void);
153 const SFReal32
*getSFLeft (void) const;
155 SFReal32
*editSFRight (void);
156 const SFReal32
*getSFRight (void) const;
158 SFReal32
*editSFBottom (void);
159 const SFReal32
*getSFBottom (void) const;
161 SFReal32
*editSFTop (void);
162 const SFReal32
*getSFTop (void) const;
164 SFUInt32
*editSFFullWidth (void);
165 const SFUInt32
*getSFFullWidth (void) const;
167 SFUInt32
*editSFFullHeight (void);
168 const SFUInt32
*getSFFullHeight (void) const;
171 Real32
&editLeft (void);
172 Real32
getLeft (void) const;
174 Real32
&editRight (void);
175 Real32
getRight (void) const;
177 Real32
&editBottom (void);
178 Real32
getBottom (void) const;
180 Real32
&editTop (void);
181 Real32
getTop (void) const;
183 UInt32
&editFullWidth (void);
184 UInt32
getFullWidth (void) const;
186 UInt32
&editFullHeight (void);
187 UInt32
getFullHeight (void) const;
190 /*---------------------------------------------------------------------*/
191 /*! \name Field Set */
194 void setLeft (const Real32 value
);
195 void setRight (const Real32 value
);
196 void setBottom (const Real32 value
);
197 void setTop (const Real32 value
);
198 void setFullWidth (const UInt32 value
);
199 void setFullHeight (const UInt32 value
);
202 /*---------------------------------------------------------------------*/
203 /*! \name Ptr MField Set */
207 /*---------------------------------------------------------------------*/
208 /*! \name Binary Access */
211 virtual SizeT
getBinSize (ConstFieldMaskArg whichField
);
212 virtual void copyToBin (BinaryDataHandler
&pMem
,
213 ConstFieldMaskArg whichField
);
214 virtual void copyFromBin(BinaryDataHandler
&pMem
,
215 ConstFieldMaskArg whichField
);
219 /*---------------------------------------------------------------------*/
220 /*! \name Construction */
223 static TileCameraDecoratorTransitPtr
create (void);
224 static TileCameraDecorator
*createEmpty (void);
226 static TileCameraDecoratorTransitPtr
createLocal (
227 BitVector bFlags
= FCLocal::All
);
229 static TileCameraDecorator
*createEmptyLocal(
230 BitVector bFlags
= FCLocal::All
);
232 static TileCameraDecoratorTransitPtr
createDependent (BitVector bFlags
);
235 /*---------------------------------------------------------------------*/
239 virtual FieldContainerTransitPtr
shallowCopy (void) const;
240 virtual FieldContainerTransitPtr
shallowCopyLocal(
241 BitVector bFlags
= FCLocal::All
) const;
242 virtual FieldContainerTransitPtr
shallowCopyDependent(
243 BitVector bFlags
) const;
246 /*========================= PROTECTED ===============================*/
250 static TypeObject _type
;
252 static void classDescInserter(TypeObject
&oType
);
253 static const Char8
*getClassname (void );
255 /*---------------------------------------------------------------------*/
263 SFUInt32 _sfFullWidth
;
264 SFUInt32 _sfFullHeight
;
267 /*---------------------------------------------------------------------*/
268 /*! \name Constructors */
271 TileCameraDecoratorBase(void);
272 TileCameraDecoratorBase(const TileCameraDecoratorBase
&source
);
275 /*---------------------------------------------------------------------*/
276 /*! \name Destructors */
279 virtual ~TileCameraDecoratorBase(void);
282 /*---------------------------------------------------------------------*/
283 /*! \name onCreate */
288 /*---------------------------------------------------------------------*/
289 /*! \name Generic Field Access */
292 GetFieldHandlePtr
getHandleLeft (void) const;
293 EditFieldHandlePtr
editHandleLeft (void);
294 GetFieldHandlePtr
getHandleRight (void) const;
295 EditFieldHandlePtr
editHandleRight (void);
296 GetFieldHandlePtr
getHandleBottom (void) const;
297 EditFieldHandlePtr
editHandleBottom (void);
298 GetFieldHandlePtr
getHandleTop (void) const;
299 EditFieldHandlePtr
editHandleTop (void);
300 GetFieldHandlePtr
getHandleFullWidth (void) const;
301 EditFieldHandlePtr
editHandleFullWidth (void);
302 GetFieldHandlePtr
getHandleFullHeight (void) const;
303 EditFieldHandlePtr
editHandleFullHeight (void);
306 /*---------------------------------------------------------------------*/
310 #ifdef OSG_MT_CPTR_ASPECT
311 virtual void execSyncV( FieldContainer
&oFrom
,
312 ConstFieldMaskArg whichField
,
313 AspectOffsetStore
&oOffsets
,
314 ConstFieldMaskArg syncMode
,
315 const UInt32 uiSyncInfo
);
317 void execSync ( TileCameraDecoratorBase
*pFrom
,
318 ConstFieldMaskArg whichField
,
319 AspectOffsetStore
&oOffsets
,
320 ConstFieldMaskArg syncMode
,
321 const UInt32 uiSyncInfo
);
325 /*---------------------------------------------------------------------*/
330 /*---------------------------------------------------------------------*/
331 /*! \name Aspect Create */
334 #ifdef OSG_MT_CPTR_ASPECT
335 virtual FieldContainer
*createAspectCopy(
336 const FieldContainer
*pRefAspect
) const;
340 /*---------------------------------------------------------------------*/
344 /*---------------------------------------------------------------------*/
348 virtual void resolveLinks(void);
351 /*========================== PRIVATE ================================*/
354 /*---------------------------------------------------------------------*/
356 // prohibit default functions (move to 'public' if you need one)
357 void operator =(const TileCameraDecoratorBase
&source
);
360 typedef TileCameraDecoratorBase
*TileCameraDecoratorBaseP
;
364 #endif /* _OSGTILECAMERADECORATORBASE_H_ */