X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Flibr2c2%2Fprofile.h;h=7a19fbe39998adc45ed6171fdc41e394cf0e8793;hb=c5f5ec54e81a6a85f911fa1075a0939a7352fbfd;hp=00132e9d9d8455d73923b54719af21c948fe180f;hpb=949b13aae247fa53579ec1cda9142ccc8755acde;p=r2c2.git diff --git a/source/libr2c2/profile.h b/source/libr2c2/profile.h index 00132e9..7a19fbe 100644 --- a/source/libr2c2/profile.h +++ b/source/libr2c2/profile.h @@ -23,22 +23,29 @@ public: Loader(Profile &); private: void point(float, float); + void smooth_point(float, float); + }; + + struct Vertex + { + Point pos; + Point normal; + bool smooth; }; private: - std::vector points; + std::vector 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