rtcPoint2D.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2009
00003  * Robert Bosch LLC
00004  * Research and Technology Center North America
00005  * Palo Alto, California
00006  *
00007  * All rights reserved.
00008  *
00009  *------------------------------------------------------------------------------
00010  * project ....: Autonomous Technologies
00011  * file .......: Point2D.h
00012  * authors ....: Benjamin Pitzer
00013  * organization: Robert Bosch LLC
00014  * creation ...: 08/22/2008
00015  * modified ...: $Date:2008-03-03 10:26:02 -0800 (Mon, 03 Mar 2008) $
00016  * changed by .: $Author:benjaminpitzer $
00017  * revision ...: $Revision:141 $
00018  */
00019 #ifndef RTC_POINT2D_H
00020 #define RTC_POINT2D_H
00021 
00022 //== INCLUDES ==================================================================
00023 #include "rtc/rtcMath.h"
00024 #include "rtc/rtcVec2.h"
00025 
00026 //== NAMESPACES ================================================================
00027 namespace rtc {
00028 
00029 //== CLASS DEFINITION ==========================================================
00030 
00031 template <class T>
00032 class Point2D: public Vec2<T> {
00033  public:
00034   using Vec<T, 2>::x;
00035   Point2D(T x = 0, T y = 0) :
00036     Vec2<T> (x, y) {
00037   }
00038 
00039   Point2D(const Vec<T, 2> &other) :
00040     Vec2<T> (other) {
00041   }
00042 
00043   float distanceTo(Point2D<T> other) {
00044     return (*this - other).norm();
00045   }
00046 
00047   const Point2D &operator=(const Point2D &other) {
00048     x[0] = other.x[0];
00049     x[1] = other.x[1];
00050     return *this;
00051   }
00052 
00053   const Point2D &operator=(const Vec<T, 2> other) {
00054     x[0] = other.x[0];
00055     x[1] = other.x[1];
00056     return *this;
00057   }
00058 };
00059 
00060 typedef Point2D<int> Point2Di;
00061 typedef Point2D<unsigned int> Point2Dui;
00062 typedef Point2D<float> Point2Df;
00063 typedef Point2D<double> Point2Dd;
00064 
00065 //==============================================================================
00066 } // NAMESPACE rtc
00067 //==============================================================================
00068 #endif // RTC_POINT2D_H defined
00069 //==============================================================================


rtc
Author(s): Benjamin Pitzer
autogenerated on Thu Jan 2 2014 11:04:53