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 CSMMultiWinOptions
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGCSMMULTIWINOPTIONSBASE_H_
55 #define _OSGCSMMULTIWINOPTIONSBASE_H_
61 #include "OSGConfig.h"
62 #include "OSGContribCSMDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGCSMClusterWinOptions.h" // Parent
68 #include "OSGSysFields.h" // XOverlap type
70 #include "OSGCSMMultiWinOptionsFields.h"
75 class CSMMultiWinOptions
;
77 //! \brief CSMMultiWinOptions Base Class.
79 class OSG_CONTRIBCSM_DLLMAPPING CSMMultiWinOptionsBase
: public CSMClusterWinOptions
83 typedef CSMClusterWinOptions Inherited
;
84 typedef CSMClusterWinOptions ParentContainer
;
86 typedef Inherited::TypeObject TypeObject
;
87 typedef TypeObject::InitPhase InitPhase
;
89 OSG_GEN_INTERNALPTR(CSMMultiWinOptions
);
91 /*========================== PUBLIC =================================*/
97 XOverlapFieldId
= Inherited::NextFieldId
,
98 YOverlapFieldId
= XOverlapFieldId
+ 1,
99 ManageClientViewportsFieldId
= YOverlapFieldId
+ 1,
100 BalanceFieldId
= ManageClientViewportsFieldId
+ 1,
101 BestCutFieldId
= BalanceFieldId
+ 1,
102 ShowBalancingFieldId
= BestCutFieldId
+ 1,
103 NextFieldId
= ShowBalancingFieldId
+ 1
106 static const OSG::BitVector XOverlapFieldMask
=
107 (TypeTraits
<BitVector
>::One
<< XOverlapFieldId
);
108 static const OSG::BitVector YOverlapFieldMask
=
109 (TypeTraits
<BitVector
>::One
<< YOverlapFieldId
);
110 static const OSG::BitVector ManageClientViewportsFieldMask
=
111 (TypeTraits
<BitVector
>::One
<< ManageClientViewportsFieldId
);
112 static const OSG::BitVector BalanceFieldMask
=
113 (TypeTraits
<BitVector
>::One
<< BalanceFieldId
);
114 static const OSG::BitVector BestCutFieldMask
=
115 (TypeTraits
<BitVector
>::One
<< BestCutFieldId
);
116 static const OSG::BitVector ShowBalancingFieldMask
=
117 (TypeTraits
<BitVector
>::One
<< ShowBalancingFieldId
);
118 static const OSG::BitVector NextFieldMask
=
119 (TypeTraits
<BitVector
>::One
<< NextFieldId
);
121 typedef SFInt32 SFXOverlapType
;
122 typedef SFInt32 SFYOverlapType
;
123 typedef SFBool SFManageClientViewportsType
;
124 typedef SFBool SFBalanceType
;
125 typedef SFBool SFBestCutType
;
126 typedef SFBool SFShowBalancingType
;
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 SFInt32
*editSFXOverlap (void);
153 const SFInt32
*getSFXOverlap (void) const;
155 SFInt32
*editSFYOverlap (void);
156 const SFInt32
*getSFYOverlap (void) const;
158 SFBool
*editSFManageClientViewports(void);
159 const SFBool
*getSFManageClientViewports (void) const;
161 SFBool
*editSFBalance (void);
162 const SFBool
*getSFBalance (void) const;
164 SFBool
*editSFBestCut (void);
165 const SFBool
*getSFBestCut (void) const;
167 SFBool
*editSFShowBalancing (void);
168 const SFBool
*getSFShowBalancing (void) const;
171 Int32
&editXOverlap (void);
172 Int32
getXOverlap (void) const;
174 Int32
&editYOverlap (void);
175 Int32
getYOverlap (void) const;
177 bool &editManageClientViewports(void);
178 bool getManageClientViewports (void) const;
180 bool &editBalance (void);
181 bool getBalance (void) const;
183 bool &editBestCut (void);
184 bool getBestCut (void) const;
186 bool &editShowBalancing (void);
187 bool getShowBalancing (void) const;
190 /*---------------------------------------------------------------------*/
191 /*! \name Field Set */
194 void setXOverlap (const Int32 value
);
195 void setYOverlap (const Int32 value
);
196 void setManageClientViewports(const bool value
);
197 void setBalance (const bool value
);
198 void setBestCut (const bool value
);
199 void setShowBalancing (const bool 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 CSMMultiWinOptionsTransitPtr
create (void);
224 static CSMMultiWinOptions
*createEmpty (void);
226 static CSMMultiWinOptionsTransitPtr
createLocal (
227 BitVector bFlags
= FCLocal::All
);
229 static CSMMultiWinOptions
*createEmptyLocal(
230 BitVector bFlags
= FCLocal::All
);
232 static CSMMultiWinOptionsTransitPtr
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 /*---------------------------------------------------------------------*/
261 SFBool _sfManageClientViewports
;
264 SFBool _sfShowBalancing
;
267 /*---------------------------------------------------------------------*/
268 /*! \name Constructors */
271 CSMMultiWinOptionsBase(void);
272 CSMMultiWinOptionsBase(const CSMMultiWinOptionsBase
&source
);
275 /*---------------------------------------------------------------------*/
276 /*! \name Destructors */
279 virtual ~CSMMultiWinOptionsBase(void);
282 /*---------------------------------------------------------------------*/
283 /*! \name onCreate */
288 /*---------------------------------------------------------------------*/
289 /*! \name Generic Field Access */
292 GetFieldHandlePtr
getHandleXOverlap (void) const;
293 EditFieldHandlePtr
editHandleXOverlap (void);
294 GetFieldHandlePtr
getHandleYOverlap (void) const;
295 EditFieldHandlePtr
editHandleYOverlap (void);
296 GetFieldHandlePtr
getHandleManageClientViewports (void) const;
297 EditFieldHandlePtr
editHandleManageClientViewports(void);
298 GetFieldHandlePtr
getHandleBalance (void) const;
299 EditFieldHandlePtr
editHandleBalance (void);
300 GetFieldHandlePtr
getHandleBestCut (void) const;
301 EditFieldHandlePtr
editHandleBestCut (void);
302 GetFieldHandlePtr
getHandleShowBalancing (void) const;
303 EditFieldHandlePtr
editHandleShowBalancing (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 ( CSMMultiWinOptionsBase
*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 CSMMultiWinOptionsBase
&source
);
360 typedef CSMMultiWinOptionsBase
*CSMMultiWinOptionsBaseP
;
364 #endif /* _OSGCSMMULTIWINOPTIONSBASE_H_ */