#include "Behaviors/StateMachine.h"

$nodeclass Ex2 : VisualRoutinesStateNode {
	$nodeclass FindStuff : MapBuilderNode : doStart {
		mapreq.addObjectColor(ellipseDataType, "red");
		mapreq.addObjectColor(ellipseDataType, "blue");
		mapreq.addObjectColor(lineDataType, "red");
	}
	$nodeclass ReportEllipses : doStart {
		NEW_SHAPEVEC(ellipses_shapes, EllipseData, select_type<EllipseData>(camShS));
		if ( ellipses_shapes.size() > 0) {
			cout << "Number of Eliipses: " << ellipses_shapes.size();
		}
		SHAPEVEC_ITERATE(ellipses_shapes, EllipseData, myellipse) {
			NEW_SHAPE(ellipse1, EllipseData, new EllipseData(camShS, myellipse->getCentroid(), myellipse->getSemimajor()*2, myellipse->getSemiminor()*2, myellipse->getOrientation()));
			ellipse1->setColor(myellipse->getColor());
		} END_ITERATE;
	}
	$setupmachine{
		FindStuff =C=> ReportEllipses
	}
}

REGISTER_BEHAVIOR(Ex2);
