Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

OSGClusterWindowBase.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002  *                                OpenSG                                     *
00003  *                                                                           *
00004  *                                                                           *
00005  *               Copyright (C) 2000-2002 by the OpenSG Forum                 *
00006  *                                                                           *
00007  *                            www.opensg.org                                 *
00008  *                                                                           *
00009  *   contact: dirk@opensg.org, gerrit.voss@vossg.org, jbehr@zgdv.de          *
00010  *                                                                           *
00011 \*---------------------------------------------------------------------------*/
00012 /*---------------------------------------------------------------------------*\
00013  *                                License                                    *
00014  *                                                                           *
00015  * This library is free software; you can redistribute it and/or modify it   *
00016  * under the terms of the GNU Library General Public License as published    *
00017  * by the Free Software Foundation, version 2.                               *
00018  *                                                                           *
00019  * This library is distributed in the hope that it will be useful, but       *
00020  * WITHOUT ANY WARRANTY; without even the implied warranty of                *
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU         *
00022  * Library General Public License for more details.                          *
00023  *                                                                           *
00024  * You should have received a copy of the GNU Library General Public         *
00025  * License along with this library; if not, write to the Free Software       *
00026  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.                 *
00027  *                                                                           *
00028 \*---------------------------------------------------------------------------*/
00029 /*---------------------------------------------------------------------------*\
00030  *                                Changes                                    *
00031  *                                                                           *
00032  *                                                                           *
00033  *                                                                           *
00034  *                                                                           *
00035  *                                                                           *
00036  *                                                                           *
00037 \*---------------------------------------------------------------------------*/
00038 
00039 /*****************************************************************************\
00040  *****************************************************************************
00041  **                                                                         **
00042  **                  This file is automatically generated.                  **
00043  **                                                                         **
00044  **          Any changes made to this file WILL be lost when it is          **
00045  **           regenerated, which can become necessary at any time.          **
00046  **                                                                         **
00047  **     Do not change this file, changes should be done in the derived      **
00048  **     class ClusterWindow
00049  **                                                                         **
00050  *****************************************************************************
00051 \*****************************************************************************/
00052 
00053 
00054 #ifndef _OSGCLUSTERWINDOWBASE_H_
00055 #define _OSGCLUSTERWINDOWBASE_H_
00056 #ifdef __sgi
00057 #pragma once
00058 #endif
00059 
00060 
00061 #include <OSGConfig.h>
00062 #include <OSGSystemDef.h>
00063 
00064 #include <OSGBaseTypes.h>
00065 #include <OSGRefPtr.h>
00066 #include <OSGCoredNodePtr.h>
00067 
00068 #include <OSGWindow.h> // Parent
00069 
00070 #include <OSGStringFields.h> // Servers type
00071 #include <OSGStringFields.h> // ConnectionType type
00072 #include <OSGStringFields.h> // ConnectionInterface type
00073 #include <OSGStringFields.h> // ConnectionDestination type
00074 #include <OSGStringFields.h> // ConnectionParams type
00075 #include <OSGUInt32Fields.h> // ServicePort type
00076 #include <OSGStringFields.h> // ServiceAddress type
00077 #include <OSGWindowFields.h> // ClientWindow type
00078 #include <OSGUInt32Fields.h> // Interleave type
00079 #include <OSGUInt32Fields.h> // FrameCount type
00080 #include <OSGImageComposerFields.h> // Composer type
00081 #include <OSGStringFields.h> // Autostart type
00082 #include <OSGDisplayCalibrationFields.h> // Calibration type
00083 
00084 #include <OSGClusterWindowFields.h>
00085 
00086 OSG_BEGIN_NAMESPACE
00087 
00088 class ClusterWindow;
00089 class BinaryDataHandler;
00090 
00092 
00093 class OSG_SYSTEMLIB_DLLMAPPING ClusterWindowBase : public Window
00094 {
00095   private:
00096 
00097     typedef Window    Inherited;
00098 
00099     /*==========================  PUBLIC  =================================*/
00100   public:
00101 
00102     typedef ClusterWindowPtr  Ptr;
00103 
00104     enum
00105     {
00106         ServersFieldId               = Inherited::NextFieldId,
00107         ConnectionTypeFieldId        = ServersFieldId               + 1,
00108         ConnectionInterfaceFieldId   = ConnectionTypeFieldId        + 1,
00109         ConnectionDestinationFieldId = ConnectionInterfaceFieldId   + 1,
00110         ConnectionParamsFieldId      = ConnectionDestinationFieldId + 1,
00111         ServicePortFieldId           = ConnectionParamsFieldId      + 1,
00112         ServiceAddressFieldId        = ServicePortFieldId           + 1,
00113         ClientWindowFieldId          = ServiceAddressFieldId        + 1,
00114         InterleaveFieldId            = ClientWindowFieldId          + 1,
00115         FrameCountFieldId            = InterleaveFieldId            + 1,
00116         ComposerFieldId              = FrameCountFieldId            + 1,
00117         AutostartFieldId             = ComposerFieldId              + 1,
00118         CalibrationFieldId           = AutostartFieldId             + 1,
00119         NextFieldId                  = CalibrationFieldId           + 1
00120     };
00121 
00122     static const OSG::BitVector ServersFieldMask;
00123     static const OSG::BitVector ConnectionTypeFieldMask;
00124     static const OSG::BitVector ConnectionInterfaceFieldMask;
00125     static const OSG::BitVector ConnectionDestinationFieldMask;
00126     static const OSG::BitVector ConnectionParamsFieldMask;
00127     static const OSG::BitVector ServicePortFieldMask;
00128     static const OSG::BitVector ServiceAddressFieldMask;
00129     static const OSG::BitVector ClientWindowFieldMask;
00130     static const OSG::BitVector InterleaveFieldMask;
00131     static const OSG::BitVector FrameCountFieldMask;
00132     static const OSG::BitVector ComposerFieldMask;
00133     static const OSG::BitVector AutostartFieldMask;
00134     static const OSG::BitVector CalibrationFieldMask;
00135 
00136 
00137     static const OSG::BitVector MTInfluenceMask;
00138 
00139     /*---------------------------------------------------------------------*/
00143     static        FieldContainerType &getClassType    (void); 
00144     static        UInt32              getClassTypeId  (void); 
00145 
00147     /*---------------------------------------------------------------------*/
00151     virtual       FieldContainerType &getType  (void); 
00152     virtual const FieldContainerType &getType  (void) const; 
00153 
00154     virtual       UInt32              getContainerSize(void) const;
00155 
00157     /*---------------------------------------------------------------------*/
00161            MFString            *getMFServers        (void);
00162            SFString            *getSFConnectionType (void);
00163            SFString            *getSFConnectionInterface(void);
00164            SFString            *getSFConnectionDestination(void);
00165            SFString            *getSFConnectionParams(void);
00166            SFUInt32            *getSFServicePort    (void);
00167            SFString            *getSFServiceAddress (void);
00168            SFWindowPtr         *getSFClientWindow   (void);
00169            SFUInt32            *getSFInterleave     (void);
00170            SFUInt32            *getSFFrameCount     (void);
00171            SFImageComposerPtr  *getSFComposer       (void);
00172            MFString            *getMFAutostart      (void);
00173            MFDisplayCalibrationPtr *getMFCalibration    (void);
00174 
00175            std::string         &getConnectionType (void);
00176      const std::string         &getConnectionType (void) const;
00177            std::string         &getConnectionInterface(void);
00178      const std::string         &getConnectionInterface(void) const;
00179            std::string         &getConnectionDestination(void);
00180      const std::string         &getConnectionDestination(void) const;
00181            std::string         &getConnectionParams(void);
00182      const std::string         &getConnectionParams(void) const;
00183            UInt32              &getServicePort    (void);
00184      const UInt32              &getServicePort    (void) const;
00185            std::string         &getServiceAddress (void);
00186      const std::string         &getServiceAddress (void) const;
00187            WindowPtr           &getClientWindow   (void);
00188      const WindowPtr           &getClientWindow   (void) const;
00189            UInt32              &getInterleave     (void);
00190      const UInt32              &getInterleave     (void) const;
00191            UInt32              &getFrameCount     (void);
00192      const UInt32              &getFrameCount     (void) const;
00193            ImageComposerPtr    &getComposer       (void);
00194      const ImageComposerPtr    &getComposer       (void) const;
00195            std::string         &getServers        (const UInt32 index);
00196            MFString            &getServers        (void);
00197      const MFString            &getServers        (void) const;
00198            std::string         &getAutostart      (const UInt32 index);
00199            MFString            &getAutostart      (void);
00200      const MFString            &getAutostart      (void) const;
00201            DisplayCalibrationPtr &getCalibration    (const UInt32 index);
00202            MFDisplayCalibrationPtr &getCalibration    (void);
00203      const MFDisplayCalibrationPtr &getCalibration    (void) const;
00204 
00206     /*---------------------------------------------------------------------*/
00210      void setConnectionType ( const std::string &value );
00211      void setConnectionInterface( const std::string &value );
00212      void setConnectionDestination( const std::string &value );
00213      void setConnectionParams( const std::string &value );
00214      void setServicePort    ( const UInt32 &value );
00215      void setServiceAddress ( const std::string &value );
00216      void setClientWindow   ( const WindowPtr &value );
00217      void setInterleave     ( const UInt32 &value );
00218      void setFrameCount     ( const UInt32 &value );
00219      void setComposer       ( const ImageComposerPtr &value );
00220 
00222     /*---------------------------------------------------------------------*/
00227     /*---------------------------------------------------------------------*/
00231     virtual UInt32 getBinSize (const BitVector         &whichField);
00232     virtual void   copyToBin  (      BinaryDataHandler &pMem,
00233                                const BitVector         &whichField);
00234     virtual void   copyFromBin(      BinaryDataHandler &pMem,
00235                                const BitVector         &whichField);
00236 
00237 
00239     /*---------------------------------------------------------------------*/
00243     static  ClusterWindowPtr      create          (void); 
00244     static  ClusterWindowPtr      createEmpty     (void); 
00245 
00248     /*---------------------------------------------------------------------*/
00252     virtual FieldContainerPtr     shallowCopy     (void) const; 
00253 
00255     /*=========================  PROTECTED  ===============================*/
00256   protected:
00257 
00258     /*---------------------------------------------------------------------*/
00262     MFString            _mfServers;
00263     SFString            _sfConnectionType;
00264     SFString            _sfConnectionInterface;
00265     SFString            _sfConnectionDestination;
00266     SFString            _sfConnectionParams;
00267     SFUInt32            _sfServicePort;
00268     SFString            _sfServiceAddress;
00269     SFWindowPtr         _sfClientWindow;
00270     SFUInt32            _sfInterleave;
00271     SFUInt32            _sfFrameCount;
00272     SFImageComposerPtr   _sfComposer;
00273     MFString            _mfAutostart;
00274     MFDisplayCalibrationPtr   _mfCalibration;
00275 
00277     /*---------------------------------------------------------------------*/
00281     ClusterWindowBase(void);
00282     ClusterWindowBase(const ClusterWindowBase &source);
00283 
00285     /*---------------------------------------------------------------------*/
00289     virtual ~ClusterWindowBase(void); 
00290 
00292     /*---------------------------------------------------------------------*/
00296 #if !defined(OSG_FIXED_MFIELDSYNC)
00297     void executeSyncImpl(      ClusterWindowBase *pOther,
00298                          const BitVector         &whichField);
00299 
00300     virtual void   executeSync(      FieldContainer    &other,
00301                                const BitVector         &whichField);
00302 #else
00303     void executeSyncImpl(      ClusterWindowBase *pOther,
00304                          const BitVector         &whichField,
00305                          const SyncInfo          &sInfo     );
00306 
00307     virtual void   executeSync(      FieldContainer    &other,
00308                                const BitVector         &whichField,
00309                                const SyncInfo          &sInfo);
00310 
00311     virtual void execBeginEdit     (const BitVector &whichField,
00312                                           UInt32     uiAspect,
00313                                           UInt32     uiContainerSize);
00314 
00315             void execBeginEditImpl (const BitVector &whichField,
00316                                           UInt32     uiAspect,
00317                                           UInt32     uiContainerSize);
00318 
00319     virtual void onDestroyAspect(UInt32 uiId, UInt32 uiAspect);
00320 #endif
00321 
00323     /*==========================  PRIVATE  ================================*/
00324   private:
00325 
00326     friend class FieldContainer;
00327 
00328     static FieldDescription   *_desc[];
00329     static FieldContainerType  _type;
00330 
00331 
00332     // prohibit default functions (move to 'public' if you need one)
00333     void operator =(const ClusterWindowBase &source);
00334 };
00335 
00336 //---------------------------------------------------------------------------
00337 //   Exported Types
00338 //---------------------------------------------------------------------------
00339 
00340 
00341 typedef ClusterWindowBase *ClusterWindowBaseP;
00342 
00343 typedef osgIF<ClusterWindowBase::isNodeCore,
00344               CoredNodePtr<ClusterWindow>,
00345               FieldContainer::attempt_to_create_CoredNodePtr_on_non_NodeCore_FC
00346               >::_IRet ClusterWindowNodePtr;
00347 
00348 typedef RefPtr<ClusterWindowPtr> ClusterWindowRefPtr;
00349 
00350 OSG_END_NAMESPACE
00351 
00352 #define OSGCLUSTERWINDOWBASE_HEADER_CVSID "@(#)$Id: FCBaseTemplate_h.h,v 1.38 2005/07/08 06:37:35 vossg Exp $"
00353 
00354 #endif /* _OSGCLUSTERWINDOWBASE_H_ */

Generated on Thu Aug 25 04:02:01 2005 for OpenSG by  doxygen 1.4.3