point Sınıfı
Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Şöyle yaparız.
Giriş
Şu satırı dahil ederiz.
#include <boost/geometry.hpp>
Kolay kullanım için şu şöyle yaparız.namespace bg = boost::geometry;
TanımlamaŞöyle yaparız.
typedef bg::model::point<float,2,bg::cs::cartesian> point;
ConstructorŞöyle yaparız.
point p (0,0)
rtree İle Kullanımı
point rtree ile kullanılırken genellikle pair şeklinde kullanılıyor. Yani rtree şöyle dolduruluyor.
typedef bg::model::point<float, 2, bg::cs::cartesian> point;
typedef std::pair<point, unsigned> value;
bgi::rtree< value, bgi::quadratic<16> > rtree;
// create some values
for ( unsigned i = 0 ; i < 10 ; ++i )
{
point p = point(i, i);
rtree.insert(std::make_pair(p, i));
}
Dolayısıyla rtree sorguları da geriye pair veriyor. Bu pair'lerdeki noktalara erişmek için pair.first.get<0>, pair.first.get<1> şeklinde şöyle yaparız.
// search for nearest neighbours
std::vector<value> returned_values;
point sought = point(5, 5);
rtree.query(bgi::satisfies([&](value const& v) {...}),
std::back_inserter(returned_values));
// print returned values
value to_print_out;
for (size_t i = 0; i < returned_values.size(); i++) {
to_print_out = returned_values[i];
float x = to_print_out.first.get<0>();
float y = to_print_out.first.get<1>();
std::cout << "Select point: " << to_print_out.second << std::endl;
std::cout << "x: " << x << ", y: " << y << std::endl;
}
point_xy Sınıfı
Giriş
Şu satırı dahil ederiz.
Şöyle yaparız.
Giriş
Şu satırı dahil ederiz.
#include <boost/geometry.hpp>
Ya da şu satırı dahil ederiz.
#include <boost/geometry/geometries/point_xy.hpp>
TanımlamaŞöyle yaparız.
typedef boost::geometry::model::d2::point_xy<double
> point_2d;
Şöyle yaparız.namespace bg = boost::geometry;
namespace bgm = bg::model;
using point = bgm::d2::point_xy<int>;
Hiç yorum yok:
Yorum Gönder