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 ClusterWindow
50 *****************************************************************************
51 \*****************************************************************************/
54 #ifndef _OSGCLUSTERWINDOWBASE_H_
55 #define _OSGCLUSTERWINDOWBASE_H_
61 #include "OSGConfig.h"
62 #include "OSGClusterDef.h"
64 //#include "OSGBaseTypes.h"
66 #include "OSGWindow.h" // Parent
68 #include "OSGBaseFields.h" // Servers type
69 #include "OSGSysFields.h" // ServerIds type
70 #include "OSGWindowFields.h" // ClientWindow type
71 #include "OSGImageComposerFields.h" // Composer type
73 #include "OSGClusterWindowFields.h"
80 //! \brief ClusterWindow Base Class.
82 class OSG_CLUSTER_DLLMAPPING ClusterWindowBase
: public Window
86 typedef Window Inherited
;
87 typedef Window ParentContainer
;
89 typedef Inherited::TypeObject TypeObject
;
90 typedef TypeObject::InitPhase InitPhase
;
92 OSG_GEN_INTERNALPTR(ClusterWindow
);
94 /*========================== PUBLIC =================================*/
100 ServersFieldId
= Inherited::NextFieldId
,
101 ServerIdsFieldId
= ServersFieldId
+ 1,
102 ConnectionTypeFieldId
= ServerIdsFieldId
+ 1,
103 ConnectionInterfaceFieldId
= ConnectionTypeFieldId
+ 1,
104 ConnectionDestinationFieldId
= ConnectionInterfaceFieldId
+ 1,
105 ConnectionParamsFieldId
= ConnectionDestinationFieldId
+ 1,
106 ServicePortFieldId
= ConnectionParamsFieldId
+ 1,
107 ServiceAddressFieldId
= ServicePortFieldId
+ 1,
108 ServiceInterfaceFieldId
= ServiceAddressFieldId
+ 1,
109 ClientWindowFieldId
= ServiceInterfaceFieldId
+ 1,
110 InterleaveFieldId
= ClientWindowFieldId
+ 1,
111 FrameCountFieldId
= InterleaveFieldId
+ 1,
112 ComposerFieldId
= FrameCountFieldId
+ 1,
113 AutostartFieldId
= ComposerFieldId
+ 1,
114 NextFieldId
= AutostartFieldId
+ 1
117 static const OSG::BitVector ServersFieldMask
=
118 (TypeTraits
<BitVector
>::One
<< ServersFieldId
);
119 static const OSG::BitVector ServerIdsFieldMask
=
120 (TypeTraits
<BitVector
>::One
<< ServerIdsFieldId
);
121 static const OSG::BitVector ConnectionTypeFieldMask
=
122 (TypeTraits
<BitVector
>::One
<< ConnectionTypeFieldId
);
123 static const OSG::BitVector ConnectionInterfaceFieldMask
=
124 (TypeTraits
<BitVector
>::One
<< ConnectionInterfaceFieldId
);
125 static const OSG::BitVector ConnectionDestinationFieldMask
=
126 (TypeTraits
<BitVector
>::One
<< ConnectionDestinationFieldId
);
127 static const OSG::BitVector ConnectionParamsFieldMask
=
128 (TypeTraits
<BitVector
>::One
<< ConnectionParamsFieldId
);
129 static const OSG::BitVector ServicePortFieldMask
=
130 (TypeTraits
<BitVector
>::One
<< ServicePortFieldId
);
131 static const OSG::BitVector ServiceAddressFieldMask
=
132 (TypeTraits
<BitVector
>::One
<< ServiceAddressFieldId
);
133 static const OSG::BitVector ServiceInterfaceFieldMask
=
134 (TypeTraits
<BitVector
>::One
<< ServiceInterfaceFieldId
);
135 static const OSG::BitVector ClientWindowFieldMask
=
136 (TypeTraits
<BitVector
>::One
<< ClientWindowFieldId
);
137 static const OSG::BitVector InterleaveFieldMask
=
138 (TypeTraits
<BitVector
>::One
<< InterleaveFieldId
);
139 static const OSG::BitVector FrameCountFieldMask
=
140 (TypeTraits
<BitVector
>::One
<< FrameCountFieldId
);
141 static const OSG::BitVector ComposerFieldMask
=
142 (TypeTraits
<BitVector
>::One
<< ComposerFieldId
);
143 static const OSG::BitVector AutostartFieldMask
=
144 (TypeTraits
<BitVector
>::One
<< AutostartFieldId
);
145 static const OSG::BitVector NextFieldMask
=
146 (TypeTraits
<BitVector
>::One
<< NextFieldId
);
148 typedef MFString MFServersType
;
149 typedef MFUInt32 MFServerIdsType
;
150 typedef SFString SFConnectionTypeType
;
151 typedef SFString SFConnectionInterfaceType
;
152 typedef SFString SFConnectionDestinationType
;
153 typedef SFString SFConnectionParamsType
;
154 typedef SFUInt32 SFServicePortType
;
155 typedef SFString SFServiceAddressType
;
156 typedef SFString SFServiceInterfaceType
;
157 typedef SFUnrecWindowPtr SFClientWindowType
;
158 typedef SFUInt32 SFInterleaveType
;
159 typedef SFUInt32 SFFrameCountType
;
160 typedef SFUnrecImageComposerPtr SFComposerType
;
161 typedef MFString MFAutostartType
;
163 /*---------------------------------------------------------------------*/
164 /*! \name Class Get */
167 static FieldContainerType
&getClassType (void);
168 static UInt32
getClassTypeId (void);
169 static UInt16
getClassGroupId(void);
172 /*---------------------------------------------------------------------*/
173 /*! \name FieldContainer Get */
176 virtual FieldContainerType
&getType (void);
177 virtual const FieldContainerType
&getType (void) const;
179 virtual UInt32
getContainerSize(void) const;
182 /*---------------------------------------------------------------------*/
183 /*! \name Field Get */
187 MFString
*editMFServers (void);
188 const MFString
*getMFServers (void) const;
190 MFUInt32
*editMFServerIds (void);
191 const MFUInt32
*getMFServerIds (void) const;
193 SFString
*editSFConnectionType (void);
194 const SFString
*getSFConnectionType (void) const;
196 SFString
*editSFConnectionInterface(void);
197 const SFString
*getSFConnectionInterface (void) const;
199 SFString
*editSFConnectionDestination(void);
200 const SFString
*getSFConnectionDestination (void) const;
202 SFString
*editSFConnectionParams(void);
203 const SFString
*getSFConnectionParams (void) const;
205 SFUInt32
*editSFServicePort (void);
206 const SFUInt32
*getSFServicePort (void) const;
208 SFString
*editSFServiceAddress (void);
209 const SFString
*getSFServiceAddress (void) const;
211 SFString
*editSFServiceInterface(void);
212 const SFString
*getSFServiceInterface (void) const;
213 const SFUnrecWindowPtr
*getSFClientWindow (void) const;
214 SFUnrecWindowPtr
*editSFClientWindow (void);
216 SFUInt32
*editSFInterleave (void);
217 const SFUInt32
*getSFInterleave (void) const;
219 SFUInt32
*editSFFrameCount (void);
220 const SFUInt32
*getSFFrameCount (void) const;
221 const SFUnrecImageComposerPtr
*getSFComposer (void) const;
222 SFUnrecImageComposerPtr
*editSFComposer (void);
224 MFString
*editMFAutostart (void);
225 const MFString
*getMFAutostart (void) const;
228 MFString ::reference
editServers (const UInt32 index
);
229 const std::string
&getServers (const UInt32 index
) const;
231 MFUInt32 ::reference
editServerIds (const UInt32 index
);
232 UInt32
getServerIds (const UInt32 index
) const;
234 std::string
&editConnectionType (void);
235 const std::string
&getConnectionType (void) const;
237 std::string
&editConnectionInterface(void);
238 const std::string
&getConnectionInterface (void) const;
240 std::string
&editConnectionDestination(void);
241 const std::string
&getConnectionDestination (void) const;
243 std::string
&editConnectionParams(void);
244 const std::string
&getConnectionParams (void) const;
246 UInt32
&editServicePort (void);
247 UInt32
getServicePort (void) const;
249 std::string
&editServiceAddress (void);
250 const std::string
&getServiceAddress (void) const;
252 std::string
&editServiceInterface(void);
253 const std::string
&getServiceInterface (void) const;
255 Window
* getClientWindow (void) const;
257 UInt32
&editInterleave (void);
258 UInt32
getInterleave (void) const;
260 UInt32
&editFrameCount (void);
261 UInt32
getFrameCount (void) const;
263 ImageComposer
* getComposer (void) const;
265 MFString ::reference
editAutostart (const UInt32 index
);
266 const std::string
&getAutostart (const UInt32 index
) const;
269 /*---------------------------------------------------------------------*/
270 /*! \name Field Set */
273 void setConnectionType (const std::string
&value
);
274 void setConnectionInterface(const std::string
&value
);
275 void setConnectionDestination(const std::string
&value
);
276 void setConnectionParams(const std::string
&value
);
277 void setServicePort (const UInt32 value
);
278 void setServiceAddress (const std::string
&value
);
279 void setServiceInterface(const std::string
&value
);
280 void setClientWindow (Window
* const value
);
281 void setInterleave (const UInt32 value
);
282 void setFrameCount (const UInt32 value
);
283 void setComposer (ImageComposer
* const value
);
286 /*---------------------------------------------------------------------*/
287 /*! \name Ptr Field Set */
291 /*---------------------------------------------------------------------*/
292 /*! \name Ptr MField Set */
296 /*---------------------------------------------------------------------*/
297 /*! \name Binary Access */
300 virtual SizeT
getBinSize (ConstFieldMaskArg whichField
);
301 virtual void copyToBin (BinaryDataHandler
&pMem
,
302 ConstFieldMaskArg whichField
);
303 virtual void copyFromBin(BinaryDataHandler
&pMem
,
304 ConstFieldMaskArg whichField
);
308 /*---------------------------------------------------------------------*/
309 /*! \name Construction */
312 static ClusterWindowTransitPtr
create (void);
313 static ClusterWindow
*createEmpty (void);
315 static ClusterWindowTransitPtr
createLocal (
316 BitVector bFlags
= FCLocal::All
);
318 static ClusterWindow
*createEmptyLocal(
319 BitVector bFlags
= FCLocal::All
);
321 static ClusterWindowTransitPtr
createDependent (BitVector bFlags
);
324 /*---------------------------------------------------------------------*/
328 virtual FieldContainerTransitPtr
shallowCopy (void) const;
329 virtual FieldContainerTransitPtr
shallowCopyLocal(
330 BitVector bFlags
= FCLocal::All
) const;
331 virtual FieldContainerTransitPtr
shallowCopyDependent(
332 BitVector bFlags
) const;
335 /*========================= PROTECTED ===============================*/
339 static TypeObject _type
;
341 static void classDescInserter(TypeObject
&oType
);
342 static const Char8
*getClassname (void );
344 /*---------------------------------------------------------------------*/
349 MFUInt32 _mfServerIds
;
350 SFString _sfConnectionType
;
351 SFString _sfConnectionInterface
;
352 SFString _sfConnectionDestination
;
353 SFString _sfConnectionParams
;
354 SFUInt32 _sfServicePort
;
355 SFString _sfServiceAddress
;
356 SFString _sfServiceInterface
;
357 SFUnrecWindowPtr _sfClientWindow
;
358 SFUInt32 _sfInterleave
;
359 SFUInt32 _sfFrameCount
;
360 SFUnrecImageComposerPtr _sfComposer
;
361 MFString _mfAutostart
;
364 /*---------------------------------------------------------------------*/
365 /*! \name Constructors */
368 ClusterWindowBase(void);
369 ClusterWindowBase(const ClusterWindowBase
&source
);
372 /*---------------------------------------------------------------------*/
373 /*! \name Destructors */
376 virtual ~ClusterWindowBase(void);
379 /*---------------------------------------------------------------------*/
380 /*! \name onCreate */
383 void onCreate(const ClusterWindow
*source
= NULL
);
386 /*---------------------------------------------------------------------*/
387 /*! \name Generic Field Access */
390 GetFieldHandlePtr
getHandleServers (void) const;
391 EditFieldHandlePtr
editHandleServers (void);
392 GetFieldHandlePtr
getHandleServerIds (void) const;
393 EditFieldHandlePtr
editHandleServerIds (void);
394 GetFieldHandlePtr
getHandleConnectionType (void) const;
395 EditFieldHandlePtr
editHandleConnectionType (void);
396 GetFieldHandlePtr
getHandleConnectionInterface (void) const;
397 EditFieldHandlePtr
editHandleConnectionInterface(void);
398 GetFieldHandlePtr
getHandleConnectionDestination (void) const;
399 EditFieldHandlePtr
editHandleConnectionDestination(void);
400 GetFieldHandlePtr
getHandleConnectionParams (void) const;
401 EditFieldHandlePtr
editHandleConnectionParams(void);
402 GetFieldHandlePtr
getHandleServicePort (void) const;
403 EditFieldHandlePtr
editHandleServicePort (void);
404 GetFieldHandlePtr
getHandleServiceAddress (void) const;
405 EditFieldHandlePtr
editHandleServiceAddress (void);
406 GetFieldHandlePtr
getHandleServiceInterface (void) const;
407 EditFieldHandlePtr
editHandleServiceInterface(void);
408 GetFieldHandlePtr
getHandleClientWindow (void) const;
409 EditFieldHandlePtr
editHandleClientWindow (void);
410 GetFieldHandlePtr
getHandleInterleave (void) const;
411 EditFieldHandlePtr
editHandleInterleave (void);
412 GetFieldHandlePtr
getHandleFrameCount (void) const;
413 EditFieldHandlePtr
editHandleFrameCount (void);
414 GetFieldHandlePtr
getHandleComposer (void) const;
415 EditFieldHandlePtr
editHandleComposer (void);
416 GetFieldHandlePtr
getHandleAutostart (void) const;
417 EditFieldHandlePtr
editHandleAutostart (void);
420 /*---------------------------------------------------------------------*/
424 #ifdef OSG_MT_CPTR_ASPECT
425 virtual void execSyncV( FieldContainer
&oFrom
,
426 ConstFieldMaskArg whichField
,
427 AspectOffsetStore
&oOffsets
,
428 ConstFieldMaskArg syncMode
,
429 const UInt32 uiSyncInfo
);
431 void execSync ( ClusterWindowBase
*pFrom
,
432 ConstFieldMaskArg whichField
,
433 AspectOffsetStore
&oOffsets
,
434 ConstFieldMaskArg syncMode
,
435 const UInt32 uiSyncInfo
);
439 /*---------------------------------------------------------------------*/
444 /*---------------------------------------------------------------------*/
445 /*! \name Aspect Create */
448 #ifdef OSG_MT_CPTR_ASPECT
449 virtual FieldContainer
*createAspectCopy(
450 const FieldContainer
*pRefAspect
) const;
454 /*---------------------------------------------------------------------*/
458 /*---------------------------------------------------------------------*/
462 virtual void resolveLinks(void);
465 /*========================== PRIVATE ================================*/
468 /*---------------------------------------------------------------------*/
470 // prohibit default functions (move to 'public' if you need one)
471 void operator =(const ClusterWindowBase
&source
);
474 typedef ClusterWindowBase
*ClusterWindowBaseP
;
478 #endif /* _OSGCLUSTERWINDOWBASE_H_ */