PrimitivesDrawer.h
Go to the documentation of this file.
00001 // ****************************************************************************
00002 // This file is part of the Integrating Vision Toolkit (IVT).
00003 //
00004 // The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
00005 // (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
00006 //
00007 // Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
00008 // All rights reserved.
00009 //
00010 // Redistribution and use in source and binary forms, with or without
00011 // modification, are permitted provided that the following conditions are met:
00012 //
00013 // 1. Redistributions of source code must retain the above copyright
00014 //    notice, this list of conditions and the following disclaimer.
00015 //
00016 // 2. Redistributions in binary form must reproduce the above copyright
00017 //    notice, this list of conditions and the following disclaimer in the
00018 //    documentation and/or other materials provided with the distribution.
00019 //
00020 // 3. Neither the name of the KIT nor the names of its contributors may be
00021 //    used to endorse or promote products derived from this software
00022 //    without specific prior written permission.
00023 //
00024 // THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
00025 // EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00026 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00027 // DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
00028 // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00029 // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00030 // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00031 // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00032 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
00033 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00034 // ****************************************************************************
00035 // ****************************************************************************
00036 // Filename:  PrimitivesDrawer.h
00037 // Author:    Pedram Azad
00038 // Date:      2005
00039 // ****************************************************************************
00040 // Changes:   03.03.2010, Derick Beng Youh
00041 //            * Added function FillPolygon
00042 // ****************************************************************************
00043 
00044 #ifndef _PRIMITIVES_DRAWER_H_
00045 #define _PRIMITIVES_DRAWER_H_
00046 
00047 
00048 // ****************************************************************************
00049 // Necessary includes
00050 // ****************************************************************************
00051 
00052 #include "Math/Math2d.h"
00053 
00054 
00055 // ****************************************************************************
00056 // Forward declarations
00057 // ****************************************************************************
00058 
00059 class CByteImage;
00060 struct Circle2d;
00061 struct Ellipse2d;
00062 struct StraightLine2d;
00063 struct PointPair2d;
00064 struct MyRegion;
00065 
00066 
00067 
00068 
00069 // ****************************************************************************
00070 // PrimitivesDrawer
00071 // ****************************************************************************
00072 
00077 namespace PrimitivesDrawer
00078 {
00092         void DrawPoint(CByteImage *pImage, const Vec2d &point, int r = 255, int g = 255, int b = 255);
00093         
00108         void DrawPoint(CByteImage *pImage, int x, int y, int r = 255, int g = 255, int b = 255);
00109 
00124         void DrawPointBlended(CByteImage *pImage, const Vec2d &point, int r = 255, int g = 255, int b = 255, float blend = 1.0f);
00125         
00141         void DrawPointBlended(CByteImage *pImage, int x, int y, int r = 255, int g = 255, int b = 255, float blend = 1.0f);
00142 
00156         void DrawPoints(CByteImage *pImage, const CVec2dArray &points, int r = 255, int g = 255, int b = 255);
00157         
00172         void DrawRegion(CByteImage *pImage, const MyRegion &region, int r = 255, int g = 255, int b = 255, int thickness = 1);
00173 
00191         void DrawCircle(CByteImage *pImage, float mx, float my, float radius, int r = 255, int g = 255, int b = 255, int thickness = 1, bool bAntiAlias = false);
00192 
00211         void DrawCircle(CByteImage *pImage, const Vec2d &center, float radius, int r = 255, int g = 255, int b = 255, int thickness = 1, bool bAntiAlias = false);
00212 
00230         void DrawCircle(CByteImage *pImage, const Circle2d &circle, int r = 255, int g = 255, int b = 255, int thickness = 1, bool bAntiAlias = false);
00231 
00246         void DrawEllipse(CByteImage *pImage, const Ellipse2d &ellipse, int r = 255, int g = 255, int b = 255, int thickness = 1);
00247 
00264         void DrawLine(CByteImage *pImage, const PointPair2d &line, int r = 255, int g = 255, int b = 255, int thickness = 1);
00265 
00281         void DrawLine(CByteImage *pImage, const Vec2d &p1, const Vec2d &p2, int r = 255, int g = 255, int b = 255, int thickness = 1);
00282 
00304         void DrawLinePolar(CByteImage *pImage, float theta, float r, int color_r, int color_g, int color_b, int thickness = 1);
00305 
00326         void DrawLineNormal(CByteImage *pImage, float nx, float ny, float c, int r, int g, int b, int thickness = 1);
00327 
00344         void DrawLine(CByteImage *pImage, const StraightLine2d &line, int r, int g, int b, int thickness = 1);
00345 
00362         void DrawCross(CByteImage *pImage, const Vec2d &point, int length, int r, int g, int b);
00363 
00381         void DrawPolygon(CByteImage *pImage, const Vec2d *pPoints, int nPoints, int r, int g, int b, int thickness = 1);
00382 
00401         void DrawPolygon(CByteImage *pImage, const CVec2dArray &points, int r, int g, int b, int thickness = 1);
00402 
00417         void DrawRectangle(CByteImage *pImage, const Rectangle2d &rectangle, int r, int g, int b, int thickness = 1);
00418 }
00419 
00420 
00421 
00422 #endif /* _PRIMITIVES_DRAWER_H_ */


asr_ivt
Author(s): Allgeyer Tobias, Hutmacher Robin, Kleinert Daniel, Meißner Pascal, Scholz Jonas, Stöckle Patrick
autogenerated on Thu Jun 6 2019 21:46:58