#include "Behaviors/StateMachine.h"

$nodeclass HW3_Containment : VisualRoutinesStateNode : doStart {
  camSkS.clear();
  NEW_SKETCH(camFrame, uchar, sketchFromSeg());

  NEW_SKETCH(green_stuff, bool, visops::colormask(camFrame,"green"));
  NEW_SKETCH(g_area, uint, visops::areacc(green_stuff));
  NEW_SKETCH(g_blobs, bool, g_area > 40);
  NEW_SKETCH(g_filledin, bool, visops::fillin(g_blobs, 2, 3, 8));
  NEW_SKETCH(g_interior, bool, visops::fillInterior(g_filledin));
  
  NEW_SKETCH(pink_stuff, bool, visops::colormask(camFrame,"pink"));
  NEW_SKETCH(p_area, uint, visops::areacc(pink_stuff));
  NEW_SKETCH(p_blobs, bool, p_area > 10);

  NEW_SKETCH(p_contained, bool, g_interior & p_blobs);
}

REGISTER_BEHAVIOR(HW3_Containment);
