00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
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
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
00114
00115
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
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
00194
00195 DVRClipGeometryBase::~DVRClipGeometryBase(void)
00196 {
00197 }
00198
00199
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
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