Program Listing for File PointCloudPlyWriter.h

Return to documentation for file (include/sick_safevisionary_base/PointCloudPlyWriter.h)

// -- BEGIN LICENSE BLOCK ----------------------------------------------
// -- END LICENSE BLOCK ------------------------------------------------

#pragma once

#include <cstdint>
#include <string>
#include <vector>

#include "PointXYZ.h"

namespace visionary {

class PointCloudPlyWriter
{
public:
  static bool
  WriteFormatPLY(const char* filename, const std::vector<PointXYZ>& points, bool useBinary);

  static bool WriteFormatPLY(const char* filename,
                             const std::vector<PointXYZ>& points,
                             const std::vector<uint32_t>& rgbaMap,
                             bool useBinary);

  static bool WriteFormatPLY(const char* filename,
                             const std::vector<PointXYZ>& points,
                             const std::vector<uint16_t>& intensityMap,
                             bool useBinary);

  static bool WriteFormatPLY(const char* filename,
                             const std::vector<PointXYZ>& points,
                             const std::vector<uint32_t>& rgbaMap,
                             const std::vector<uint16_t>& intensityMap,
                             bool useBinary);

private:
  // No instantiations
  PointCloudPlyWriter();
  virtual ~PointCloudPlyWriter();
  const PointCloudPlyWriter& operator=(const PointCloudPlyWriter&);
  PointCloudPlyWriter(const PointCloudPlyWriter&);
};

} // namespace visionary