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

OSGDVRClipGeometryBase.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 DVRClipGeometry!
00049  **                                                                         **
00050  *****************************************************************************
00051 \*****************************************************************************/
00052 
00053 
00054 #define OSG_COMPILEDVRCLIPGEOMETRYINST
00055 
00056 #include <stdlib.h>
00057 #include <stdio.h>
00058 
00059 #include <OSGConfig.h>
00060 
00061 #include "OSGDVRClipGeometryBase.h"
00062 #include "OSGDVRClipGeometry.h"
00063 
00064 
00065 OSG_USING_NAMESPACE
00066 
00067 const OSG::BitVector  DVRClipGeometryBase::GeometryNodeFieldMask = 
00068     (TypeTraits<BitVector>::One << DVRClipGeometryBase::GeometryNodeFieldId);
00069 
00070 const OSG::BitVector  DVRClipGeometryBase::BeaconFieldMask = 
00071     (TypeTraits<BitVector>::One << DVRClipGeometryBase::BeaconFieldId);
00072 
00073 const OSG::BitVector DVRClipGeometryBase::MTInfluenceMask = 
00074     (Inherited::MTInfluenceMask) | 
00075     (static_cast<BitVector>(0x0) << Inherited::NextFieldId); 
00076 
00077 
00078 // Field descriptions
00079 
00087 
00088 
00089 FieldDescription *DVRClipGeometryBase::_desc[] = 
00090 {
00091     new FieldDescription(SFNodePtr::getClassType(), 
00092                      "geometryNode", 
00093                      GeometryNodeFieldId, GeometryNodeFieldMask,
00094                      false,
00095                      (FieldAccessMethod) &DVRClipGeometryBase::getSFGeometryNode),
00096     new FieldDescription(SFNodePtr::getClassType(), 
00097                      "beacon", 
00098                      BeaconFieldId, BeaconFieldMask,
00099                      false,
00100                      (FieldAccessMethod) &DVRClipGeometryBase::getSFBeacon)
00101 };
00102 
00103 
00104 FieldContainerType DVRClipGeometryBase::_type(
00105     "DVRClipGeometry",
00106     "FieldContainer",
00107     NULL,
00108     (PrototypeCreateF) &DVRClipGeometryBase::createEmpty,
00109     DVRClipGeometry::initMethod,
00110     _desc,
00111     sizeof(_desc));
00112 
00113 //OSG_FIELD_CONTAINER_DEF(DVRClipGeometryBase, DVRClipGeometryPtr)
00114 
00115 /*------------------------------ get -----------------------------------*/
00116 
00117 FieldContainerType &DVRClipGeometryBase::getType(void) 
00118 {
00119     return _type; 
00120 } 
00121 
00122 const FieldContainerType &DVRClipGeometryBase::getType(void) const 
00123 {
00124     return _type;
00125 } 
00126 
00127 
00128 FieldContainerPtr DVRClipGeometryBase::shallowCopy(void) const 
00129 { 
00130     DVRClipGeometryPtr returnValue; 
00131 
00132     newPtr(returnValue, dynamic_cast<const DVRClipGeometry *>(this)); 
00133 
00134     return returnValue; 
00135 }
00136 
00137 UInt32 DVRClipGeometryBase::getContainerSize(void) const 
00138 { 
00139     return sizeof(DVRClipGeometry); 
00140 }
00141 
00142 
00143 #if !defined(OSG_FIXED_MFIELDSYNC)
00144 void DVRClipGeometryBase::executeSync(      FieldContainer &other,
00145                                     const BitVector      &whichField)
00146 {
00147     this->executeSyncImpl((DVRClipGeometryBase *) &other, whichField);
00148 }
00149 #else
00150 void DVRClipGeometryBase::executeSync(      FieldContainer &other,
00151                                     const BitVector      &whichField,                                    const SyncInfo       &sInfo     )
00152 {
00153     this->executeSyncImpl((DVRClipGeometryBase *) &other, whichField, sInfo);
00154 }
00155 void DVRClipGeometryBase::execBeginEdit(const BitVector &whichField, 
00156                                             UInt32     uiAspect,
00157                                             UInt32     uiContainerSize) 
00158 {
00159     this->execBeginEditImpl(whichField, uiAspect, uiContainerSize);
00160 }
00161 
00162 void DVRClipGeometryBase::onDestroyAspect(UInt32 uiId, UInt32 uiAspect)
00163 {
00164     Inherited::onDestroyAspect(uiId, uiAspect);
00165 
00166 }
00167 #endif
00168 
00169 /*------------------------- constructors ----------------------------------*/
00170 
00171 #ifdef OSG_WIN32_ICL
00172 #pragma warning (disable : 383)
00173 #endif
00174 
00175 DVRClipGeometryBase::DVRClipGeometryBase(void) :
00176     _sfGeometryNode           (NodePtr(NullFC)), 
00177     _sfBeacon                 (NodePtr(NullFC)), 
00178     Inherited() 
00179 {
00180 }
00181 
00182 #ifdef OSG_WIN32_ICL
00183 #pragma warning (default : 383)
00184 #endif
00185 
00186 DVRClipGeometryBase::DVRClipGeometryBase(const DVRClipGeometryBase &source) :
00187     _sfGeometryNode           (source._sfGeometryNode           ), 
00188     _sfBeacon                 (source._sfBeacon                 ), 
00189     Inherited                 (source)
00190 {
00191 }
00192 
00193 /*-------------------------- destructors ----------------------------------*/
00194 
00195 DVRClipGeometryBase::~DVRClipGeometryBase(void)
00196 {
00197 }
00198 
00199 /*------------------------------ access -----------------------------------*/
00200 
00201 UInt32 DVRClipGeometryBase::getBinSize(const BitVector &whichField)
00202 {
00203     UInt32 returnValue = Inherited::getBinSize(whichField);
00204 
00205     if(FieldBits::NoField != (GeometryNodeFieldMask & whichField))
00206     {
00207         returnValue += _sfGeometryNode.getBinSize();
00208     }
00209 
00210     if(FieldBits::NoField != (BeaconFieldMask & whichField))
00211     {
00212         returnValue += _sfBeacon.getBinSize();
00213     }
00214 
00215 
00216     return returnValue;
00217 }
00218 
00219 void DVRClipGeometryBase::copyToBin(      BinaryDataHandler &pMem,
00220                                   const BitVector         &whichField)
00221 {
00222     Inherited::copyToBin(pMem, whichField);
00223 
00224     if(FieldBits::NoField != (GeometryNodeFieldMask & whichField))
00225     {
00226         _sfGeometryNode.copyToBin(pMem);
00227     }
00228 
00229     if(FieldBits::NoField != (BeaconFieldMask & whichField))
00230     {
00231         _sfBeacon.copyToBin(pMem);
00232     }
00233 
00234 
00235 }
00236 
00237 void DVRClipGeometryBase::copyFromBin(      BinaryDataHandler &pMem,
00238                                     const BitVector    &whichField)
00239 {
00240     Inherited::copyFromBin(pMem, whichField);
00241 
00242     if(FieldBits::NoField != (GeometryNodeFieldMask & whichField))
00243     {
00244         _sfGeometryNode.copyFromBin(pMem);
00245     }
00246 
00247     if(FieldBits::NoField != (BeaconFieldMask & whichField))
00248     {
00249         _sfBeacon.copyFromBin(pMem);
00250     }
00251 
00252 
00253 }
00254 
00255 #if !defined(OSG_FIXED_MFIELDSYNC)
00256 void DVRClipGeometryBase::executeSyncImpl(      DVRClipGeometryBase *pOther,
00257                                         const BitVector         &whichField)
00258 {
00259 
00260     Inherited::executeSyncImpl(pOther, whichField);
00261 
00262     if(FieldBits::NoField != (GeometryNodeFieldMask & whichField))
00263         _sfGeometryNode.syncWith(pOther->_sfGeometryNode);
00264 
00265     if(FieldBits::NoField != (BeaconFieldMask & whichField))
00266         _sfBeacon.syncWith(pOther->_sfBeacon);
00267 
00268 
00269 }
00270 #else
00271 void DVRClipGeometryBase::executeSyncImpl(      DVRClipGeometryBase *pOther,
00272                                         const BitVector         &whichField,
00273                                         const SyncInfo          &sInfo      )
00274 {
00275 
00276     Inherited::executeSyncImpl(pOther, whichField, sInfo);
00277 
00278     if(FieldBits::NoField != (GeometryNodeFieldMask & whichField))
00279         _sfGeometryNode.syncWith(pOther->_sfGeometryNode);
00280 
00281     if(FieldBits::NoField != (BeaconFieldMask & whichField))
00282         _sfBeacon.syncWith(pOther->_sfBeacon);
00283 
00284 
00285 
00286 }
00287 
00288 void DVRClipGeometryBase::execBeginEditImpl (const BitVector &whichField, 
00289                                                  UInt32     uiAspect,
00290                                                  UInt32     uiContainerSize)
00291 {
00292     Inherited::execBeginEditImpl(whichField, uiAspect, uiContainerSize);
00293 
00294 }
00295 #endif
00296 
00297 
00298 
00299 #include <OSGSFieldTypeDef.inl>
00300 #include <OSGMFieldTypeDef.inl>
00301 
00302 OSG_BEGIN_NAMESPACE
00303 
00304 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_DEV)
00305 DataType FieldDataTraits<DVRClipGeometryPtr>::_type("DVRClipGeometryPtr", "FieldContainerPtr");
00306 #endif
00307 
00308 OSG_DLLEXPORT_SFIELD_DEF1(DVRClipGeometryPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING);
00309 OSG_DLLEXPORT_MFIELD_DEF1(DVRClipGeometryPtr, OSG_SYSTEMLIB_DLLTMPLMAPPING);
00310 
00311 OSG_END_NAMESPACE
00312 
00313 
00314 /*------------------------------------------------------------------------*/
00315 /*                              cvs id's                                  */
00316 
00317 #ifdef OSG_SGI_CC
00318 #pragma set woff 1174
00319 #endif
00320 
00321 #ifdef OSG_LINUX_ICC
00322 #pragma warning( disable : 177 )
00323 #endif
00324 
00325 namespace
00326 {
00327     static Char8 cvsid_cpp       [] = "@(#)$Id: FCBaseTemplate_cpp.h,v 1.42 2004/08/03 05:53:03 dirk Exp $";
00328     static Char8 cvsid_hpp       [] = OSGDVRCLIPGEOMETRYBASE_HEADER_CVSID;
00329     static Char8 cvsid_inl       [] = OSGDVRCLIPGEOMETRYBASE_INLINE_CVSID;
00330 
00331     static Char8 cvsid_fields_hpp[] = OSGDVRCLIPGEOMETRYFIELDS_HEADER_CVSID;
00332 }
00333 

Generated on Thu Aug 25 04:03:21 2005 for OpenSG by  doxygen 1.4.3