15#ifndef DRACO_COMPRESSION_POINT_CLOUD_ALGORITHMS_FLOAT_POINTS_TREE_DECODER_H_
16#define DRACO_COMPRESSION_POINT_CLOUD_ALGORITHMS_FLOAT_POINTS_TREE_DECODER_H_
34 template <
class OutputIteratorT>
38 template <
class OutputIteratorT>
43 template <
class OutputIteratorT>
45 OutputIteratorT out) {
46 if (
data == 0 || data_size <= 0) {
58 float range()
const {
return qinfo_.range; }
60 uint32_t
version()
const {
return version_; }
63 return "FloatPointsTreeDecoder: IntegerPointsKDTreeDecoder";
65 return "FloatPointsTreeDecoder: Unsupported Method";
75 std::vector<Point3ui> *qpoints);
77 static const uint32_t version_ = 3;
81 uint32_t compression_level_;
86 uint32_t num_points_from_header_;
92template <
class OutputIteratorT>
94 OutputIteratorT &&out) {
95 OutputIteratorT local = std::forward<OutputIteratorT>(out);
100template <
class OutputIteratorT>
102 OutputIteratorT &out) {
103 std::vector<Point3ui> qpoints;
105 uint32_t decoded_version;
106 if (!buffer->
Decode(&decoded_version)) {
110 if (decoded_version == 3) {
111 int8_t method_number;
112 if (!buffer->
Decode(&method_number)) {
119 if (!DecodePointCloudKdTreeInternal(buffer, &qpoints)) {
123 fprintf(stderr,
"Method not supported. \n");
126 }
else if (decoded_version == 2) {
127 if (!DecodePointCloudKdTreeInternal(buffer, &qpoints)) {
131 fprintf(stderr,
"Version not supported. \n");
Definition decoder_buffer.h:30
void Init(const char *data, size_t data_size)
Definition decoder_buffer.cc:29
bool Decode(T *out_val)
Definition decoder_buffer.h:68
void set_bitstream_version(uint16_t version)
Definition decoder_buffer.h:111
uint32_t compression_level() const
Definition float_points_tree_decoder.h:57
bool DecodePointCloud(const char *data, size_t data_size, OutputIteratorT out)
Definition float_points_tree_decoder.h:44
float range() const
Definition float_points_tree_decoder.h:58
std::string identification_string() const
Definition float_points_tree_decoder.h:61
uint32_t num_points() const
Definition float_points_tree_decoder.h:59
FloatPointsTreeDecoder()
Definition float_points_tree_decoder.cc:66
uint32_t version() const
Definition float_points_tree_decoder.h:60
bool DecodePointCloud(DecoderBuffer *buffer, OutputIteratorT &out)
Definition float_points_tree_decoder.h:101
uint32_t quantization_bits() const
Definition float_points_tree_decoder.h:56
void set_num_points_from_header(uint32_t num_points)
Definition float_points_tree_decoder.h:69
lazy data
Definition meshpage.php:1583
Definition attribute_octahedron_transform.cc:21
void DequantizePoints3(const QPointIterator &begin, const QPointIterator &end, const QuantizationInfo &info, OutputIterator &oit)
Definition quantize_points_3.h:62
PointCloudCompressionMethod
Definition point_cloud_compression_method.h:21
@ KDTREE
Definition point_cloud_compression_method.h:27
Definition quantize_points_3.h:26