OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimPointCloudGeometry.h
Go to the documentation of this file.
1 //**************************************************************************************************
2 //
3 // OSSIM (http://trac.osgeo.org/ossim/)
4 //
5 // License: MIT -- See LICENSE.txt file in the top level directory for more details.
6 //
7 //**************************************************************************************************
8 // $Id$
9 
10 #ifndef ossimPointCloudGeometry_HEADER
11 #define ossimPointCloudGeometry_HEADER
12 
15 #include <ossim/base/ossimObject.h>
16 #include <ossim/base/ossimGrect.h>
18 
19 
20 /***************************************************************************************************
21  * This class represents the 3D geometry of the point cloud dataset.
22  * NOTE: See below for details on position format. It is the responsibility of the derived
23  * ossimPointCloudHandlers to convert the ray point positions into either geographic or map-meters
24  * before storing a point in ossimPointCloudRecord.
25  **************************************************************************************************/
27 {
28 public:
30  {
32  GEOGRAPHIC, // x=lon, y=lat, z=ellipsoid height
33  MAP_PROJECTED, // x=easting, y=northing, z=ellipsoid height
34  ECF_METERS // X, Y, Z (see base/ossimEcef)
35  };
36 
43 
49  : m_format(f),
50  m_projection(0),
51  m_datum (ossimDatumFactory::instance()->wgs84()) {}
52 
54 
55  bool operator==(const ossimPointCloudGeometry& other) const;
56 
63  PositionFormat getRawPosFormat() const { return m_format; }
64 
69  PositionFormat getStoredPosFormat() const { return (m_format==ECF_METERS) ? GEOGRAPHIC : m_format; }
70 
71  const ossimMapProjection* getProjection() const { return m_projection.get(); }
72  const ossimDatum* getDatum() const { return m_datum; }
73 
78  void convertPos(const ossimDpt3d& stored_pos, ossimGpt& converted_gpos) const;
79 
80 private:
84 
86 };
87 
88 #endif /* ossimPointCloudGeometry_HEADER */
#define OSSIMDLLEXPORT
const ossimDatum * getDatum() const
ossimRefPtr< ossimMapProjection > m_projection
PositionFormat getRawPosFormat() const
While the raw point positions may be specified in the data file as either geographic, map projected (feet or meters), or ECF meters, the point positions are stored in OSSIM as either as geographic or map (meters) only.
#define TYPE_DATA
Definition: ossimRtti.h:339
bool operator==(const ossimRefPtr< _Tp1 > &__a, const ossimRefPtr< _Tp2 > &__b) noexcept
Definition: ossimRefPtr.h:101
const ossimMapProjection * getProjection() const
ossimPointCloudGeometry(PositionFormat f=GEOGRAPHIC)
If arg left to default GEOGRAPHIC, this geometry is essentially unity transform except for a possible...
PositionFormat getStoredPosFormat() const
This method will return either GEOGRAPHIC or MAP_PROJECTION.