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_COMPILEDRAWABLEINST
00055
00056 #include <stdlib.h>
00057 #include <stdio.h>
00058
00059 #include <OSGConfig.h>
00060
00061 #include "OSGDrawableBase.h"
00062 #include "OSGDrawable.h"
00063
00064
00065 OSG_USING_NAMESPACE
00066
00067 const OSG::BitVector DrawableBase::MTInfluenceMask =
00068 (Inherited::MTInfluenceMask) |
00069 (static_cast<BitVector>(0x0) << Inherited::NextFieldId);
00070
00071
00072
00073 FieldContainerType DrawableBase::_type(
00074 "Drawable",
00075 "NodeCore",
00076 NULL,
00077 NULL,
00078 Drawable::initMethod,
00079 NULL,
00080 0);
00081
00082
00083
00084
00085
00086 FieldContainerType &DrawableBase::getType(void)
00087 {
00088 return _type;
00089 }
00090
00091 const FieldContainerType &DrawableBase::getType(void) const
00092 {
00093 return _type;
00094 }
00095
00096
00097 UInt32 DrawableBase::getContainerSize(void) const
00098 {
00099 return sizeof(Drawable);
00100 }
00101
00102
00103 #if !defined(OSG_FIXED_MFIELDSYNC)
00104 void DrawableBase::executeSync( FieldContainer &other,
00105 const BitVector &whichField)
00106 {
00107 this->executeSyncImpl((DrawableBase *) &other, whichField);
00108 }
00109 #else
00110 void DrawableBase::executeSync( FieldContainer &other,
00111 const BitVector &whichField, const SyncInfo &sInfo )
00112 {
00113 this->executeSyncImpl((DrawableBase *) &other, whichField, sInfo);
00114 }
00115 void DrawableBase::execBeginEdit(const BitVector &whichField,
00116 UInt32 uiAspect,
00117 UInt32 uiContainerSize)
00118 {
00119 this->execBeginEditImpl(whichField, uiAspect, uiContainerSize);
00120 }
00121
00122 void DrawableBase::onDestroyAspect(UInt32 uiId, UInt32 uiAspect)
00123 {
00124 Inherited::onDestroyAspect(uiId, uiAspect);
00125
00126 }
00127 #endif
00128
00129
00130
00131 #ifdef OSG_WIN32_ICL
00132 #pragma warning (disable : 383)
00133 #endif
00134
00135 DrawableBase::DrawableBase(void) :
00136 Inherited()
00137 {
00138 }
00139
00140 #ifdef OSG_WIN32_ICL
00141 #pragma warning (default : 383)
00142 #endif
00143
00144 DrawableBase::DrawableBase(const DrawableBase &source) :
00145 Inherited (source)
00146 {
00147 }
00148
00149
00150
00151 DrawableBase::~DrawableBase(void)
00152 {
00153 }
00154
00155
00156
00157 UInt32 DrawableBase::getBinSize(const BitVector &whichField)
00158 {
00159 UInt32 returnValue = Inherited::getBinSize(whichField);
00160
00161
00162 return returnValue;
00163 }
00164
00165 void DrawableBase::copyToBin( BinaryDataHandler &pMem,
00166 const BitVector &whichField)
00167 {
00168 Inherited::copyToBin(pMem, whichField);
00169
00170
00171 }
00172
00173 void DrawableBase::copyFromBin( BinaryDataHandler &pMem,
00174 const BitVector &whichField)
00175 {
00176 Inherited::copyFromBin(pMem, whichField);
00177
00178
00179 }
00180
00181 #if !defined(OSG_FIXED_MFIELDSYNC)
00182 void DrawableBase::executeSyncImpl( DrawableBase *pOther,
00183 const BitVector &whichField)
00184 {
00185
00186 Inherited::executeSyncImpl(pOther, whichField);
00187
00188
00189 }
00190 #else
00191 void DrawableBase::executeSyncImpl( DrawableBase *pOther,
00192 const BitVector &whichField,
00193 const SyncInfo &sInfo )
00194 {
00195
00196 Inherited::executeSyncImpl(pOther, whichField, sInfo);
00197
00198
00199
00200 }
00201
00202 void DrawableBase::execBeginEditImpl (const BitVector &whichField,
00203 UInt32 uiAspect,
00204 UInt32 uiContainerSize)
00205 {
00206 Inherited::execBeginEditImpl(whichField, uiAspect, uiContainerSize);
00207
00208 }
00209 #endif
00210
00211
00212
00213 #include <OSGSFieldTypeDef.inl>
00214 #include <OSGMFieldTypeDef.inl>
00215
00216 OSG_BEGIN_NAMESPACE
00217
00218 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_DEV)
00219 DataType FieldDataTraits<DrawablePtr>::_type("DrawablePtr", "NodeCorePtr");
00220 #endif
00221
00222 OSG_DLLEXPORT_SFIELD_DEF1(DrawablePtr, OSG_SYSTEMLIB_DLLTMPLMAPPING);
00223 OSG_DLLEXPORT_MFIELD_DEF1(DrawablePtr, OSG_SYSTEMLIB_DLLTMPLMAPPING);
00224
00225 OSG_END_NAMESPACE
00226
00227
00228
00229
00230
00231 #ifdef OSG_SGI_CC
00232 #pragma set woff 1174
00233 #endif
00234
00235 #ifdef OSG_LINUX_ICC
00236 #pragma warning( disable : 177 )
00237 #endif
00238
00239 namespace
00240 {
00241 static Char8 cvsid_cpp [] = "@(#)$Id: OSGDrawableBase.cpp,v 1.8 2005/07/20 00:09:26 vossg Exp $";
00242 static Char8 cvsid_hpp [] = OSGDRAWABLEBASE_HEADER_CVSID;
00243 static Char8 cvsid_inl [] = OSGDRAWABLEBASE_INLINE_CVSID;
00244
00245 static Char8 cvsid_fields_hpp[] = OSGDRAWABLEFIELDS_HEADER_CVSID;
00246 }
00247