Limbo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Enumerations | Functions
Geometry.h File Reference

Contains utilities for geometric types, such as type traits, area calculator. I'm trying to make these setting as similar as Boost.Polygon, which will lead to easier embedding. More...

#include <vector>
#include <list>
#include <ostream>

Go to the source code of this file.

Classes

class  limbo::geometry::orientation_2d
 a class denoting orientation of lines More...
 
struct  limbo::geometry::coordinate_traits< T >
 type traits for coordinates More...
 
struct  limbo::geometry::coordinate_traits< int >
 specialization for default integer type More...
 
class  limbo::geometry::point_traits< PointType >
 type traits for point More...
 
class  limbo::geometry::rectangle_traits< RectType >
 type traits for rectangle More...
 
class  limbo::geometry::container_traits< ContainerType >
 type traits for containers such as vector, list, multiset More...
 
struct  limbo::geometry::container_traits< std::vector< T > >
 partial specialization of limbo::geometry::container_traits for commonly used data structures like std::vector More...
 
struct  limbo::geometry::container_traits< std::list< T > >
 partial specialization of limbo::geometry::container_traits for commonly used data structures like std::list More...
 

Namespaces

 limbo
 namespace for Limbo
 
 limbo::geometry
 namespace for Limbo.Geometry
 

Enumerations

enum  limbo::geometry::orientation_2d_enum { HORIZONTAL = 0, VERTICAL = 1 }
 orientation type for lines
 
enum  limbo::geometry::slicing_orientation_2d {
  HORIZONTAL_SLICING = 1, VERTICAL_SLICING = 2, limbo::geometry::HOR_VER_SLICING = 3, limbo::geometry::HOR_VER_SA_SLICING = 4,
  limbo::geometry::HOR_VER_AR_SLICING = 5
}
 orientation type for slicing More...
 
enum  limbo::geometry::direction_2d { LEFT = 0, BOTTOM = 1, RIGHT = 2, TOP = 3 }
 direction type for rectangles
 
enum  limbo::geometry::winding_direction { CLOCKWISE = 0, COUNTERCLOCKWISE = 1, UNKNOWN_WINDING = 2 }
 winding direction type CLOCKWISE and COUNTERCLOCKWISE refers to winding direction of a polygon
 

Functions

std::string limbo::geometry::to_string (slicing_orientation_2d slicing_orient)
 convert enum type of slicing orientation to string More...
 
template<typename PointSet >
coordinate_traits< typename
point_traits< typename
container_traits< PointSet >
::value_type >::area_type > 
limbo::geometry::area (PointSet const &vPoint)
 calculate signed area of a polygon, the result is positive if its winding is CLOCKWISE More...
 

Detailed Description

Contains utilities for geometric types, such as type traits, area calculator. I'm trying to make these setting as similar as Boost.Polygon, which will lead to easier embedding.

Author
Yibo Lin
Date
Oct 2014

Definition in file Geometry.h.