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

OSGDisplayCalibrationBase.cpp

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 DisplayCalibration!
00049  **                                                                         **
00050  *****************************************************************************
00051 \*****************************************************************************/
00052 
00053 
00054 #define OSG_COMPILEDISPLAYCALIBRATIONINST
00055 
00056 #include <stdlib.h>
00057 #include <stdio.h>
00058 
00059 #include <OSGConfig.h>
00060 
00061 #include "OSGDisplayCalibrationBase.h"
00062 #include "OSGDisplayCalibration.h"
00063 
00064 
00065 OSG_USING_NAMESPACE
00066 
00067 const OSG::BitVector  DisplayCalibrationBase::EnabledFieldMask = 
00068     (TypeTraits<BitVector>::One << DisplayCalibrationBase::EnabledFieldId);
00069 
00070 const OSG::BitVector  DisplayCalibrationBase::ServerFieldMask = 
00071     (TypeTraits<BitVector>::One << DisplayCalibrationBase::ServerFieldId);
00072 
00073 const OSG::BitVector  DisplayCalibrationBase::ColorMatrixFieldMask = 
00074     (TypeTraits<BitVector>::One << DisplayCalibrationBase::ColorMatrixFieldId);
00075 
00076 const OSG::BitVector  DisplayCalibrationBase::GammaFieldMask = 
00077     (TypeTraits<BitVector>::One << DisplayCalibrationBase::GammaFieldId);
00078 
00079 const OSG::BitVector  DisplayCalibrationBase::GammaRampFieldMask = 
00080     (TypeTraits<BitVector>::One << DisplayCalibrationBase::GammaRampFieldId);
00081 
00082 const OSG::BitVector  DisplayCalibrationBase::GridWidthFieldMask = 
00083     (TypeTraits<BitVector>::One << DisplayCalibrationBase::GridWidthFieldId);
00084 
00085 const OSG::BitVector  DisplayCalibrationBase::GridHeightFieldMask = 
00086     (TypeTraits<BitVector>::One << DisplayCalibrationBase::GridHeightFieldId);
00087 
00088 const OSG::BitVector  DisplayCalibrationBase::GridFieldMask = 
00089     (TypeTraits<BitVector>::One << DisplayCalibrationBase::GridFieldId);
00090 
00091 const OSG::BitVector  DisplayCalibrationBase::ScaleDownFieldMask = 
00092     (TypeTraits<BitVector>::One << DisplayCalibrationBase::ScaleDownFieldId);
00093 
00094 const OSG::BitVector DisplayCalibrationBase::MTInfluenceMask = 
00095     (Inherited::MTInfluenceMask) | 
00096     (static_cast<BitVector>(0x0) << Inherited::NextFieldId); 
00097 
00098 
00099 // Field descriptions
00100 
00129 
00130 
00131 FieldDescription *DisplayCalibrationBase::_desc[] = 
00132 {
00133     new FieldDescription(SFBool::getClassType(), 
00134                      "enabled", 
00135                      EnabledFieldId, EnabledFieldMask,
00136                      false,
00137                      (FieldAccessMethod) &DisplayCalibrationBase::getSFEnabled),
00138     new FieldDescription(SFString::getClassType(), 
00139                      "server", 
00140                      ServerFieldId, ServerFieldMask,
00141                      false,
00142                      (FieldAccessMethod) &DisplayCalibrationBase::getSFServer),
00143     new FieldDescription(SFMatrix::getClassType(), 
00144                      "colorMatrix", 
00145                      ColorMatrixFieldId, ColorMatrixFieldMask,
00146                      false,
00147                      (FieldAccessMethod) &DisplayCalibrationBase::getSFColorMatrix),
00148     new FieldDescription(SFReal32::getClassType(), 
00149                      "gamma", 
00150                      GammaFieldId, GammaFieldMask,
00151                      false,
00152                      (FieldAccessMethod) &DisplayCalibrationBase::getSFGamma),
00153     new FieldDescription(MFColor3f::getClassType(), 
00154                      "gammaRamp", 
00155                      GammaRampFieldId, GammaRampFieldMask,
00156                      false,
00157                      (FieldAccessMethod) &DisplayCalibrationBase::getMFGammaRamp),
00158     new FieldDescription(SFUInt32::getClassType(), 
00159                      "gridWidth", 
00160                      GridWidthFieldId, GridWidthFieldMask,
00161                      false,
00162                      (FieldAccessMethod) &DisplayCalibrationBase::getSFGridWidth),
00163     new FieldDescription(SFUInt32::getClassType(), 
00164                      "gridHeight", 
00165                      GridHeightFieldId, GridHeightFieldMask,
00166                      false,
00167                      (FieldAccessMethod) &DisplayCalibrationBase::getSFGridHeight),
00168     new FieldDescription(MFVec2f::getClassType(), 
00169                      "grid", 
00170                      GridFieldId, GridFieldMask,
00171                      false,
00172                      (FieldAccessMethod) &DisplayCalibrationBase::getMFGrid),
00173     new FieldDescription(SFReal32::getClassType(), 
00174                      "scaleDown", 
00175                      ScaleDownFieldId, ScaleDownFieldMask,
00176                      false,
00177                      (FieldAccessMethod) &DisplayCalibrationBase::getSFScaleDown)
00178 };
00179 
00180 
00181 FieldContainerType DisplayCalibrationBase::_type(
00182     "DisplayCalibration",
00183     "AttachmentContainer",
00184     NULL,
00185     (PrototypeCreateF) &DisplayCalibrationBase::createEmpty,
00186     DisplayCalibration::initMethod,
00187     _desc,
00188     sizeof(_desc));
00189 
00190 //OSG_FIELD_CONTAINER_DEF(DisplayCalibrationBase, DisplayCalibrationPtr)
00191 
00192 /*------------------------------ get -----------------------------------*/
00193 
00194 FieldContainerType &DisplayCalibrationBase::getType(void) 
00195 {
00196     return _type; 
00197 } 
00198 
00199 const FieldContainerType &DisplayCalibrationBase::getType(void) const 
00200 {
00201     return _type;
00202 } 
00203 
00204 
00205 FieldContainerPtr DisplayCalibrationBase::shallowCopy(void) const 
00206 { 
00207     DisplayCalibrationPtr returnValue; 
00208 
00209     newPtr(returnValue, dynamic_cast<const DisplayCalibration *>(this)); 
00210 
00211     return returnValue; 
00212 }
00213 
00214 UInt32 DisplayCalibrationBase::getContainerSize(void) const 
00215 { 
00216     return sizeof(DisplayCalibration); 
00217 }
00218 
00219 
00220 #if !defined(OSG_FIXED_MFIELDSYNC)
00221 void DisplayCalibrationBase::executeSync(      FieldContainer &other,
00222                                     const BitVector      &whichField)
00223 {
00224     this->executeSyncImpl((DisplayCalibrationBase *) &other, whichField);
00225 }
00226 #else
00227 void DisplayCalibrationBase::executeSync(      FieldContainer &other,
00228                                     const BitVector      &whichField,                                    const SyncInfo       &sInfo     )
00229 {
00230     this->executeSyncImpl((DisplayCalibrationBase *) &other, whichField, sInfo);
00231 }
00232 void DisplayCalibrationBase::execBeginEdit(const BitVector &whichField, 
00233                                             UInt32     uiAspect,
00234                                             UInt32     uiContainerSize) 
00235 {
00236     this->execBeginEditImpl(whichField, uiAspect, uiContainerSize);
00237 }
00238 
00239 void DisplayCalibrationBase::onDestroyAspect(UInt32 uiId, UInt32 uiAspect)
00240 {
00241     Inherited::onDestroyAspect(uiId, uiAspect);
00242 
00243     _mfGammaRamp.terminateShare(uiAspect, this->getContainerSize());
00244     _mfGrid.terminateShare(uiAspect, this->getContainerSize());
00245 }
00246 #endif
00247 
00248 /*------------------------- constructors ----------------------------------*/
00249 
00250 #ifdef OSG_WIN32_ICL
00251 #pragma warning (disable : 383)
00252 #endif
00253 
00254 DisplayCalibrationBase::DisplayCalibrationBase(void) :
00255     _sfEnabled                (bool(true)), 
00256     _sfServer                 (), 
00257     _sfColorMatrix            (), 
00258     _sfGamma                  (Real32(1)), 
00259     _mfGammaRamp              (), 
00260     _sfGridWidth              (UInt32(0)), 
00261     _sfGridHeight             (UInt32(0)), 
00262     _mfGrid                   (), 
00263     _sfScaleDown              (Real32(1.0)), 
00264     Inherited() 
00265 {
00266 }
00267 
00268 #ifdef OSG_WIN32_ICL
00269 #pragma warning (default : 383)
00270 #endif
00271 
00272 DisplayCalibrationBase::DisplayCalibrationBase(const DisplayCalibrationBase &source) :
00273     _sfEnabled                (source._sfEnabled                ), 
00274     _sfServer                 (source._sfServer                 ), 
00275     _sfColorMatrix            (source._sfColorMatrix            ), 
00276     _sfGamma                  (source._sfGamma                  ), 
00277     _mfGammaRamp              (source._mfGammaRamp              ), 
00278     _sfGridWidth              (source._sfGridWidth              ), 
00279     _sfGridHeight             (source._sfGridHeight             ), 
00280     _mfGrid                   (source._mfGrid                   ), 
00281     _sfScaleDown              (source._sfScaleDown              ), 
00282     Inherited                 (source)
00283 {
00284 }
00285 
00286 /*-------------------------- destructors ----------------------------------*/
00287 
00288 DisplayCalibrationBase::~DisplayCalibrationBase(void)
00289 {
00290 }
00291 
00292 /*------------------------------ access -----------------------------------*/
00293 
00294 UInt32 DisplayCalibrationBase::getBinSize(const BitVector &whichField)
00295 {
00296     UInt32 returnValue = Inherited::getBinSize(whichField);
00297 
00298     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00299     {
00300         returnValue += _sfEnabled.getBinSize();
00301     }
00302 
00303     if(FieldBits::NoField != (ServerFieldMask & whichField))
00304     {
00305         returnValue += _sfServer.getBinSize();
00306     }
00307 
00308     if(FieldBits::NoField != (ColorMatrixFieldMask & whichField))
00309     {
00310         returnValue += _sfColorMatrix.getBinSize();
00311     }
00312 
00313     if(FieldBits::NoField != (GammaFieldMask & whichField))
00314     {
00315         returnValue += _sfGamma.getBinSize();
00316     }
00317 
00318     if(FieldBits::NoField != (GammaRampFieldMask & whichField))
00319     {
00320         returnValue += _mfGammaRamp.getBinSize();
00321     }
00322 
00323     if(FieldBits::NoField != (GridWidthFieldMask & whichField))
00324     {
00325         returnValue += _sfGridWidth.getBinSize();
00326     }
00327 
00328     if(FieldBits::NoField != (GridHeightFieldMask & whichField))
00329     {
00330         returnValue += _sfGridHeight.getBinSize();
00331     }
00332 
00333     if(FieldBits::NoField != (GridFieldMask & whichField))
00334     {
00335         returnValue += _mfGrid.getBinSize();
00336     }
00337 
00338     if(FieldBits::NoField != (ScaleDownFieldMask & whichField))
00339     {
00340         returnValue += _sfScaleDown.getBinSize();
00341     }
00342 
00343 
00344     return returnValue;
00345 }
00346 
00347 void DisplayCalibrationBase::copyToBin(      BinaryDataHandler &pMem,
00348                                   const BitVector         &whichField)
00349 {
00350     Inherited::copyToBin(pMem, whichField);
00351 
00352     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00353     {
00354         _sfEnabled.copyToBin(pMem);
00355     }
00356 
00357     if(FieldBits::NoField != (ServerFieldMask & whichField))
00358     {
00359         _sfServer.copyToBin(pMem);
00360     }
00361 
00362     if(FieldBits::NoField != (ColorMatrixFieldMask & whichField))
00363     {
00364         _sfColorMatrix.copyToBin(pMem);
00365     }
00366 
00367     if(FieldBits::NoField != (GammaFieldMask & whichField))
00368     {
00369         _sfGamma.copyToBin(pMem);
00370     }
00371 
00372     if(FieldBits::NoField != (GammaRampFieldMask & whichField))
00373     {
00374         _mfGammaRamp.copyToBin(pMem);
00375     }
00376 
00377     if(FieldBits::NoField != (GridWidthFieldMask & whichField))
00378     {
00379         _sfGridWidth.copyToBin(pMem);
00380     }
00381 
00382     if(FieldBits::NoField != (GridHeightFieldMask & whichField))
00383     {
00384         _sfGridHeight.copyToBin(pMem);
00385     }
00386 
00387     if(FieldBits::NoField != (GridFieldMask & whichField))
00388     {
00389         _mfGrid.copyToBin(pMem);
00390     }
00391 
00392     if(FieldBits::NoField != (ScaleDownFieldMask & whichField))
00393     {
00394         _sfScaleDown.copyToBin(pMem);
00395     }
00396 
00397 
00398 }
00399 
00400 void DisplayCalibrationBase::copyFromBin(      BinaryDataHandler &pMem,
00401                                     const BitVector    &whichField)
00402 {
00403     Inherited::copyFromBin(pMem, whichField);
00404 
00405     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00406     {
00407         _sfEnabled.copyFromBin(pMem);
00408     }
00409 
00410     if(FieldBits::NoField != (ServerFieldMask & whichField))
00411     {
00412         _sfServer.copyFromBin(pMem);
00413     }
00414 
00415     if(FieldBits::NoField != (ColorMatrixFieldMask & whichField))
00416     {
00417         _sfColorMatrix.copyFromBin(pMem);
00418     }
00419 
00420     if(FieldBits::NoField != (GammaFieldMask & whichField))
00421     {
00422         _sfGamma.copyFromBin(pMem);
00423     }
00424 
00425     if(FieldBits::NoField != (GammaRampFieldMask & whichField))
00426     {
00427         _mfGammaRamp.copyFromBin(pMem);
00428     }
00429 
00430     if(FieldBits::NoField != (GridWidthFieldMask & whichField))
00431     {
00432         _sfGridWidth.copyFromBin(pMem);
00433     }
00434 
00435     if(FieldBits::NoField != (GridHeightFieldMask & whichField))
00436     {
00437         _sfGridHeight.copyFromBin(pMem);
00438     }
00439 
00440     if(FieldBits::NoField != (GridFieldMask & whichField))
00441     {
00442         _mfGrid.copyFromBin(pMem);
00443     }
00444 
00445     if(FieldBits::NoField != (ScaleDownFieldMask & whichField))
00446     {
00447         _sfScaleDown.copyFromBin(pMem);
00448     }
00449 
00450 
00451 }
00452 
00453 #if !defined(OSG_FIXED_MFIELDSYNC)
00454 void DisplayCalibrationBase::executeSyncImpl(      DisplayCalibrationBase *pOther,
00455                                         const BitVector         &whichField)
00456 {
00457 
00458     Inherited::executeSyncImpl(pOther, whichField);
00459 
00460     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00461         _sfEnabled.syncWith(pOther->_sfEnabled);
00462 
00463     if(FieldBits::NoField != (ServerFieldMask & whichField))
00464         _sfServer.syncWith(pOther->_sfServer);
00465 
00466     if(FieldBits::NoField != (ColorMatrixFieldMask & whichField))
00467         _sfColorMatrix.syncWith(pOther->_sfColorMatrix);
00468 
00469     if(FieldBits::NoField != (GammaFieldMask & whichField))
00470         _sfGamma.syncWith(pOther->_sfGamma);
00471 
00472     if(FieldBits::NoField != (GammaRampFieldMask & whichField))
00473         _mfGammaRamp.syncWith(pOther->_mfGammaRamp);
00474 
00475     if(FieldBits::NoField != (GridWidthFieldMask & whichField))
00476         _sfGridWidth.syncWith(pOther->_sfGridWidth);
00477 
00478     if(FieldBits::NoField != (GridHeightFieldMask & whichField))
00479         _sfGridHeight.syncWith(pOther->_sfGridHeight);
00480 
00481     if(FieldBits::NoField != (GridFieldMask & whichField))
00482         _mfGrid.syncWith(pOther->_mfGrid);
00483 
00484     if(FieldBits::NoField != (ScaleDownFieldMask & whichField))
00485         _sfScaleDown.syncWith(pOther->_sfScaleDown);
00486 
00487 
00488 }
00489 #else
00490 void DisplayCalibrationBase::executeSyncImpl(      DisplayCalibrationBase *pOther,
00491                                         const BitVector         &whichField,
00492                                         const SyncInfo          &sInfo      )
00493 {
00494 
00495     Inherited::executeSyncImpl(pOther, whichField, sInfo);
00496 
00497     if(FieldBits::NoField != (EnabledFieldMask & whichField))
00498         _sfEnabled.syncWith(pOther->_sfEnabled);
00499 
00500     if(FieldBits::NoField != (ServerFieldMask & whichField))
00501         _sfServer.syncWith(pOther->_sfServer);
00502 
00503     if(FieldBits::NoField != (ColorMatrixFieldMask & whichField))
00504         _sfColorMatrix.syncWith(pOther->_sfColorMatrix);
00505 
00506     if(FieldBits::NoField != (GammaFieldMask & whichField))
00507         _sfGamma.syncWith(pOther->_sfGamma);
00508 
00509     if(FieldBits::NoField != (GridWidthFieldMask & whichField))
00510         _sfGridWidth.syncWith(pOther->_sfGridWidth);
00511 
00512     if(FieldBits::NoField != (GridHeightFieldMask & whichField))
00513         _sfGridHeight.syncWith(pOther->_sfGridHeight);
00514 
00515     if(FieldBits::NoField != (ScaleDownFieldMask & whichField))
00516         _sfScaleDown.syncWith(pOther->_sfScaleDown);
00517 
00518 
00519     if(FieldBits::NoField != (GammaRampFieldMask & whichField))
00520         _mfGammaRamp.syncWith(pOther->_mfGammaRamp, sInfo);
00521 
00522     if(FieldBits::NoField != (GridFieldMask & whichField))
00523         _mfGrid.syncWith(pOther->_mfGrid, sInfo);
00524 
00525 
00526 }
00527 
00528 void DisplayCalibrationBase::execBeginEditImpl (const BitVector &whichField, 
00529                                                  UInt32     uiAspect,
00530                                                  UInt32     uiContainerSize)
00531 {
00532     Inherited::execBeginEditImpl(whichField, uiAspect, uiContainerSize);
00533 
00534     if(FieldBits::NoField != (GammaRampFieldMask & whichField))
00535         _mfGammaRamp.beginEdit(uiAspect, uiContainerSize);
00536 
00537     if(FieldBits::NoField != (GridFieldMask & whichField))
00538         _mfGrid.beginEdit(uiAspect, uiContainerSize);
00539 
00540 }
00541 #endif
00542 
00543 
00544 
00545 #include <OSGSFieldTypeDef.inl>
00546 #include <OSGMFieldTypeDef.inl>
00547 
00548 OSG_BEGIN_NAMESPACE
00549 
00550 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_DEV)
00551 DataType FieldDataTraits<DisplayCalibrationPtr>::_type("DisplayCalibrationPtr", "AttachmentContainerPtr");
00552 #endif
00553 
00554 OSG_DLLEXPORT_SFIELD_DEF1(DisplayCalibrationPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING);
00555 OSG_DLLEXPORT_MFIELD_DEF1(DisplayCalibrationPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING);
00556 
00557 OSG_END_NAMESPACE
00558 
00559 
00560 /*------------------------------------------------------------------------*/
00561 /*                              cvs id's                                  */
00562 
00563 #ifdef OSG_SGI_CC
00564 #pragma set woff 1174
00565 #endif
00566 
00567 #ifdef OSG_LINUX_ICC
00568 #pragma warning( disable : 177 )
00569 #endif
00570 
00571 namespace
00572 {
00573     static Char8 cvsid_cpp       [] = "@(#)$Id: FCBaseTemplate_cpp.h,v 1.42 2004/08/03 05:53:03 dirk Exp $";
00574     static Char8 cvsid_hpp       [] = OSGDISPLAYCALIBRATIONBASE_HEADER_CVSID;
00575     static Char8 cvsid_inl       [] = OSGDISPLAYCALIBRATIONBASE_INLINE_CVSID;
00576 
00577     static Char8 cvsid_fields_hpp[] = OSGDISPLAYCALIBRATIONFIELDS_HEADER_CVSID;
00578 }
00579 

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