Skip to content
Snippets Groups Projects
Select Git revision
  • 86a9776ba2c09f98c57ff8948ef379b7dfc4b656
  • master default protected
2 results

turtle_frame.cpp

Blame
  • turtle_frame.cpp 8.05 KiB
    /*
     * Copyright (c) 2009, Willow Garage, Inc.
     * All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions are met:
     *
     *     * Redistributions of source code must retain the above copyright
     *       notice, this list of conditions and the following disclaimer.
     *     * Redistributions in binary form must reproduce the above copyright
     *       notice, this list of conditions and the following disclaimer in the
     *       documentation and/or other materials provided with the distribution.
     *     * Neither the name of the Willow Garage, Inc. nor the names of its
     *       contributors may be used to endorse or promote products derived from
     *       this software without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     * POSSIBILITY OF SUCH DAMAGE.
     */
    
    #include "turtlesim/turtle_frame.h"
    
    #include <QPointF>
    
    #include <ros/package.h>
    #include <cstdlib>
    #include <ctime>
    
    #define DEFAULT_BG_R 0x2a
    #define DEFAULT_BG_G 0x2a
    #define DEFAULT_BG_B 0x2e
    #define FRAME_WIDTH 1200
    #define FRAME_HEIGHT 800
    
    namespace turtlesim
    {
    
    TurtleFrame::TurtleFrame(QWidget* parent, Qt::WindowFlags f)
    : QFrame(parent, f)
    , path_image_(FRAME_WIDTH, FRAME_HEIGHT, QImage::Format_ARGB32)
    , path_painter_(&path_image_)
    , frame_count_(0)
    , id_counter_(0)
    , private_nh_("~")
    {
      setFixedSize(FRAME_WIDTH,FRAME_HEIGHT);
      setWindowTitle("TurtleSimXL");
    
      srand(time(NULL));
    
      update_timer_ = new QTimer(this);
      update_timer_->setInterval(16);
      update_timer_->start();
    
      connect(update_timer_, SIGNAL(timeout()), this, SLOT(onUpdate()));
    
      if (!private_nh_.hasParam("background_r"))
      {
        private_nh_.setParam("background_r", DEFAULT_BG_R);
      }
      if (!private_nh_.hasParam("background_g"))