MultiPoint.h
Go to the documentation of this file.
1 //=============================================================================
2 // Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
3 // Author: Gonzalo Mier
4 // BSD-3 License
5 //=============================================================================
6 
7 #pragma once
8 #ifndef FIELDS2COVER_TYPES_MULTIPOINT_H_
9 #define FIELDS2COVER_TYPES_MULTIPOINT_H_
10 
11 #include <gdal/ogr_geometry.h>
12 #include <vector>
15 
16 namespace f2c::types {
17 
18 struct MultiPoint :
19  public Geometries<MultiPoint, OGRMultiPoint, wkbMultiPoint, Point> {
20  public:
22  MultiPoint();
23  explicit MultiPoint(const std::vector<Point>& ps);
24  explicit MultiPoint(const std::initializer_list<Point>& ps);
25 
26  size_t size() const;
27 
28  void getGeometry(size_t i, Point& point);
29 
30  void getGeometry(size_t i, Point& point) const;
31 
32  Point getGeometry(size_t i);
33  const Point getGeometry(size_t i) const;
34  const Point getFirstPoint() const;
35  const Point getLastPoint() const;
36 
37  void setGeometry(size_t i, const Point& p);
38 
39  void addGeometry(const Point& p);
40  void addPoint(const Point& p);
41  void addPoint(double x, double y, double z = 0);
42  void addPoints(const MultiPoint& ps);
43 
44  double getInAngle(size_t i) const;
45  double getOutAngle(size_t i) const;
46  double getPointAngle(size_t i) const;
47 
48  void operator*=(double b);
49 };
50 
51 } // namespace f2c::types
52 
53 #endif // FIELDS2COVER_TYPES_MULTIPOINT_H_
f2c::types::MultiPoint::getPointAngle
double getPointAngle(size_t i) const
Definition: MultiPoint.cpp:127
f2c::types::MultiPoint::addPoints
void addPoints(const MultiPoint &ps)
Definition: MultiPoint.cpp:91
Point.h
f2c::types
Types used by fields2cover library.
Definition: Cell.h:20
f2c::types::MultiPoint::getLastPoint
const Point getLastPoint() const
Definition: MultiPoint.cpp:70
f2c::types::MultiPoint::getOutAngle
double getOutAngle(size_t i) const
Definition: MultiPoint.cpp:118
f2c::types::MultiPoint::addPoint
void addPoint(const Point &p)
Definition: MultiPoint.cpp:87
f2c::types::MultiPoint::getGeometry
void getGeometry(size_t i, Point &point)
Definition: MultiPoint.cpp:34
f2c::types::MultiPoint::addGeometry
void addGeometry(const Point &p)
Definition: MultiPoint.cpp:83
f2c::types::MultiPoint
Definition: MultiPoint.h:18
f2c::types::MultiPoint::MultiPoint
MultiPoint()
Definition: MultiPoint.cpp:11
f2c::types::MultiPoint::getInAngle
double getInAngle(size_t i) const
Definition: MultiPoint.cpp:109
8_complete_flow.ps
list ps
Definition: 8_complete_flow.py:43
Geometries.h
f2c::types::MultiPoint::setGeometry
void setGeometry(size_t i, const Point &p)
Definition: MultiPoint.cpp:75
f2c::types::MultiPoint::operator*=
void operator*=(double b)
Definition: MultiPoint.cpp:103
f2c::types::MultiPoint::getFirstPoint
const Point getFirstPoint() const
Definition: MultiPoint.cpp:66
f2c::types::Point
Definition: Point.h:21
f2c::types::MultiPoint::size
size_t size() const
Definition: MultiPoint.cpp:30
f2c::types::Geometries
Definition: Geometries.h:21


fields2cover
Author(s):
autogenerated on Fri Apr 25 2025 02:18:31