#include "Behaviors/StateMachine.h"

$nodeclass Shapes : VisualRoutinesStateNode {
	$nodeclass FindStuff : MapBuilderNode(MapBuilderRequest::worldMap) : doStart {
		mapreq.addObjectColor(lineDataType, "blue");
	}
	$nodeclass DrawEllipses : doStart {
		NEW_SHAPEVEC(line_shapes, LineData, select_type<LineData>(worldShS));
		if (line_shapes.size() < 1)
		{
			cout << "No lines found" << endl;
		}
		else
		{
			NEW_SHAPE(leftEndpointEllipse, EllipseData, new EllipseData(worldShS, line_shapes[0]->firstPt()))
			NEW_SHAPE(rightEndpointEllipse, EllipseData, new EllipseData(worldShS, line_shapes[0]->secondPt()))
			VRmixin::drawShapes.push_back(line_shapes[0]);
			VRmixin::drawShapes.push_back(leftEndpointEllipse);
			VRmixin::drawShapes.push_back(rightEndpointEllipse);
		}
		
	}
	$setupmachine {
		FindStuff =C=> DrawEllipses
	}
}

REGISTER_BEHAVIOR(Shapes);
