Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

model::d2::point_xy

2D point in Cartesian coordinate system

Model of

Point Concept

Synopsis

template<typename CoordinateType, typename CoordinateSystem>
class model::d2::point_xy
      : public model::point< CoordinateType, 2, cs::cartesian >
{
  // ...
};

Template parameter(s)

Parameter

Default

Description

typename CoordinateType

numeric type, for example, double, float, int

typename CoordinateSystem

cs::cartesian

coordinate system, defaults to cs::cartesian

Constructor(s)

Function

Description

Parameters

point_xy()

Default constructor, no initialization.

point_xy(CoordinateType const & x, CoordinateType const & y)

Constructor with x/y values.

CoordinateType const &: x:

CoordinateType const &: y:

Member Function(s)

Function

Description

Parameters

Returns

constexpr CoordinateType const & x()

Get x-value.

constexpr CoordinateType const & y()

Get y-value.

void x(CoordinateType const & v)

Set x-value.

CoordinateType const &: v:

void y(CoordinateType const & v)

Set y-value.

CoordinateType const &: v:

Header

Either

#include <boost/geometry/geometries/geometries.hpp>

Or

#include <boost/geometry/geometries/point_xy.hpp>

Examples

Declaration and use of the Boost.Geometry model::d2::point_xy, modelling the Point Concept

#include <iostream>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>

namespace bg = boost::geometry;

int main()
{
    bg::model::d2::point_xy<double> point1;
    bg::model::d2::point_xy<double> point2(1.0, 2.0); 1

    bg::set<0>(point1, 1.0); 2
    point1.y(2.0); 3

    double x = bg::get<0>(point1); 4
    double y = point1.y(); 5

    std::cout << x << ", " << y << std::endl;
    return 0;
}

1

Construct, assigning coordinates.

2

Set a coordinate, generic.

3

Set a coordinate, class-specific (Note: prefer bg::set()).

4

Get a coordinate, generic.

5

Get a coordinate, class-specific (Note: prefer bg::get()).

Output:

1, 2
Notes
[Note] Note

Coordinates are not initialized. If the constructor with parameters is not called and points are not assigned using set or assign then the coordinate values will contain garbage


PrevUpHomeNext