Unverified Commit 1639082a authored by ihumphrey's avatar ihumphrey Committed by GitHub
Browse files

Merge branch 'LroLidar_Infrastructure' into LroLidar_Infrastructure

parents 341a8a5e 9cfbbac0
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -35,13 +35,22 @@ namespace Isis {
  }


  /**
   * Adds a LidarControlPoint to the LidarData.
   *
   * @param QSharedPointer<LidarControlPoint> point LidarControlPoint to add.
   */
  void LidarData::insert(QSharedPointer<LidarControlPoint> point) {
    m_points.insert(point->GetId(), point);
  }


  /**
   * Gets the list of Lidar data points.
   *
   * @return @b QList<QSharedPointer<LidarControlPoint>> Returns list of Lidar control points.
   */
  QList< QSharedPointer<LidarControlPoint> > LidarData::points() const {
    // Placeholder code follows
    return m_points.values();
  }

@@ -107,6 +116,4 @@ namespace Isis {
  void LidarData::write(FileName outputFile) {

  }


}
+14 −9
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ namespace Isis {
   * @internal
   *   @history 2018-01-29 Ian Humphrey - original version.
   *   @history 2018-01-31 Tyler Wilson - Implemented Lidar::read(Filename &).
   *   @history 2018-01-31 Ian Humphrey - Added insert method to insert a LidarControlPoint into
   *                           the LidarData. Added documentation for m_points.
   */
  class LidarData {

@@ -26,12 +28,15 @@ namespace Isis {
      LidarData();
      LidarData(FileName);

      void insert(QSharedPointer<LidarControlPoint> point);

      QList< QSharedPointer<LidarControlPoint> > points() const;

      void read(FileName);
      void write(FileName);

    /** */
    private:
      /** Hash of the LidarControlPoints this class contains. */
      QHash< QString, QSharedPointer<LidarControlPoint> > m_points;

  };
+35 −1
Original line number Diff line number Diff line
#include "LidarData.h"

#include "FileName.h"
#include "iTime.h"
#include "LidarControlPoint.h"
#include "Preference.h"

using namespace std;
using namespace Isis;


/**
 * Unit test for the LIDARData class.
 *
 * @internal
 *   @history 2018-01-29 Ian Humphrey - original version.
 *   @history 2018-01-31 Ian Humphrey - added tests for points() and insert().
 */
int main(int argc, char *argv[]) {
  // Set up our unit test preferences
@@ -20,4 +23,35 @@ int main(int argc, char *argv[]) {
  FileName csvFile("RDR_98E100E_60N62NPointPerRow_csv_table-original.csv");
  data.read(csvFile);

  // Test LidarData()
  cout << "Testing default constructor... " << endl;
  LidarData defaultData;
  cout << "\tnumber of points: " << defaultData.points().size() << endl;
  cout << endl;

  // Test LidarData(FileName)
  cout << "Testing LidarData(FileName)... " << endl;
  cout << endl;

  // Test insert(QSharedPointer<LidarControlPoint>)
  cout << "Testing insert(QSharedPointer<LidarControlPoint>)... " << endl;
  iTime time("2018-01-31T14:05:00.1234");
  double range = 55.0;
  double sigmaRange = 0.1;
  QSharedPointer<LidarControlPoint> lcp =
      QSharedPointer<LidarControlPoint>(new LidarControlPoint(time, range, sigmaRange));
  lcp->SetId("testLidarControlPoint1");
  defaultData.insert(lcp);
  cout << "\tnumber of points: " << defaultData.points().size() << endl;
  cout << "\tname of point:    " << defaultData.points().first()->GetId() << endl;
  cout << endl;

  // Test read()
  cout << "Testing read(FileName)... " << endl;
  cout << endl;

  // Test write()
  cout << "Testing write(FileName)... " << endl;
  cout << endl;

}