Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
CoordinateSequence.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_GEAR_GEOM_COORDINATESEQUENCE_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_COORDINATESEQUENCE_HPP_INCLUDED
6 
7 #include <boost/shared_ptr.hpp>
8 
9 #include <vector>
10 #include <string>
11 
12 #include "fire/export.hpp"
13 
14 namespace fire {
15 namespace gear {
16 namespace geom {
17 class Coordinate;
18 } // namespace geom
19 } // namespace gear
20 } // namespace fire
21 
28 namespace fire {
35 namespace gear {
42 namespace geom {
49 class FIRE_ENGINE_DLL CoordinateSequence {
50  private:
57  std::auto_ptr< std::vector< Coordinate* > > coordinates;
58 
59  public:
73  virtual ~CoordinateSequence();
85  CoordinateSequence* clone() const;
102  const Coordinate& getAt(std::size_t index) const;
119  double getXAt(std::size_t index) const;
136  double getYAt(std::size_t index) const;
153  double getZAt(std::size_t index) const;
170  void getAt(std::size_t index, Coordinate& coordinate) const;
182  std::size_t getSize() const;
199  void toVector(std::vector< Coordinate >& coordinates) const;
216  void add(const std::vector< Coordinate >& coordinates, bool allowRepeated = true);
233  void add(const CoordinateSequence& coordinateSequence, bool allowRepeated = true);
250  void add(const Coordinate& coordinate, bool allowRepeated = true);
272  void add(std::size_t index, const Coordinate& coordinate, bool allowRepeated = true);
289  void setAt(const Coordinate& coordinate, std::size_t index);
306  void setXAt(std::size_t index, double x);
323  void setYAt(std::size_t index, double y);
340  void setZAt(std::size_t index, double z);
352  void deleteAt(std::size_t index);
364  std::string toString() const;
381  bool equals(const CoordinateSequence& coordinateSequence) const;
382 };
383 } // namespace geom
384 } // namespace gear
385 } // namespace fire
386 
387 #endif
Definition: Coordinate.hpp:48
Definition: CoordinateSequence.hpp:49