void BallPercept::draw() const { DECLARE_DEBUG_DRAWING("representation:BallPercept:Image", "drawingOnImage"); DECLARE_DEBUG_DRAWING("representation:BallPercept:Field", "drawingOnField"); DECLARE_DEBUG_DRAWING3D("representation:BallPercept", "origin"); TRANSLATE3D("representation:BallPercept", 0, 0, -230); if(ballWasSeen) { CIRCLE("representation:BallPercept:Image", positionInImage.x, positionInImage.y, radiusInImage, 1, // pen width Drawings::ps_solid, ColorClasses::black, Drawings::bs_solid, ColorRGBA(255, 128, 64, 100)); CIRCLE("representation:BallPercept:Field", relativePositionOnField.x, relativePositionOnField.y, 35, 0, // pen width Drawings::ps_solid, ColorClasses::orange, Drawings::bs_null, ColorClasses::orange); // Sorry, no access to field dimensions here, so ball radius is hard coded SPHERE3D("representation:BallPercept", relativePositionOnField.x, relativePositionOnField.y, 35, 35, ColorClasses::orange); } }
void BallPercept::draw() const { DECLARE_DEBUG_DRAWING("representation:BallPercept:image", "drawingOnImage"); DECLARE_DEBUG_DRAWING("representation:BallPercept:field", "drawingOnField"); DECLARE_DEBUG_DRAWING3D("representation:BallPercept", "robot"); TRANSLATE3D("representation:BallPercept", 0, 0, -230); if(status == seen) { CIRCLE("representation:BallPercept:image", positionInImage.x(), positionInImage.y(), radiusInImage, 1, // pen width Drawings::solidPen, ColorRGBA::black, Drawings::solidBrush, ColorRGBA(255, 128, 64, 100)); CIRCLE("representation:BallPercept:field", positionOnField.x(), positionOnField.y(), radiusOnField, 0, // pen width Drawings::solidPen, ColorRGBA::orange, Drawings::noBrush, ColorRGBA::orange); SPHERE3D("representation:BallPercept", positionOnField.x(), positionOnField.y(), radiusOnField, radiusOnField, ColorRGBA::orange); } else if(status == guessed) CIRCLE("representation:BallPercept:image", positionInImage.x(), positionInImage.y(), radiusInImage, 1, // pen width Drawings::solidPen, ColorRGBA::black, Drawings::solidBrush, ColorRGBA(64, 128, 255, 90)); }
void GoalPercept::draw() const { const ColorRGBA goalPerceptColor = ColorRGBA::yellow; DECLARE_DEBUG_DRAWING("representation:GoalPercept:Image", "drawingOnImage"); DECLARE_DEBUG_DRAWING("representation:GoalPercept:Field", "drawingOnField"); DECLARE_DEBUG_DRAWING3D("representation:GoalPercept", "robot"); TRANSLATE3D("representation:GoalPercept", 0, 0, -230); ColorRGBA color = ColorRGBA(220, 220, 220); for(unsigned int i = 0; i < goalPosts.size(); ++i) { const GoalPost& p = goalPosts.at(i); if(p.position != GoalPost::IS_UNKNOWN) { CIRCLE("representation:GoalPercept:Field", p.positionOnField.x(), p.positionOnField.y(), 50, 0, Drawings::solidPen, goalPerceptColor, Drawings::solidBrush, color); LINE("representation:GoalPercept:Field", p.positionOnField.x(), p.positionOnField.y(), p.positionOnField.x(), p.positionOnField.y() + (p.position == GoalPost::IS_LEFT ? -700 : 700), 60, Drawings::solidPen, goalPerceptColor); MID_DOT("representation:GoalPercept:Image", p.positionInImage.x(), p.positionInImage.y(), goalPerceptColor, color); LINE("representation:GoalPercept:Image", p.positionInImage.x(), p.positionInImage.y(), p.positionInImage.x(), 0, 5, Drawings::solidPen, goalPerceptColor); if(p.position == GoalPost::IS_LEFT) DRAWTEXT("representation:GoalPercept:Image", p.positionInImage.x() + 10, 40, 36, goalPerceptColor, "L"); else if(p.position == GoalPost::IS_RIGHT) DRAWTEXT("representation:GoalPercept:Image", p.positionInImage.x() - 30, 40, 36, goalPerceptColor, "R"); } else { CIRCLE("representation:GoalPercept:Field", p.positionOnField.x(), p.positionOnField.y(), 50, 0, Drawings::solidPen, ColorRGBA(255, 0, 0), Drawings::solidBrush, goalPerceptColor); MID_DOT("representation:GoalPercept:Image", p.positionInImage.x(), p.positionInImage.y(), ColorRGBA(255, 0, 0), goalPerceptColor); LINE("representation:GoalPercept:Image", p.positionInImage.x(), p.positionInImage.y(), p.positionInImage.x(), 0, 5, Drawings::dottedPen, goalPerceptColor); } // Sorry, no access to field dimensions here, so the dimensions are hard coded CYLINDER3D("representation:GoalPercept", p.positionOnField.x(), p.positionOnField.y(), 400, 0, 0, 0, 50, 800, goalPerceptColor); LINE3D("representation:GoalPercept", 0, 0, 1.f, p.positionOnField.x(), p.positionOnField.y(), 1.f, 2.f, goalPerceptColor); } }
void GoalPercept::draw() const { DECLARE_DEBUG_DRAWING("representation:GoalPercept:Image", "drawingOnImage"); DECLARE_DEBUG_DRAWING("representation:GoalPercept:Field", "drawingOnField"); DECLARE_DEBUG_DRAWING3D("representation:GoalPercept", "origin"); TRANSLATE3D("representation:GoalPercept", 0, 0, -230); ColorRGBA color = ColorClasses::yellow; for(unsigned int i = 0; i < goalPosts.size(); ++i) { const GoalPost& p = goalPosts.at(i); if(p.position != GoalPost::IS_UNKNOWN) { CIRCLE("representation:GoalPercept:Field", p.positionOnField.x, p.positionOnField.y, 50, 0, Drawings::ps_solid, ColorClasses::white, Drawings::bs_solid, color); LINE("representation:GoalPercept:Field", p.positionOnField.x, p.positionOnField.y, p.positionOnField.x, p.positionOnField.y + (p.position == GoalPost::IS_LEFT ? -700 : 700), 60, Drawings::ps_solid, color); MID_DOT("representation:GoalPercept:Image", p.positionInImage.x, p.positionInImage.y, ColorClasses::white, color); LINE("representation:GoalPercept:Image", p.positionInImage.x, p.positionInImage.y, p.positionInImage.x, 0, 5, Drawings::ps_solid, color); // Sorry, no access to field dimensions here, so the dimensions are hard coded CYLINDER3D("representation:GoalPercept", p.positionOnField.x, p.positionOnField.y, 400, 0, 0, 0, 50, 800, color); } else { CIRCLE("representation:GoalPercept:Field", p.positionOnField.x, p.positionOnField.y, 50, 0, Drawings::ps_solid, ColorRGBA(255, 0, 0), Drawings::bs_solid, color); MID_DOT("representation:GoalPercept:Image", p.positionInImage.x, p.positionInImage.y, ColorRGBA(255, 0, 0), color); LINE("representation:GoalPercept:Image", p.positionInImage.x, p.positionInImage.y, p.positionInImage.x, 0, 5, Drawings::ps_dot, color); // Sorry, no access to field dimensions here, so the dimensions are hard coded CYLINDER3D("representation:GoalPercept", p.positionOnField.x, p.positionOnField.y, 400, 0, 0, 0, 50, 800, color); } } }