void MyMerryGoRound::drawBar() { glPushMatrix(); glRotatef(-90, 1, 0, 0); gluCylinder(pObj,3.0f, 3.0f, 30.0f, 30, 5); glPopMatrix(); glTranslatef(0, 30, 0); for(int i = 1 ; i < 10 ; i ++) { drawSeat( ( 360 * i/total_seats) - rotateangle, i); } // fill up later }
void PatBike::draw() { setMaterial(); if (isJousting) { joust(); } else { move(); } glPushMatrix();//BIKE glTranslated(bikePosX, 0.28, bikePosZ); glRotatef(heading, 0, 1, 0); glScalef(0.5,0.5,0.5); tm->BindTextureByIndex(2); drawEngine(0.55, 0.45, 0.50, 0.4, 0.75); glDisable(GL_TEXTURE_2D); glPushMatrix();// Connect Front2Back glColor3f(0.6, 0.6, 0.65); glTranslatef(0.55, 0, 0); glRotatef(90, 0, 1, 0); glRotatef(-70, 1, 0, 0); drawCylinder(0.075, 0.075, 1.25, 75, 75); glPopMatrix(); glPushMatrix();// Gas Tank glColor3f(0.4, 0.2, 0.2); glTranslatef(-0.6, 0.35, 0.0); glScalef(0.62,0.42, 0.42); //glEnable(GL_TEXTURE_2D); // glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); // glBindTexture(GL_TEXTURE_2D, texture[5]); tm->BindTextureByIndex(5); glutSolidCube(1.0); glDisable(GL_TEXTURE_2D); glPopMatrix(); drawSeat(); glPushMatrix(); drawTrailerHitch(); glPopMatrix(); //Draw the lower back frame drawBottomBackFrame(); glPushMatrix(); glTranslatef(-1.4, 0, 0.0); drawTire(11); glPopMatrix(); //Start front frame glPushMatrix(); glTranslatef(1.7, 0, 0.0); glRotatef(15, 0, 0, 1); //if (heading < -225.0f) //{ // glRotatef(-45.0f,0,1,0); //} //else if (heading < -179.0f) //{ // glRotatef(heading + 180.0f,0,1,0); //} //else if (heading < -45.0f) //{ // glRotatef(-45.0f,0,1,0); //} //else //{ // glRotatef(heading,0,1,0); //} glPushMatrix(); drawTire(11); glPopMatrix(); drawFrontFrame(); glTranslatef(-0.01, 1.2, 0.0); glPushMatrix(); drawHead(); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(1.0f, 1.6f, 0.0f); glRotatef(45, 0.0f, 1.0f, 0.0f); if (okToDrawSpear) drawSpear(0.4, 0, 5.00, 75, 75); glPopMatrix(); glPopMatrix(); glDisable(GL_COLOR_MATERIAL); }
void drawFrame() { glColor3f(1.0f,0.0f,0.0f); glPushMatrix(); glPushMatrix(); glColor3f(0.0f,1.0f,0.0f); glPushMatrix(); glTranslatef(0.0f,0.0f,0.06f); glRotatef(-2*pedalAngle,0.0f,0.0f,1.0f); gear(0.08f,0.3f,0.03f,30,0.03f); glPopMatrix(); glColor3f(1.0f,0.0f,0.0f); glTranslatef(0.0f,0.0f,-0.2f); ZCylinder(0.08f,0.32f); glPopMatrix(); glRotatef(RIGHT_ANGLE,0.0f,0.0f,1.0f); XCylinder(ROD_RADIUS,RIGHT_ROD); glRotatef(MIDDLE_ANGLE-RIGHT_ANGLE,0.0f,0.0f,1.0f); XCylinder(ROD_RADIUS,MIDDLE_ROD); glColor3f(1.0f,1.0f,0.0f); glTranslatef(MIDDLE_ROD,0.0f,0.0f); glRotatef(-MIDDLE_ANGLE,0.0f,0.0f,1.0f); glScalef(0.3f,ROD_RADIUS,0.25f); drawSeat(); glColor3f(1.0f,0.0f,0.0f); glPopMatrix(); glPushMatrix(); glRotatef(-180.0f,0.0f,1.0f,0.0f); XCylinder(ROD_RADIUS,BACK_CONNECTOR); glPushMatrix(); glTranslatef(0.5f,0.0f,WHEEL_OFFSET); XCylinder(ROD_RADIUS,RADIUS_WHEEL+TUBE_WIDTH); glPopMatrix(); glPushMatrix(); glTranslatef(0.5f,0.0f,-WHEEL_OFFSET); XCylinder(ROD_RADIUS,RADIUS_WHEEL+TUBE_WIDTH); glPopMatrix(); glPopMatrix(); glPushMatrix(); glTranslatef(-(BACK_CONNECTOR+RADIUS_WHEEL+TUBE_WIDTH),0.0f,0.0f); glPushMatrix(); glRotatef(-2*pedalAngle,0.0f,0.0f,1.0f); drawTyre(); glColor3f(0.0f,1.0f,0.0f); gear(0.03f,0.15f,0.03f,20,0.03f); glColor3f(1.0f,0.0f,0.0f); glPopMatrix(); glRotatef(LEFT_ANGLE,0.0f,0.0f,1.0f); glPushMatrix(); glTranslatef(0.0f,0.0f,-WHEEL_OFFSET); XCylinder(ROD_RADIUS,WHEEL_LEN); glPopMatrix(); glPushMatrix(); glTranslatef(0.0f,0.0f,WHEEL_OFFSET); XCylinder(ROD_RADIUS,WHEEL_LEN); glPopMatrix(); glTranslatef(WHEEL_LEN,0.0f,0.0f); XCylinder(ROD_RADIUS,CRANK_ROD); glTranslatef(CRANK_ROD,0.0f,0.0f); glRotatef(-LEFT_ANGLE,0.0f,0.0f,1.0f); XCylinder(ROD_RADIUS,TOP_LEN); glTranslatef(TOP_LEN,0.0f,0.0f); glRotatef(-FRONT_INCLINE,0.0f,0.0f,1.0f); glPushMatrix(); glTranslatef(-0.1f,0.0f,0.0f); XCylinder(ROD_RADIUS,0.45f); glPopMatrix(); glPushMatrix(); glRotatef(-steering,1.0f,0.0f,0.0f); glTranslatef(-0.3f,0.0f,0.0f); glPushMatrix(); glRotatef(FRONT_INCLINE,0.0f,0.0f,1.0f); glPushMatrix(); glTranslatef(0.0f,0.0f,-HANDLE_ROD/2); ZCylinder(ROD_RADIUS,HANDLE_ROD); glPopMatrix(); glPushMatrix(); glColor3f(1.0f,1.0f,0.0f); glTranslatef(0.0f,0.0f,-HANDLE_ROD/2); ZCylinder(0.07f,HANDLE_ROD/4); glTranslatef(0.0f,0.0f,HANDLE_ROD*3/4); ZCylinder(0.07f,HANDLE_ROD/4); glColor3f(1.0f,0.0f,0.0f); glPopMatrix(); glPopMatrix(); glPushMatrix(); XCylinder(ROD_RADIUS,CRANK_ROD); glTranslatef(CRANK_ROD,0.0f,0.0f); glRotatef(CRANK_ANGLE,0.0f,0.0f,1.0f); glPushMatrix(); glTranslatef(0.0f,0.0f,WHEEL_OFFSET); XCylinder(ROD_RADIUS,CRANK_RODS); glPopMatrix(); glPushMatrix(); glTranslatef(0.0f,0.0f,-WHEEL_OFFSET); XCylinder(ROD_RADIUS,CRANK_RODS); glPopMatrix(); glTranslatef(CRANK_RODS,0.0f,0.0f); glRotatef(-2*pedalAngle,0.0f,0.0f,1.0f); drawTyre(); glPopMatrix(); glPopMatrix(); glPopMatrix(); }