neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::basic_path< PointType > Class Template Reference

#include <path.hpp>

Classes

struct  clip_rect_list
 
struct  missing_move_to
 

Public Types

typedef PointType point_type
 
typedef point_type::coordinate_type coordinate_type
 
typedef point_type::coordinate_type coordinate_delta_type
 
typedef point_type::coordinate_type dimension_type
 
typedef basic_size< coordinate_typesize_type
 
typedef basic_delta< coordinate_typedelta_type
 
typedef basic_rect< coordinate_typemesh_type
 
typedef basic_line< coordinate_typeline_type
 
typedef neolib::vecarray< point_type, 16, -1 > sub_path_type
 
typedef neolib::vecarray< sub_path_type, 1, -1 > sub_paths_type
 
typedef sub_paths_type::size_type sub_paths_size_type
 

Public Member Functions

 basic_path (path_shape aShape=path_shape::ConvexPolygon, sub_paths_size_type aPathCountHint=0)
 
 basic_path (const mesh_type &aRect, path_shape aShape=path_shape::ConvexPolygon)
 
path_shape shape () const
 
void set_shape (path_shape aShape)
 
point_type position () const
 
void set_position (point_type aPosition)
 
const sub_paths_typesub_paths () const
 
sub_paths_typesub_paths ()
 
vertices to_vertices (const typename sub_paths_type::value_type &aPath) const
 
void move_to (const point_type &aPoint, sub_paths_size_type aLineCountHint=0)
 
void move_to (coordinate_type aX, coordinate_type aY, sub_paths_size_type aLineCountHint=0)
 
void line_to (const point_type &aPoint)
 
void line_to (coordinate_type aX, coordinate_type aY)
 
void add_rect (const mesh_type &aRectangle)
 
void inflate (const delta_type &aDelta)
 
void inflate (coordinate_delta_type aDeltaX, coordinate_delta_type aDeltaY)
 
void deflate (const delta_type &aDeltas)
 
void deflate (coordinate_delta_type aDeltaX, coordinate_delta_type aDeltaY)
 
mesh_type bounding_rect (bool aOffsetPosition=true, size_type aPixelWidthAdjustment=size_type{}) const
 
clip_rect_list clip_rects (const point &aOrigin) const
 

Detailed Description

template<typename PointType>
class neogfx::basic_path< PointType >

Definition at line 38 of file path.hpp.

Member Typedef Documentation

◆ coordinate_delta_type

template<typename PointType >
typedef point_type::coordinate_type neogfx::basic_path< PointType >::coordinate_delta_type

Definition at line 44 of file path.hpp.

◆ coordinate_type

template<typename PointType >
typedef point_type::coordinate_type neogfx::basic_path< PointType >::coordinate_type

Definition at line 43 of file path.hpp.

◆ delta_type

template<typename PointType >
typedef basic_delta<coordinate_type> neogfx::basic_path< PointType >::delta_type

Definition at line 47 of file path.hpp.

◆ dimension_type

template<typename PointType >
typedef point_type::coordinate_type neogfx::basic_path< PointType >::dimension_type

Definition at line 45 of file path.hpp.

◆ line_type

template<typename PointType >
typedef basic_line<coordinate_type> neogfx::basic_path< PointType >::line_type

Definition at line 49 of file path.hpp.

◆ mesh_type

template<typename PointType >
typedef basic_rect<coordinate_type> neogfx::basic_path< PointType >::mesh_type

Definition at line 48 of file path.hpp.

◆ point_type

template<typename PointType >
typedef PointType neogfx::basic_path< PointType >::point_type

Definition at line 42 of file path.hpp.

◆ size_type

template<typename PointType >
typedef basic_size<coordinate_type> neogfx::basic_path< PointType >::size_type

Definition at line 46 of file path.hpp.

◆ sub_path_type

template<typename PointType >
typedef neolib::vecarray<point_type, 16, -1> neogfx::basic_path< PointType >::sub_path_type

Definition at line 50 of file path.hpp.

◆ sub_paths_size_type

template<typename PointType >
typedef sub_paths_type::size_type neogfx::basic_path< PointType >::sub_paths_size_type

Definition at line 52 of file path.hpp.

◆ sub_paths_type

template<typename PointType >
typedef neolib::vecarray<sub_path_type, 1, -1> neogfx::basic_path< PointType >::sub_paths_type

Definition at line 51 of file path.hpp.

Constructor & Destructor Documentation

◆ basic_path() [1/2]

template<typename PointType >
neogfx::basic_path< PointType >::basic_path ( path_shape  aShape = path_shape::ConvexPolygon,
sub_paths_size_type  aPathCountHint = 0 
)
inline

Definition at line 86 of file path.hpp.

◆ basic_path() [2/2]

template<typename PointType >
neogfx::basic_path< PointType >::basic_path ( const mesh_type aRect,
path_shape  aShape = path_shape::ConvexPolygon 
)
inline

Definition at line 90 of file path.hpp.

Member Function Documentation

◆ add_rect()

template<typename PointType >
void neogfx::basic_path< PointType >::add_rect ( const mesh_type aRectangle)
inline

Definition at line 23 of file path.inl.

◆ bounding_rect()

template<typename PointType >
basic_path< PointType >::mesh_type neogfx::basic_path< PointType >::bounding_rect ( bool  aOffsetPosition = true,
size_type  aPixelWidthAdjustment = size_type{} 
) const
inline

Definition at line 34 of file path.inl.

◆ clip_rects()

template<typename PointType >
basic_path< PointType >::clip_rect_list neogfx::basic_path< PointType >::clip_rects ( const point aOrigin) const
inline

Definition at line 82 of file path.inl.

◆ deflate() [1/2]

template<typename PointType >
void neogfx::basic_path< PointType >::deflate ( const delta_type aDeltas)
inline

Definition at line 225 of file path.hpp.

◆ deflate() [2/2]

template<typename PointType >
void neogfx::basic_path< PointType >::deflate ( coordinate_delta_type  aDeltaX,
coordinate_delta_type  aDeltaY 
)
inline

Definition at line 229 of file path.hpp.

◆ inflate() [1/2]

template<typename PointType >
void neogfx::basic_path< PointType >::inflate ( const delta_type aDelta)
inline

Definition at line 203 of file path.hpp.

◆ inflate() [2/2]

template<typename PointType >
void neogfx::basic_path< PointType >::inflate ( coordinate_delta_type  aDeltaX,
coordinate_delta_type  aDeltaY 
)
inline

Definition at line 221 of file path.hpp.

◆ line_to() [1/2]

template<typename PointType >
void neogfx::basic_path< PointType >::line_to ( const point_type aPoint)
inline

Definition at line 176 of file path.hpp.

◆ line_to() [2/2]

template<typename PointType >
void neogfx::basic_path< PointType >::line_to ( coordinate_type  aX,
coordinate_type  aY 
)
inline

Definition at line 198 of file path.hpp.

◆ move_to() [1/2]

template<typename PointType >
void neogfx::basic_path< PointType >::move_to ( const point_type aPoint,
sub_paths_size_type  aLineCountHint = 0 
)
inline

Definition at line 167 of file path.hpp.

◆ move_to() [2/2]

template<typename PointType >
void neogfx::basic_path< PointType >::move_to ( coordinate_type  aX,
coordinate_type  aY,
sub_paths_size_type  aLineCountHint = 0 
)
inline

Definition at line 172 of file path.hpp.

◆ position()

template<typename PointType >
point_type neogfx::basic_path< PointType >::position ( ) const
inline

Definition at line 108 of file path.hpp.

◆ set_position()

template<typename PointType >
void neogfx::basic_path< PointType >::set_position ( point_type  aPosition)
inline

Definition at line 112 of file path.hpp.

◆ set_shape()

template<typename PointType >
void neogfx::basic_path< PointType >::set_shape ( path_shape  aShape)
inline

Definition at line 104 of file path.hpp.

◆ shape()

template<typename PointType >
path_shape neogfx::basic_path< PointType >::shape ( ) const
inline

Definition at line 100 of file path.hpp.

◆ sub_paths() [1/2]

template<typename PointType >
sub_paths_type & neogfx::basic_path< PointType >::sub_paths ( )
inline

Definition at line 121 of file path.hpp.

◆ sub_paths() [2/2]

template<typename PointType >
const sub_paths_type & neogfx::basic_path< PointType >::sub_paths ( ) const
inline

Definition at line 117 of file path.hpp.

◆ to_vertices()

template<typename PointType >
vertices neogfx::basic_path< PointType >::to_vertices ( const typename sub_paths_type::value_type aPath) const
inline

Definition at line 125 of file path.hpp.


The documentation for this class was generated from the following files: