OSGAlgorithmBase.cpp

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------*\
00002  *                                OpenSG                                     *
00003  *                                                                           *
00004  *                                                                           *
00005  *               Copyright (C) 2000-2006 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 Algorithm!
00049  **                                                                         **
00050  *****************************************************************************
00051 \*****************************************************************************/
00052
00053 #include <cstdlib>
00054 #include <cstdio>
00055 #include <boost/assign/list_of.hpp>
00056
00057 #include "OSGConfig.h"
00058
00059
00060
00061
00062 #include "OSGAlgorithmBase.h"
00063 #include "OSGAlgorithm.h"
00064
00065 #include <boost/bind.hpp>
00066
00067 #ifdef WIN32 // turn off 'this' : used in base member initializer list warning
00068 #pragma warning(disable:4355)
00069 #endif
00070 
00071 OSG_BEGIN_NAMESPACE
00072
00073 /***************************************************************************\
00074  *                            Description                                  *
00075 \***************************************************************************/
00076
00081 /***************************************************************************\
00082  *                        Field Documentation                              *
00083 \***************************************************************************/
00084
00085
00086 /***************************************************************************\
00087  *                      FieldType/FieldTrait Instantiation                 *
00088 \***************************************************************************/
00089
00090 #if !defined(OSG_DO_DOC) || defined(OSG_DOC_DEV)
00091 DataType FieldTraits<Algorithm *>::_type("AlgorithmPtr", "AttachmentContainerPtr");
00092 #endif
00093 
00094 OSG_FIELDTRAITS_GETTYPE(Algorithm *)
00095
00096 OSG_EXPORT_PTR_SFIELD_FULL(PointerSField,
00097                            Algorithm *,
00098                            0);
00099
00100 OSG_EXPORT_PTR_MFIELD_FULL(PointerMField,
00101                            Algorithm *,
00102                            0);
00103
00104 /***************************************************************************\
00105  *                         Field Description                               *
00106 \***************************************************************************/
00107
00108 void AlgorithmBase::classDescInserter(TypeObject &oType)
00109 {
00110 }
00111
00112
00113 AlgorithmBase::TypeObject AlgorithmBase::_type(
00114     AlgorithmBase::getClassname(),
00115     Inherited::getClassname(),
00116     "NULL",
00117     0,
00118     NULL,
00119     Algorithm::initMethod,
00120     Algorithm::exitMethod,
00121     reinterpret_cast<InitalInsertDescFunc>(&Algorithm::classDescInserter),
00122     false,
00123     0,
00124     "<?xml version=\"1.0\"?>\n"
00125     "\n"
00126     "<FieldContainer\n"
00127     "\tname=\"Algorithm\"\n"
00128     "\tparent=\"AttachmentContainer\"\n"
00129     "\tlibrary=\"Group\"\n"
00130     "\tpointerfieldtypes=\"both\"\n"
00131     "\tstructure=\"abstract\"\n"
00132     "\tsystemcomponent=\"true\"\n"
00133     "\tparentsystemcomponent=\"true\"\n"
00134     "\tdecoratable=\"false\"\n"
00135     "\tuseLocalIncludes=\"false\"\n"
00136     "    isNodeCore=\"false\"\n"
00137     ">\n"
00138     "</FieldContainer>\n",
00139     ""
00140     );
00141
00142 /*------------------------------ get -----------------------------------*/
00143
00144 FieldContainerType &AlgorithmBase::getType(void)
00145 {
00146     return _type;
00147 }
00148
00149 const FieldContainerType &AlgorithmBase::getType(void) const
00150 {
00151     return _type;
00152 }
00153
00154 UInt32 AlgorithmBase::getContainerSize(void) const
00155 {
00156     return sizeof(Algorithm);
00157 }
00158
00159 /*------------------------- decorator get ------------------------------*/
00160
00161
00162
00163
00164
00165
00166 /*------------------------------ access -----------------------------------*/
00167
00168 UInt32 AlgorithmBase::getBinSize(ConstFieldMaskArg whichField)
00169 {
00170     UInt32 returnValue = Inherited::getBinSize(whichField);
00171
00172
00173     return returnValue;
00174 }
00175
00176 void AlgorithmBase::copyToBin(BinaryDataHandler &pMem,
00177                                   ConstFieldMaskArg  whichField)
00178 {
00179     Inherited::copyToBin(pMem, whichField);
00180
00181 }
00182
00183 void AlgorithmBase::copyFromBin(BinaryDataHandler &pMem,
00184                                     ConstFieldMaskArg  whichField)
00185 {
00186     Inherited::copyFromBin(pMem, whichField);
00187
00188 }
00189
00190
00191
00192
00193 /*------------------------- constructors ----------------------------------*/
00194
00195 AlgorithmBase::AlgorithmBase(void) :
00196     Inherited()
00197 {
00198 }
00199
00200 AlgorithmBase::AlgorithmBase(const AlgorithmBase &source) :
00201     Inherited(source)
00202 {
00203 }
00204
00205
00206 /*-------------------------- destructors ----------------------------------*/
00207
00208 AlgorithmBase::~AlgorithmBase(void)
00209 {
00210 }
00211
00212
00213
00214 #ifdef OSG_MT_CPTR_ASPECT
00215 void AlgorithmBase::execSyncV(      FieldContainer    &oFrom,
00216                                         ConstFieldMaskArg  whichField,
00217                                         AspectOffsetStore &oOffsets,
00218                                         ConstFieldMaskArg  syncMode,
00219                                   const UInt32             uiSyncInfo)
00220 {
00221     Algorithm *pThis = static_cast<Algorithm *>(this);
00222
00223     pThis->execSync(static_cast<Algorithm *>(&oFrom),
00224                     whichField,
00225                     oOffsets,
00226                     syncMode,
00227                     uiSyncInfo);
00228 }
00229 #endif
00230 
00231
00232
00233 void AlgorithmBase::resolveLinks(void)
00234 {
00235     Inherited::resolveLinks();
00236
00237
00238 }
00239
00240
00241 OSG_END_NAMESPACE