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

DC_BasicDataPool.cpp

00001 // 00002 // Copyright 2004 P&P Software GmbH - All Rights Reserved 00003 // 00004 // DC_BasicDataPool.cpp 00005 // 00006 // Version 1.0 00007 // Date 10.10.03 (Version 1.0) 00008 // Author A. Pasetti (P&P Software) 00009 // 00010 00011 #include "../GeneralInclude/CompilerSwitches.h" 00012 #include "../GeneralInclude/DebugSupport.h" 00013 #include "../GeneralInclude/BasicTypes.h" 00014 #include "../GeneralInclude/ClassId.h" 00015 #include "../GeneralInclude/Constants.h" 00016 #include "../Data/DC_BasicDataPool.h" 00017 00018 DC_BasicDataPool::DC_BasicDataPool(void) { 00019 setClassId(ID_BASICDATAPOOL); 00020 value=pNULL; 00021 size=0; 00022 } 00023 00024 void DC_BasicDataPool::setDataPoolSize(TD_DataPoolId size) { 00025 assert(value==pNULL && size>0); 00026 00027 this->size=size; 00028 value=(unsigned char*)(new double[(size/sizeof(double))+1]); 00029 00030 for (TD_DataPoolId i=0; i<size; i++) 00031 value[i]=0; 00032 } 00033 00034 TD_DataPoolId DC_BasicDataPool::getDataPoolSize(void) { 00035 return size; 00036 } 00037 00038 void DC_BasicDataPool::setValue(TD_DataPoolId id,TD_Float newValue) { 00039 assert(value!=pNULL && id<=(size-(TD_DataPoolId)sizeof(TD_Float))); 00040 00041 *(TD_Float *)(value+id)=newValue; 00042 } 00043 00044 void DC_BasicDataPool::setValue(TD_DataPoolId id,TD_Integer newValue) { 00045 assert(value!=pNULL && id<=(size-(TD_DataPoolId)sizeof(TD_Integer))); 00046 00047 *(TD_Integer *)(value+id)=newValue; 00048 } 00049 00050 TD_Float DC_BasicDataPool::getFloatValue(TD_DataPoolId id) { 00051 assert(value!=pNULL && id<=(size-(TD_DataPoolId)sizeof(TD_Float))); 00052 00053 return *(TD_Float *)(value+id); 00054 } 00055 00056 TD_Integer DC_BasicDataPool::getIntegerValue(TD_DataPoolId id) { 00057 assert(value!= pNULL && id<=(size-(TD_DataPoolId)sizeof(TD_Integer))); 00058 00059 return *(TD_Integer *)(value+id); 00060 } 00061 00062 TD_Float* DC_BasicDataPool::getPointerFloatValue(TD_DataPoolId id) { 00063 assert(value!=pNULL && id<=(size-(TD_DataPoolId)sizeof(TD_Float))); 00064 00065 return (TD_Float *)(value+id); 00066 } 00067 00068 TD_Integer* DC_BasicDataPool::getPointerIntegerValue(TD_DataPoolId id) { 00069 assert(value!=pNULL && id<=(size-(TD_DataPoolId)sizeof(TD_Integer))); 00070 00071 return (TD_Integer *)(value+id); 00072 } 00073 00074 bool DC_BasicDataPool::isObjectConfigured(void) { 00075 return (CC_RootObject::isObjectConfigured() && value!=pNULL); 00076 }
Copyright 2003 P&P Software GmbH - All Rights Reserved