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 MultiDisplayWindow
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGMULTIDISPLAYWINDOWBASE_H_
55 #define _OSGMULTIDISPLAYWINDOWBASE_H_
61 #include "OSGConfig.h"
62 #include "OSGClusterDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGClusterWindow.h" // Parent
68 #include "OSGSysFields.h" // HServers type
70 #include "OSGMultiDisplayWindowFields.h"
75 class MultiDisplayWindow
;
77 //! \brief MultiDisplayWindow Base Class.
79 class OSG_CLUSTER_DLLMAPPING MultiDisplayWindowBase
: public ClusterWindow
83 typedef ClusterWindow Inherited
;
84 typedef ClusterWindow ParentContainer
;
86 typedef Inherited::TypeObject TypeObject
;
87 typedef TypeObject::InitPhase InitPhase
;
89 OSG_GEN_INTERNALPTR(MultiDisplayWindow
);
91 /*========================== PUBLIC =================================*/
97 HServersFieldId
= Inherited::NextFieldId
,
98 VServersFieldId
= HServersFieldId
+ 1,
99 ManageClientViewportsFieldId
= VServersFieldId
+ 1,
100 XOverlapFieldId
= ManageClientViewportsFieldId
+ 1,
101 YOverlapFieldId
= XOverlapFieldId
+ 1,
102 MaxDepthFieldId
= YOverlapFieldId
+ 1,
103 NextFieldId
= MaxDepthFieldId
+ 1
106 static const OSG::BitVector HServersFieldMask
=
107 (TypeTraits
<BitVector
>::One
<< HServersFieldId
);
108 static const OSG::BitVector VServersFieldMask
=
109 (TypeTraits
<BitVector
>::One
<< VServersFieldId
);
110 static const OSG::BitVector ManageClientViewportsFieldMask
=
111 (TypeTraits
<BitVector
>::One
<< ManageClientViewportsFieldId
);
112 static const OSG::BitVector XOverlapFieldMask
=
113 (TypeTraits
<BitVector
>::One
<< XOverlapFieldId
);
114 static const OSG::BitVector YOverlapFieldMask
=
115 (TypeTraits
<BitVector
>::One
<< YOverlapFieldId
);
116 static const OSG::BitVector MaxDepthFieldMask
=
117 (TypeTraits
<BitVector
>::One
<< MaxDepthFieldId
);
118 static const OSG::BitVector NextFieldMask
=
119 (TypeTraits
<BitVector
>::One
<< NextFieldId
);
121 typedef SFUInt32 SFHServersType
;
122 typedef SFUInt32 SFVServersType
;
123 typedef SFBool SFManageClientViewportsType
;
124 typedef SFInt32 SFXOverlapType
;
125 typedef SFInt32 SFYOverlapType
;
126 typedef SFInt32 SFMaxDepthType
;
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 SFUInt32
*editSFHServers (void);
153 const SFUInt32
*getSFHServers (void) const;
155 SFUInt32
*editSFVServers (void);
156 const SFUInt32
*getSFVServers (void) const;
158 SFBool
*editSFManageClientViewports(void);
159 const SFBool
*getSFManageClientViewports (void) const;
161 SFInt32
*editSFXOverlap (void);
162 const SFInt32
*getSFXOverlap (void) const;
164 SFInt32
*editSFYOverlap (void);
165 const SFInt32
*getSFYOverlap (void) const;
167 SFInt32
*editSFMaxDepth (void);
168 const SFInt32
*getSFMaxDepth (void) const;
171 UInt32
&editHServers (void);
172 UInt32
getHServers (void) const;
174 UInt32
&editVServers (void);
175 UInt32
getVServers (void) const;
177 bool &editManageClientViewports(void);
178 bool getManageClientViewports (void) const;
180 Int32
&editXOverlap (void);
181 Int32
getXOverlap (void) const;
183 Int32
&editYOverlap (void);
184 Int32
getYOverlap (void) const;
186 Int32
&editMaxDepth (void);
187 Int32
getMaxDepth (void) const;
190 /*---------------------------------------------------------------------*/
191 /*! \name Field Set */
194 void setHServers (const UInt32 value
);
195 void setVServers (const UInt32 value
);
196 void setManageClientViewports(const bool value
);
197 void setXOverlap (const Int32 value
);
198 void setYOverlap (const Int32 value
);
199 void setMaxDepth (const Int32 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 MultiDisplayWindowTransitPtr
create (void);
224 static MultiDisplayWindow
*createEmpty (void);
226 static MultiDisplayWindowTransitPtr
createLocal (
227 BitVector bFlags
= FCLocal::All
);
229 static MultiDisplayWindow
*createEmptyLocal(
230 BitVector bFlags
= FCLocal::All
);
232 static MultiDisplayWindowTransitPtr
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 /*---------------------------------------------------------------------*/
259 SFUInt32 _sfHServers
;
260 SFUInt32 _sfVServers
;
261 SFBool _sfManageClientViewports
;
267 /*---------------------------------------------------------------------*/
268 /*! \name Constructors */
271 MultiDisplayWindowBase(void);
272 MultiDisplayWindowBase(const MultiDisplayWindowBase
&source
);
275 /*---------------------------------------------------------------------*/
276 /*! \name Destructors */
279 virtual ~MultiDisplayWindowBase(void);
282 /*---------------------------------------------------------------------*/
283 /*! \name onCreate */
288 /*---------------------------------------------------------------------*/
289 /*! \name Generic Field Access */
292 GetFieldHandlePtr
getHandleHServers (void) const;
293 EditFieldHandlePtr
editHandleHServers (void);
294 GetFieldHandlePtr
getHandleVServers (void) const;
295 EditFieldHandlePtr
editHandleVServers (void);
296 GetFieldHandlePtr
getHandleManageClientViewports (void) const;
297 EditFieldHandlePtr
editHandleManageClientViewports(void);
298 GetFieldHandlePtr
getHandleXOverlap (void) const;
299 EditFieldHandlePtr
editHandleXOverlap (void);
300 GetFieldHandlePtr
getHandleYOverlap (void) const;
301 EditFieldHandlePtr
editHandleYOverlap (void);
302 GetFieldHandlePtr
getHandleMaxDepth (void) const;
303 EditFieldHandlePtr
editHandleMaxDepth (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 ( MultiDisplayWindowBase
*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 MultiDisplayWindowBase
&source
);
360 typedef MultiDisplayWindowBase
*MultiDisplayWindowBaseP
;
364 #endif /* _OSGMULTIDISPLAYWINDOWBASE_H_ */