More fixes to BoundingBox

This commit is contained in:
Alessandro Ranellucci 2014-01-06 19:42:31 +01:00
parent 9c0a6a79d3
commit ea47f3b6e7
2 changed files with 8 additions and 7 deletions

View File

@ -73,6 +73,7 @@ t/14_geometry.t
t/15_config.t t/15_config.t
t/16_flow.t t/16_flow.t
t/17_boundingbox.t t/17_boundingbox.t
xsp/BoundingBox.xsp
xsp/Clipper.xsp xsp/Clipper.xsp
xsp/Config.xsp xsp/Config.xsp
xsp/ExPolygon.xsp xsp/ExPolygon.xsp

View File

@ -19,9 +19,9 @@ class BoundingBoxBase
PointClass min; PointClass min;
PointClass max; PointClass max;
BoundingBoxBase();
BoundingBoxBase(const std::vector<PointClass> points); BoundingBoxBase(const std::vector<PointClass> points);
//virtual ~BoundingBoxBase() {}; void merge(const BoundingBoxBase<PointClass> &bb);
void merge(const BoundingBoxBase &bb);
void scale(double factor); void scale(double factor);
}; };
@ -29,8 +29,8 @@ template <class PointClass>
class BoundingBox2Base : public BoundingBoxBase<PointClass> class BoundingBox2Base : public BoundingBoxBase<PointClass>
{ {
public: public:
BoundingBox2Base();
BoundingBox2Base(const std::vector<PointClass> points) : BoundingBoxBase<PointClass>(points) {}; BoundingBox2Base(const std::vector<PointClass> points) : BoundingBoxBase<PointClass>(points) {};
//virtual ~BoundingBox2Base() {};
PointClass size() const; PointClass size() const;
void translate(coordf_t x, coordf_t y); void translate(coordf_t x, coordf_t y);
PointClass center() const; PointClass center() const;
@ -40,9 +40,9 @@ template <class PointClass>
class BoundingBox3Base : public BoundingBoxBase<PointClass> class BoundingBox3Base : public BoundingBoxBase<PointClass>
{ {
public: public:
BoundingBox3Base();
BoundingBox3Base(const std::vector<PointClass> points); BoundingBox3Base(const std::vector<PointClass> points);
//virtual ~BoundingBox3Base() {}; void merge(const BoundingBox3Base<PointClass> &bb);
void merge(const BoundingBox3Base &bb);
PointClass size() const; PointClass size() const;
void translate(coordf_t x, coordf_t y, coordf_t z); void translate(coordf_t x, coordf_t y, coordf_t z);
PointClass center() const; PointClass center() const;
@ -53,7 +53,7 @@ class BoundingBox : public BoundingBox2Base<Point>
public: public:
void polygon(Polygon* polygon) const; void polygon(Polygon* polygon) const;
BoundingBox(); BoundingBox() {};
BoundingBox(const Points points) : BoundingBox2Base<Point>(points) {}; BoundingBox(const Points points) : BoundingBox2Base<Point>(points) {};
}; };
@ -62,7 +62,7 @@ class BoundingBox3 : public BoundingBox3Base<Point3> {};
class BoundingBoxf3 : public BoundingBox3Base<Pointf3> { class BoundingBoxf3 : public BoundingBox3Base<Pointf3> {
public: public:
BoundingBoxf3(); BoundingBoxf3() {};
BoundingBoxf3(const std::vector<Pointf3> points) : BoundingBox3Base<Pointf3>(points) {}; BoundingBoxf3(const std::vector<Pointf3> points) : BoundingBox3Base<Pointf3>(points) {};
}; };