#include <GL/glew.h>
#include "dysonsegment.h"


#define GLM_FORCE_RADIANS
#define GLM_SWIZZLE
#include <glm/glm.hpp>
#include <glm/gtc/constants.hpp>
#include <glm/gtx/transform.hpp>
#include <glm/gtc/type_ptr.hpp>
#include <glm/gtx/perpendicular.hpp>

#include <vector>
#include <stack>
#include <iostream>
#include <memory>

#include <QImage>
#include <QOpenGLTexture>
#include <QString>
#include <QFile>
#include <QTextStream>

#include "glbase/gltool.hpp"

//using namespace glm;

#include "gui/config.h"

#include "planets/cone.h"
#include "planets/sun.h"
#include "planets/orbit.h"
#include "planets/path.h"

#include "image/image.h"

DysonSegment::DysonSegment(int number, int swarm, float radius, std::shared_ptr<Sun> Sun)
{
    _textureLocation= ":/res/images/swarm.bmp";
    _sun = Sun;

}

void DysonSegment::init()
{
    /// TODO your code here

}


void DysonSegment::draw(glm::mat4 projection_matrix) const
{

    /// TODO your code here

}

void DysonSegment::update(float elapsedTimeMs, glm::mat4 modelViewMatrix)
{

    /// TODO your code here

}

void DysonSegment::setLights(std::shared_ptr<Sun> sun, std::shared_ptr<Cone> laser)
{
    /// TODO your code here
}

void DysonSegment::createObject(){
    /// TODO your code here

}


std::string DysonSegment::getVertexShader() const
{
    /// TODO: your code here
    return "";
}

std::string DysonSegment::getFragmentShader() const
{
    /// TODO: your code here
    return "";
}


DysonSegment::~DysonSegment(){
}

