Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
agg::poly_container_reverse_adaptor< Container > Class Template Reference

#include <src/agg/agg_path_storage.h>

Public Types

typedef Container::value_type vertex_type
 

Public Member Functions

 poly_container_reverse_adaptor ()
 
 poly_container_reverse_adaptor (Container &data, bool closed)
 
void init (Container &data, bool closed)
 
void rewind (unsigned)
 
unsigned vertex (double *x, double *y)
 

Private Attributes

Container * m_container
 
int m_index
 
bool m_closed
 
bool m_stop
 

Detailed Description

template<class Container>
class agg::poly_container_reverse_adaptor< Container >

Member Typedef Documentation

◆ vertex_type

template<class Container >
typedef Container::value_type agg::poly_container_reverse_adaptor< Container >::vertex_type

Constructor & Destructor Documentation

◆ poly_container_reverse_adaptor() [1/2]

template<class Container >
agg::poly_container_reverse_adaptor< Container >::poly_container_reverse_adaptor ( )
inline
486 :
487 m_container(0),
488 m_index(-1),
489 m_closed(false),
490 m_stop(false)
491 {}
Container * m_container
Definition agg_path_storage.h:534
bool m_stop
Definition agg_path_storage.h:537
int m_index
Definition agg_path_storage.h:535
bool m_closed
Definition agg_path_storage.h:536

◆ poly_container_reverse_adaptor() [2/2]

template<class Container >
agg::poly_container_reverse_adaptor< Container >::poly_container_reverse_adaptor ( Container &  data,
bool  closed 
)
inline
493 :
494 m_container(&data),
495 m_index(-1),
496 m_closed(closed),
497 m_stop(false)
498 {}

Member Function Documentation

◆ init()

template<class Container >
void agg::poly_container_reverse_adaptor< Container >::init ( Container &  data,
bool  closed 
)
inline

◆ rewind()

◆ vertex()

template<class Container >
unsigned agg::poly_container_reverse_adaptor< Container >::vertex ( double *  x,
double *  y 
)
inline
515 {
516 if(m_index >= 0)
517 {
518 bool first = m_index == int(m_container->size() - 1);
519 const vertex_type& v = (*m_container)[m_index--];
520 *x = v.x;
521 *y = v.y;
522 return first ? path_cmd_move_to : path_cmd_line_to;
523 }
524 *x = *y = 0.0;
525 if(m_closed && !m_stop)
526 {
527 m_stop = true;
529 }
530 return path_cmd_stop;
531 }
Container::value_type vertex_type
Definition agg_path_storage.h:484
const Scalar & y
Definition MathFunctions.h:552
@ path_flags_close
Definition agg_basics.h:388
@ path_cmd_move_to
Definition agg_basics.h:371
@ path_cmd_line_to
Definition agg_basics.h:372
@ path_cmd_stop
Definition agg_basics.h:370
@ path_cmd_end_poly
Definition agg_basics.h:378
TCoord< P > x(const P &p)
Definition geometry_traits.hpp:297

References agg::poly_container_reverse_adaptor< Container >::m_closed, agg::poly_container_reverse_adaptor< Container >::m_container, agg::poly_container_reverse_adaptor< Container >::m_index, agg::poly_container_reverse_adaptor< Container >::m_stop, agg::path_cmd_end_poly, agg::path_cmd_line_to, agg::path_cmd_move_to, agg::path_cmd_stop, and agg::path_flags_close.

Member Data Documentation

◆ m_closed

◆ m_container

◆ m_index

◆ m_stop


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