15#ifndef DRACO_COMPRESSION_POINT_CLOUD_ALGORITHMS_FLOAT_POINTS_TREE_ENCODER_H_
16#define DRACO_COMPRESSION_POINT_CLOUD_ALGORITHMS_FLOAT_POINTS_TREE_ENCODER_H_
55 template <
class InputIteratorT>
56 bool EncodePointCloud(InputIteratorT points_begin, InputIteratorT points_end);
59 uint32_t
version()
const {
return version_; }
64 float range()
const {
return qinfo_.range; }
68 return "FloatPointsTreeEncoder: IntegerPointsKDTreeEncoder";
70 return "FloatPointsTreeEncoder: Unsupported Method";
75 void Clear() { buffer_.
Clear(); }
76 bool EncodePointCloudKdTreeInternal(std::vector<Point3ui> *qpoints);
78 static const uint32_t version_;
79 QuantizationInfo qinfo_;
82 EncoderBuffer buffer_;
83 uint32_t compression_level_;
86template <
class InputIteratorT>
88 InputIteratorT points_end) {
92 num_points_ = std::distance(points_begin, points_end);
96 std::vector<Point3ui> qpoints;
97 qpoints.reserve(num_points_);
99 std::back_inserter(qpoints));
112 if (num_points_ == 0) {
117 return EncodePointCloudKdTreeInternal(&qpoints);
119 fprintf(stderr,
"Method not supported. \n");
Definition encoder_buffer.h:29
void Clear()
Definition encoder_buffer.cc:26
bool Encode(const T &data)
Definition encoder_buffer.h:60
EncoderBuffer * buffer()
Definition float_points_tree_encoder.h:57
uint32_t version() const
Definition float_points_tree_encoder.h:59
uint32_t compression_level() const
Definition float_points_tree_encoder.h:62
std::string identification_string() const
Definition float_points_tree_encoder.h:66
uint32_t num_points() const
Definition float_points_tree_encoder.h:65
float range() const
Definition float_points_tree_encoder.h:64
uint32_t & quantization_bits()
Definition float_points_tree_encoder.h:61
FloatPointsTreeEncoder(PointCloudCompressionMethod method)
Definition float_points_tree_encoder.cc:29
uint32_t quantization_bits() const
Definition float_points_tree_encoder.h:60
bool EncodePointCloud(InputIteratorT points_begin, InputIteratorT points_end)
Definition float_points_tree_encoder.h:87
uint32_t & compression_level()
Definition float_points_tree_encoder.h:63
Definition attribute_octahedron_transform.cc:21
PointCloudCompressionMethod
Definition point_cloud_compression_method.h:21
@ KDTREE
Definition point_cloud_compression_method.h:27
OutputIterator QuantizePoints3(const PointIterator &begin, const PointIterator &end, QuantizationInfo *info, OutputIterator oit)
Definition quantize_points_3.h:32