iLab Neuromorphic Robotics Toolkit  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GeometryImpl.H File Reference
#include <algorithm>
#include <type_traits>

Author
Unknown

License

// ////////////////////////////////////////////////////////////////////////
//              The iLab Neuromorphic Robotics Toolkit (NRT)             //
// Copyright 2010-2012 by the University of Southern California (USC)    //
//                          and the iLab at USC.                         //
//                                                                       //
//                iLab - University of Southern California               //
//                Hedco Neurociences Building, Room HNB-10               //
//                    Los Angeles, Ca 90089-2520 - USA                   //
//                                                                       //
//      See http://ilab.usc.edu for information about this project.      //
// ////////////////////////////////////////////////////////////////////////
// This file is part of The iLab Neuromorphic Robotics Toolkit.          //
//                                                                       //
// The iLab Neuromorphic Robotics Toolkit is free software: you can      //
// redistribute it and/or modify it under the terms of the GNU General   //
// Public License as published by the Free Software Foundation, either   //
// version 3 of the License, or (at your option) any later version.      //
//                                                                       //
// The iLab Neuromorphic Robotics Toolkit is distributed in the hope     //
// that it will be useful, but WITHOUT ANY WARRANTY; without even the    //
// implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR       //
// PURPOSE.  See the GNU General Public License for more details.        //
//                                                                       //
// You should have received a copy of the GNU General Public License     //
// along with The iLab Neuromorphic Robotics Toolkit.  If not, see       //
// <http://www.gnu.org/licenses/>.                                       //
// ////////////////////////////////////////////////////////////////////////

Definition in file GeometryImpl.H.

Go to the source code of this file.

Functions

template<class T , template< typename > class ColorT>
std::enable_if
< std::is_base_of
< PixelWithAlpha< T >, ColorT
< T > >::value, bool >::type 
geometryimpl::isNoOpColor (ColorT< T > const &color)
 
template<class T , template< typename > class ColorT>
std::enable_if
<!std::is_base_of
< PixelWithAlpha< T >, ColorT
< T > >::value, bool >::type 
geometryimpl::isNoOpColor (ColorT< T > const &color)
 
template<class T , template< typename > class PixDest, class U , template< typename > class PixOutline>
void drawLineHelper (Image< PixDest< T >> &image, Line< int32 > const &line, PixOutline< U > const &outlineColor, uint thickness, bool *const pixelFlags)
 
int32 wu_internal::ipart (double x)
 
int32 wu_internal::roundint (double x)
 
double wu_internal::fpart (double x)
 
double wu_internal::rfpart (double x)
 
template<class T , class U >
void drawLineAA (Image< T > &image, Line< int32 > const &line, U const &outlineColor)
 
template<class T , template< typename > class SourceColorT, class U , template< typename > class FillColorT>
void drawPolygonFill (Image< SourceColorT< T >> &image, Polygon< int32 > const &polygon, FillColorT< U > const &fillColor, bool *const pixelFlags)
 
template<class T , template< typename > class SourceColorT, class U , template< typename > class OutlineColorT, class V , template< typename > class FillColorT>
void drawPolygon (Image< SourceColorT< T >> &image, Polygon< int32 > const &polygon, OutlineColorT< U > const &outlineColor, uint thickness, FillColorT< V > const &fillColor)
 
template<class T , class U >
void drawPolygonAA (Image< T > &image, Polygon< int32 > const &polygon, U const &outlineColor)
 
template<class T , template< typename > class PixDest, class U , template< typename > class PixOutline>
void drawLine (Image< PixDest< T >> &image, Line< int32 > const &line, PixOutline< U > const &outlineColor, uint thickness)
 
template<class T , template< typename > class PixDest, class U , template< typename > class PixOutline>
void drawDisk (Image< PixDest< T > > &dst, Circle< int32 > const &circle, PixOutline< U > const &outlineColor)
 
template<class T , template< typename > class PixDest, class U , template< typename > class PixOutline>
void drawDiskHelper (Image< PixDest< T > > &dst, Circle< int32 > const &circle, PixOutline< U > const &outlineColor, bool checkOverlay, bool pixelFlags[])
 
template<class T , class U >
void drawCircle (Image< T > &image, Circle< int32 > const &circle, U const &outlineColor, uint thickness)
 
template<class T , class U , class V >
void drawEllipse (Image< T > &image, Point2D< int32 > const &center, const float radiusx, const float radiusy, const float skew, U const &outlineColor, uint thickness, V const &fillColor)
 
template<class T , template< typename > class SourceColorT, class V , template< typename > class FillColorT>
void drawRectangleFill (Image< SourceColorT< T >> &image, Rectangle< int32 > const &rect, FillColorT< V > const &fillColor, bool *const pixelFlags)
 
template<class T , template< typename > class SourceColorT, class U , template< typename > class OutlineColorT>
void drawRectangleOutline (Image< SourceColorT< T >> &image, Rectangle< int32 > const &rect, uint thickness, OutlineColorT< U > const &outlineColor, bool *pixelFlags)
 
template<class T , template< typename > class SourceColorT, class U , template< typename > class OutlineColorT, class V , template< typename > class FillColorT>
void drawRectangle (Image< SourceColorT< T >> &image, Rectangle< int32 > const &rect, OutlineColorT< U > const &outlineColor, uint thickness, FillColorT< V > const &fillColor)
 
template<class T , class OutlineColorT >
void drawCross (Image< T > &image, Point2D< int32 > const &center, OutlineColorT const &outlineColor, uint32 radius, uint32 thickness, float angle)
 
template<class T , class OutlineColorT >
void DrawArrow (Image< T > &image, int32 xs, int32 ys, int32 xe, int32 ye, uint32 thickness, OutlineColorT const &outlineColor, float headSizeRatio, float headAngle)
 
template<class T , class OutlineColorT >
void drawGrid (Image< T > &image, const int32 spacingX, const int32 spacingY, const uint32 thickX, const uint32 thickY, OutlineColorT const &outlineColor)
 
template<class T , class OutlineColorT >
void drawGrid (Image< T > &image, const uint32 nx, const uint32 ny, const uint32 thickness, OutlineColorT const &outlineColor)
 

Function Documentation

template<class T , template< typename > class SourceColorT, class U , template< typename > class FillColorT>
void drawPolygonFill ( Image< SourceColorT< T >> &  image,
Polygon< int32 > const &  polygon,
FillColorT< U > const &  fillColor,
bool *const  pixelFlags 
)
Todo:
The Image::ConvexPolyIter class will happily try to draw pixels outside of the image dims. Until this is

Definition at line 287 of file GeometryImpl.H.

References nrt::clamped(), nrt::Image< T, Flags >::convex_poly_begin(), and nrt::Image< T, Flags >::convex_poly_end().