#ifndef drawer_hpp #define drawer_hpp #include #include class Drawer { private: float fMinX; float fMinY; float fHeight; float fWidth; float fDistX; float fDistY; int iScreenHeight; int iScreenWidth; float fRadian; float fTimes; int iOriginX; int iOriginY; float *faObjectMap; public: //Constructor Drawer(float fScreeMaxX,float fScreenMaxY,float fScreenMinX,float fScreenMinY, int iScreenX,int iScreenY,int iCenterX,int iCenterY); //Formulas float Wrangle(float fX, float fY,float fT); //Drawers void Draw(int iT); }; Drawer::Drawer(float fScreenMaxX,float fScreenMaxY,float fScreenMinX,float fScreenMinY,int iScreenX, int iScreenY,int iCenterX,int iCenterY) { fMinX = fScreenMinX; fMinY = fScreenMinY; fHeight = fScreenMaxY - fScreenMinY; fWidth = fScreenMaxX - fScreenMinX; iScreenHeight = iScreenX; iScreenWidth = iScreenY; fDistX = fWidth/iScreenX; fDistY = fHeight/iScreenY; fRadian = 180.0f/ 3.14159265f; iOriginX = iCenterX; iOriginY = iCenterX; faObjectMap = new float[iScreenHeight*iScreenWidth]; } float Drawer::Wrangle(float fX, float fY,float fT) { return 0.0f; } void Drawer::Draw(int iT) { int i = 0; /* while(i < iScreenHeight - 1) { j=0; while(j < iScreenWidth) { faObjectMap[i*iScreenWidth + j] = Wrangle((float)(i-iOriginX),(float)(0-iOriginY),iT); j++; } i++; } */ glColor3f(0.0f,0.0f,1.0f); while(i < iScreenHeight - 1) { int j = 0; faObjectMap[i*iScreenWidth + j] = Wrangle((float)(i-iOriginX),(float)(0-iOriginY),iT); glBegin(GL_TRIANGLE_STRIP); //glColor3f(1.0f-(float)i/128.0f,0.0f,0.0f); //Draws function map on the screen from the array created earlier glVertex3f(fMinX + (j * fDistX),fMinY + ((i+1) * fDistY),faObjectMap[i*iScreenWidth+j]); glVertex3f(fMinX + (j * fDistX),fMinY + (i * fDistY),faObjectMap[i*iScreenWidth+j]); j=1; while(j < iScreenWidth) { faObjectMap[i*iScreenWidth + j] = Wrangle((float)(i-iOriginX),(float)(0-iOriginY),iT); glVertex3f(fMinX + (j * fDistX),fMinY + ((i+1) * fDistY),faObjectMap[i*iScreenWidth+j]); glVertex3f(fMinX + (j * fDistX),fMinY + ((i) * fDistY),faObjectMap[i*iScreenWidth+j]); j++; } glEnd(); i++; } } #endif