| 989 | |
| 990 | template <class Path, class Trans> |
| 991 | struct path_ref |
| 992 | : public shape_ref<Path, Trans> |
| 993 | { |
| 994 | typedef typename Path::coord_type coord_type; |
| 995 | typedef typename Path::point_type point_type; |
| 996 | typedef typename Path::box_type box_type; |
| 997 | typedef Trans trans_type; |
| 998 | typedef Path path_type; |
| 999 | typedef db::path_point_iterator<Path, trans_type> iterator; |
| 1000 | typedef db::generic_repository<coord_type> repository_type; |
| 1001 | typedef db::object_tag< path_ref<Path, Trans> > tag; |
| 1002 | |
| 1003 | /** |
| 1004 | * @brief The default constructor. |
| 1005 | * |
| 1006 | * The default constructor creates a invalid path reference |
| 1007 | */ |
| 1008 | path_ref () |
| 1009 | : shape_ref<Path, Trans> () |
| 1010 | { |
| 1011 | // .. nothing yet .. |
| 1012 | } |
| 1013 | |
| 1014 | /** |
| 1015 | * @brief The constructor creating a reference from an actual path |
| 1016 | */ |
| 1017 | path_ref (const path_type &p, repository_type &rep) |
| 1018 | : shape_ref<Path, Trans> (p, rep) |
| 1019 | { |
| 1020 | // .. nothing yet .. |
| 1021 | } |
| 1022 | |
| 1023 | /** |
| 1024 | * @brief The constructor creating a reference from an path pointer and transformation |
| 1025 | * |
| 1026 | * The path pointer passed is assumed to reside in a proper repository. |
| 1027 | */ |
| 1028 | path_ref (const path_type *p, const Trans &t) |
| 1029 | : shape_ref<Path, Trans> (p, t) |
| 1030 | { |
| 1031 | // .. nothing yet .. |
| 1032 | } |
| 1033 | |
| 1034 | /** |
| 1035 | * @brief The translation constructor. |
| 1036 | * |
| 1037 | * This constructor allows one to copy a path reference from one |
| 1038 | * repository to another |
| 1039 | */ |
| 1040 | path_ref (const path_ref &ref, repository_type &rep) |
| 1041 | : shape_ref<Path, Trans> (ref, rep) |
| 1042 | { |
| 1043 | // .. nothing yet .. |
| 1044 | } |
| 1045 | |
| 1046 | /** |
| 1047 | * @brief The point iterator begin function |
| 1048 | * |
no outgoing calls
no test coverage detected