-/* $Id$
-
-This file is part of R²C²
-Copyright © 2010 Mikkosoft Productions, Mikko Rasa
-Distributed under the GPL
-*/
-
#ifndef LIBR2C2_PROFILE_H_
#define LIBR2C2_PROFILE_H_
Loader(Profile &);
private:
void point(float, float);
+ void smooth_point(float, float);
+ };
+
+ struct Vertex
+ {
+ Vector pos;
+ Vector normal;
+ bool smooth;
};
private:
- std::vector<Point> points;
- Point min_coords;
- Point max_coords;
+ std::vector<Vertex> vertices;
+ Vector min_coords;
+ Vector max_coords;
public:
- void append_point(const Point &);
- unsigned get_n_points() const { return points.size(); }
- const Point &get_point(unsigned) const;
- const Point &get_min_coords() const { return min_coords; }
- const Point &get_max_coords() const { return max_coords; }
+ void append_vertex(const Vector &, bool);
+ unsigned get_n_vertices() const { return vertices.size(); }
+ const Vertex &get_vertex(unsigned) const;
+ const Vector &get_min_coords() const { return min_coords; }
+ const Vector &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