Loader(Profile &);
private:
void point(float, float);
+ void smooth_point(float, float);
+ };
+
+ struct Vertex
+ {
+ Point pos;
+ Point normal;
+ bool smooth;
};
private:
- std::vector<Point> points;
+ std::vector<Vertex> vertices;
Point min_coords;
Point max_coords;
public:
- void append_point(const Point &);
- unsigned get_n_points() const { return points.size(); }
- const Point &get_point(unsigned) const;
+ void append_vertex(const Point &, bool);
+ unsigned get_n_vertices() const { return vertices.size(); }
+ const Vertex &get_vertex(unsigned) const;
const Point &get_min_coords() const { return min_coords; }
const Point &get_max_coords() const { return max_coords; }
float get_width() const { return max_coords.x-min_coords.x; }
float get_height() const { return max_coords.y-min_coords.y; }
- Point get_edge_normal(unsigned) const;
};
} // namespace R2C2