Hi there,
Firstly, 'point_traits' is used for the segment type instead of 'segment_traits'. Secondly, 'p1()' and 'p0()' should be simply 'p0' and 'p1'. So this code:
template <>
struct point_traits<Segment> {
typedef int coordinate_type;
typedef Point point_type;
static inline coordinate_type get(const Segment& segment, direction_1d dir) {
return dir.to_int() ? segment.p1() : segment.p0();
}
};
should be:
template <>
struct segment_traits<Segment> {
typedef int coordinate_type;
typedef Point point_type;
static inline coordinate_type get(const Segment& segment, direction_1d dir) {
return dir.to_int() ? segment.p1 : segment.p0;
}
};
Apologies if this has already been covered in another post.
])arren.