/*
 *  SpiralFlower.cpp
 *  lsystems_one
 *
 *  Created by lewhill2 on Fri Feb 27 2004.
 *  Copyright (c) 2004 __MyCompanyName__. All rights reserved.
 *
 */

#include "SpiralFlower.h"

SpiralFlower::SpiralFlower(){
	dotSize = .2;
	rotation = 0;
	scaling = .2;
	angle = 137.5;
	
	for (int i = 1; i < NUM_POINTS; i++){
		sqrt_table[i] = sqrt((float)i)*.2;
	}
}
	
SpiralFlower::~SpiralFlower(){
	
}
	
void SpiralFlower::draw(){
	
	float r;
	
	glPushMatrix();

	glRotatef(90, 0,1,0);
	
	glScalef(scaling, scaling, scaling);

	for (int i = 1; i < NUM_POINTS; i++){
		r = sqrt_table[i];
		glNormal3f(0,0,1);
		glBegin(GL_POLYGON);
		glVertex3f(0,0,0);
		glVertex3f(.05, r*.50,0);
		glVertex3f(0, r,0);
		glVertex3f(-.05, r*.50,0);
		glEnd();
		
		glRotatef(angle, 0,0,1);
	}
	
	glPopMatrix();

}

void SpiralFlower::setAngle(float in_angle){
	angle = in_angle;
}
	
void SpiralFlower::setScalingParameter(float scale){
	scaling = scale;
}
	
void SpiralFlower::setDotSize(float in_dotsize){
	dotSize = in_dotsize;	
}
	
void SpiralFlower::setRotation(float in_rotation){
	rotation = in_rotation;
}

	

