testing_sphere.h
Go to the documentation of this file.
00001 /******************************************************************************
00002  * \file
00003  *
00004  * $Id:$
00005  *
00006  * Copyright (C) Brno University of Technology
00007  *
00008  * This file is part of software developed by dcgm-robotics@FIT group.
00009  *
00010  * Author: Vit Stancl (stancl@fit.vutbr.cz)
00011  * Supervised by: Michal Spanel (spanel@fit.vutbr.cz)
00012  * Date: dd/mm/2012
00013  *
00014  * This file is free software: you can redistribute it and/or modify
00015  * it under the terms of the GNU Lesser General Public License as published by
00016  * the Free Software Foundation, either version 3 of the License, or
00017  * (at your option) any later version.
00018  *
00019  * This file is distributed in the hope that it will be useful,
00020  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00021  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00022  * GNU Lesser General Public License for more details.
00023  *
00024  * You should have received a copy of the GNU Lesser General Public License
00025  * along with this file.  If not, see <http://www.gnu.org/licenses/>.
00026  */
00027 #pragma once
00028 #ifndef TestingSphere_H_included
00029 #define TestingSphere_H_included
00030 
00031 #include "testing_object_base.h"
00032 
00033 namespace srs_env_model
00034 {
00038 class CTestingSphere : public CTestingObjectBase
00039 {
00040 public:
00042         CTestingSphere() : m_radiussq( 0.0 ), m_x( 0.0 ), m_y(0.0), m_z(0.0) {}
00043 
00045         CTestingSphere( double x, double y, double z, double radius )
00046         : m_radiussq( radius * radius ), m_x( x ), m_y( y ), m_z( z )
00047         {}
00048 
00050         void set( double x, double y, double z, double radius )
00051         { m_radiussq = radius*radius; m_x = x; m_y = y; m_z = z; }
00052 
00054         virtual bool isIn( double x, double y, double z )
00055         {
00056                 double sx( x - m_x ), sy( y - m_y ), sz( z - m_z );
00057                 return sx*sx + sy*sy + sz*sz < m_radiussq;
00058         }
00059 
00060 protected:
00062         double m_radiussq;
00063 
00065         double m_x, m_y, m_z;
00066 
00067 }; // class CTestingSphere
00068 
00069 } // namespace srs_env_model
00070 
00071 
00072 // TestingSphere_H_included
00073 #endif


srs_env_model
Author(s): Vit Stancl (stancl@fit.vutbr.cz), Tomas Lokaj, Jan Gorig, Michal Spanel (spanel@fit.vutbr.cz)
autogenerated on Sun Jan 5 2014 11:50:50