From: <le...@us...> - 2007-01-08 23:20:46
|
Revision: 130 http://svn.sourceforge.net/qcell/?rev=130&view=rev Author: lessm Date: 2007-01-08 15:20:43 -0800 (Mon, 08 Jan 2007) Log Message: ----------- - format described in LocalFunction.h - some changes in CalculationData Renderer simulationWindow classes Modified Paths: -------------- trunk/qcell/baseheaders/LocalFunction.h trunk/qcell/baseheaders/simulationwindow.h trunk/qcell/baseheaders/simulationwindow.ui trunk/qcell/basesources/CalculationData.cpp trunk/qcell/basesources/Calculator.cpp trunk/qcell/basesources/Renderer.cpp Modified: trunk/qcell/baseheaders/LocalFunction.h =================================================================== --- trunk/qcell/baseheaders/LocalFunction.h 2007-01-08 22:33:11 UTC (rev 129) +++ trunk/qcell/baseheaders/LocalFunction.h 2007-01-08 23:20:43 UTC (rev 130) @@ -12,6 +12,44 @@ //#include <Python.h> +/** + +xml Function format + +<LocalFunction ArgumentsNumber="number of arguments" InputAlphabet="number of symbols in alphabet"> + +<Sums> +e1,e2,...,en; +f1,f2,...,fn; +... +h1,h2,...,hn; +<\Sums> + +<Values FillValue="default value in value table"> + +s1,s2,...,sn+f1,f2,...,fn=value; + +<\Values> + +<\LocalFunction> + +game of life example + +<LocalFunction ArgumentsNumber="9" InputAlphabet="2" > + <Sums> +0,1,2,3,4,5,6,7; +</Sums> + <Values FillValue="0" > +2+1=1; +3+0=1; +3+1=1; +</Values> +</LocalFunction> + + + +*/ + class LocalFunction { Modified: trunk/qcell/baseheaders/simulationwindow.h =================================================================== --- trunk/qcell/baseheaders/simulationwindow.h 2007-01-08 22:33:11 UTC (rev 129) +++ trunk/qcell/baseheaders/simulationwindow.h 2007-01-08 23:20:43 UTC (rev 130) @@ -15,6 +15,8 @@ #include "ui_simulationwindow.h" #include "../baseheaders/Renderer.h" +#include <QToolBox> + // this is widget make visualization of world data class simulationWindow : public QWidget @@ -34,6 +36,8 @@ QTableWidget *table1DMem; QTableWidget *symbolTable; + QToolBox *tools; + bool table2DUpdateRequest, table1DUpdateRequest, graph2DUpdateRequest; QGraphicsView *graphicsView2D; Modified: trunk/qcell/baseheaders/simulationwindow.ui =================================================================== --- trunk/qcell/baseheaders/simulationwindow.ui 2007-01-08 22:33:11 UTC (rev 129) +++ trunk/qcell/baseheaders/simulationwindow.ui 2007-01-08 23:20:43 UTC (rev 130) @@ -1,14 +1,6 @@ <ui version="4.0" > <class>simulationWindowClass</class> <widget class="QWidget" name="simulationWindowClass" > - <property name="geometry" > - <rect> - <x>0</x> - <y>0</y> - <width>100</width> - <height>30</height> - </rect> - </property> <property name="sizePolicy" > <sizepolicy> <hsizetype>7</hsizetype> Modified: trunk/qcell/basesources/CalculationData.cpp =================================================================== --- trunk/qcell/basesources/CalculationData.cpp 2007-01-08 22:33:11 UTC (rev 129) +++ trunk/qcell/basesources/CalculationData.cpp 2007-01-08 23:20:43 UTC (rev 130) @@ -31,7 +31,8 @@ { data = dataPointer; haveForeignDataPointer = 1; - emit dataUpdated(); + //emit dataUpdated(); + emit dataResized(); } return 1; } @@ -39,14 +40,14 @@ void * CalculationData::getAddressAt(int x, int y, int z, int t) { int dSize; - if(dataType==baseDataTypes::NONE) + if(dataType==baseDataTypes::DATA_TYPES::NONE) return NULL; return data + dataSize * (x + y * sizeX + z * sizeX * sizeY + t * sizeX * sizeY * sizeZ); } CalculationData::CalculationData() { - dataType = baseDataTypes::CHAR; + dataType = baseDataTypes::DATA_TYPES::CHAR; sizeX = sizeY = sizeZ = sizeT = 0; dimension = -1; dataSize = sizeof(char); @@ -56,7 +57,7 @@ CalculationData::~CalculationData() { - dataType = baseDataTypes::NONE; + dataType = baseDataTypes::DATA_TYPES::NONE; sizeX = sizeY = sizeZ = sizeT = 0; dimension = -1; dataSize = 0; @@ -67,7 +68,7 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; case baseDataTypes::CHAR: @@ -92,16 +93,16 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: return *((char *)getAddressAt(x, y, 0, 0)); - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: return *((int *)(getAddressAt(x, y, 0, 0))); - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: return *((short *)(getAddressAt(x, y, 0, 0))); case baseDataTypes::FLOAT: return (int)(*((float *)(getAddressAt(x, y, 0, 0)))); @@ -116,16 +117,16 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: return *((char *)getAddressAt(x, y, z, 0)); - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: return *((int *)(getAddressAt(x, y, z, 0))); - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: return *((short *)(getAddressAt(x, y, z, 0))); case baseDataTypes::FLOAT: @@ -141,16 +142,16 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: return *((char *)getAddressAt(x, y, z, t)); - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: return *((int *)(getAddressAt(x, y, z, t))); - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: return *((short *)(getAddressAt(x, y, z, t))); case baseDataTypes::FLOAT: @@ -183,18 +184,18 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: *((char *)getAddressAt(x, 0, 0, 0)) = (char)val; break; - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: *((int *)(getAddressAt(x, 0, 0, 0))) = val; break; - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: *((short *)(getAddressAt(x, 0, 0, 0))) = (short)val; break; } @@ -204,18 +205,18 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: *((char *)getAddressAt(x, y, 0, 0)) = (char)val; break; - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: *((int *)(getAddressAt(x, y, 0, 0))) = val; break; - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: *((short *)(getAddressAt(x, y, 0, 0))) = (short)val; break; } @@ -225,18 +226,18 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: *((char *)getAddressAt(x, y, z, 0)) = (char)val; break; - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: *((int *)(getAddressAt(x, y, z, 0))) = val; break; - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: *((short *)(getAddressAt(x, y, z, 0))) = (short)val; break; } @@ -246,18 +247,18 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: *((char *)getAddressAt(x, y, z, t)) = (char)val; break; - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: *((int *)(getAddressAt(x, y, z, t))) = val; break; - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: *((short *)(getAddressAt(x, y, z, t))) = (short)val; break; } @@ -267,22 +268,22 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: return (double)*((char *)getAddressAt(x, 0, 0, 0)); - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: return (double)*((int *)(getAddressAt(x, 0, 0, 0))); - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: return (double)*((short *)(getAddressAt(x, 0, 0, 0))); - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: return *((double *)(getAddressAt(x, 0, 0, 0))); - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: return *((float *)(getAddressAt(x, 0, 0, 0))); } return 0.0; @@ -292,22 +293,22 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: return (double)*((char *)getAddressAt(x, y, 0, 0)); - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: return (double)*((int *)(getAddressAt(x, y, 0, 0))); - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: return (double)*((short *)(getAddressAt(x, y, 0, 0))); - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: return *((double *)(getAddressAt(x, y, 0, 0))); - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: return *((float *)(getAddressAt(x, y, 0, 0))); } return 0.0; @@ -317,22 +318,22 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: return (double)*((char *)getAddressAt(x, y, z, 0)); - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: return (double)*((int *)(getAddressAt(x, y, z, 0))); - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: return (double)*((short *)(getAddressAt(x, y, z, 0))); - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: return *((double *)(getAddressAt(x, y, z, 0))); - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: return *((float *)(getAddressAt(x, y, z, 0))); } return 0.0; @@ -342,22 +343,22 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: break; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: return (double)*((char *)getAddressAt(x, y, z, t)); - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: return (double)*((int *)(getAddressAt(x, y, z, t))); - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: return (double)*((short *)(getAddressAt(x, y, z, t))); - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: return *((double *)(getAddressAt(x, y, z, t))); - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: return *((float *)(getAddressAt(x, y, z, t))); } return 0.0; @@ -383,11 +384,11 @@ { switch(dataType) { - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: *((double *)(getAddressAt(x, 0, 0, 0))) = val; break; - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: *((float *)(getAddressAt(x, 0, 0, 0))) = (float)val; break; } @@ -397,11 +398,11 @@ { switch(dataType) { - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: *((double *)(getAddressAt(x, y, 0, 0))) = val; break; - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: *((float *)(getAddressAt(x, y, 0, 0))) = (float)val; break; } @@ -411,11 +412,11 @@ { switch(dataType) { - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: *((double *)(getAddressAt(x, y, z, 0))) = val; break; - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: *((float *)(getAddressAt(x, y, z, 0))) = (float)val; break; } @@ -425,11 +426,11 @@ { switch(dataType) { - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: *((double *)(getAddressAt(x, y, z, t))) = val; break; - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: *((float *)(getAddressAt(x, y, z, t))) = (float)val; break; } @@ -576,10 +577,10 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: return (sizeX * sizeY * sizeZ * sizeT)/8 + 1; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: switch(dimension) { case 1: @@ -592,7 +593,7 @@ return sizeX * sizeY * sizeZ * sizeT * sizeof(char); } - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: switch(dimension) { case 1: @@ -605,7 +606,7 @@ return sizeX * sizeY * sizeZ * sizeT * sizeof(double); } - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: switch(dimension) { case 1: @@ -618,7 +619,7 @@ return sizeX * sizeY * sizeZ * sizeT * sizeof(float); } - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: switch(dimension) { case 1: @@ -631,7 +632,7 @@ return sizeX * sizeY * sizeZ * sizeT * sizeof(int); } - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: switch(dimension) { case 1: @@ -677,7 +678,7 @@ QString CalculationData::createXmlHeader(void) { - return QString::number((int)this); + return QString(); } bool CalculationData::setFromXmlString(QString *xmlString) @@ -713,4 +714,4 @@ fillData(cData.getDataPointer()); return *this; -} +} \ No newline at end of file Modified: trunk/qcell/basesources/Calculator.cpp =================================================================== --- trunk/qcell/basesources/Calculator.cpp 2007-01-08 22:33:11 UTC (rev 129) +++ trunk/qcell/basesources/Calculator.cpp 2007-01-08 23:20:43 UTC (rev 130) @@ -106,10 +106,10 @@ { switch(dataType) { - case baseDataTypes::BOOL: + case baseDataTypes::DATA_TYPES::BOOL: return (outDataSize[0] * outDataSize[1] * outDataSize[2] * outDataSize[3])/8 + 1; - case baseDataTypes::CHAR: + case baseDataTypes::DATA_TYPES::CHAR: switch(dimension) { case 1: @@ -122,7 +122,7 @@ return outDataSize[0] * outDataSize[1] * outDataSize[2] * outDataSize[3] * sizeof(char); } - case baseDataTypes::DOUBLE: + case baseDataTypes::DATA_TYPES::DOUBLE: switch(dimension) { case 1: @@ -135,7 +135,7 @@ return outDataSize[0] * outDataSize[1] * outDataSize[2] * outDataSize[3] * sizeof(double); } - case baseDataTypes::FLOAT: + case baseDataTypes::DATA_TYPES::FLOAT: switch(dimension) { case 1: @@ -148,7 +148,7 @@ return outDataSize[0] * outDataSize[1] * outDataSize[2] * outDataSize[3] * sizeof(float); } - case baseDataTypes::INT: + case baseDataTypes::DATA_TYPES::INT: switch(dimension) { case 1: @@ -161,7 +161,7 @@ return outDataSize[0] * outDataSize[1] * outDataSize[2] * outDataSize[3] * sizeof(int); } - case baseDataTypes::SHORT: + case baseDataTypes::DATA_TYPES::SHORT: switch(dimension) { case 1: Modified: trunk/qcell/basesources/Renderer.cpp =================================================================== --- trunk/qcell/basesources/Renderer.cpp 2007-01-08 22:33:11 UTC (rev 129) +++ trunk/qcell/basesources/Renderer.cpp 2007-01-08 23:20:43 UTC (rev 130) @@ -53,6 +53,9 @@ float mov; if(greed>0) glDeleteLists(greed, 1); + if(getStorage()->getSizeX()==0 || getStorage()->getSizeY()==0 || getStorage()->getSizeZ()==0) + return; + greed = glGenLists(1); glNewList(greed, GL_COMPILE); @@ -105,6 +108,45 @@ glVertex3f(-(float)getStorage()->getSizeX() - mx -1.0f, (float)(getStorage()->getSizeY()) + 1.0f, (float)(z * 2) - mov -1.0f); } + + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + + + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + + + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, (float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f( (float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, (float)getStorage()->getSizeZ()-1.0f); + glVertex3f(-(float)getStorage()->getSizeX() - 1.0f, -(float)(getStorage()->getSizeY()) + 1.0f, -(float)getStorage()->getSizeZ()-1.0f); + glEnd(); glEndList(); } @@ -174,9 +216,9 @@ glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); - float ambient[] = {0.6f, 0.6f, 0.6f, 1.0f}; - float diffuse[] = {0.9f, 0.9f, 0.9f, 1.0f}; - float spectacular[] = {1.0f, 1.0f, 1.0f, 1.0f}; + float ambient[] = {0.2f, 0.2f, 0.2f, 1.0f}; + float diffuse[] = {0.6f, 0.6f, 0.6f, 1.0f}; + float spectacular[] = {0.8f, 0.8f, 0.8f, 1.0f}; float position[] = { 10.0f, 10.0f, 10.0f, 1.0f}; glLightfv(GL_LIGHT0, GL_AMBIENT, ambient); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |