15#ifndef DRACO_COMPRESSION_POINT_CLOUD_ALGORITHMS_QUANTIZE_POINTS_3_H_
16#define DRACO_COMPRESSION_POINT_CLOUD_ALGORITHMS_QUANTIZE_POINTS_3_H_
31template <
class Po
intIterator,
class OutputIterator>
38 for (
auto it = begin; it != end; ++it) {
39 max_range = std::max(std::fabs((*it)[0]), max_range);
40 max_range = std::max(std::fabs((*it)[1]), max_range);
41 max_range = std::max(std::fabs((*it)[2]), max_range);
44 const uint32_t max_quantized_value((1u <<
info->quantization_bits) - 1);
46 quantize.
Init(max_range, max_quantized_value);
47 info->range = max_range;
50 for (
auto it = begin; it != end; ++it) {
52 qpoint[0] = quantize((*it)[0]) + max_quantized_value;
53 qpoint[1] = quantize((*it)[1]) + max_quantized_value;
54 qpoint[2] = quantize((*it)[2]) + max_quantized_value;
61template <
class QPo
intIterator,
class OutputIterator>
67 const uint32_t quantization_bits =
info.quantization_bits;
68 const float range =
info.range;
69 const uint32_t max_quantized_value((1u << quantization_bits) - 1);
71 dequantize.
Init(range, max_quantized_value);
73 for (
auto it = begin; it != end; ++it) {
74 const float x = dequantize((*it)[0] - max_quantized_value);
75 const float y = dequantize((*it)[1] - max_quantized_value);
76 const float z = dequantize((*it)[2] - max_quantized_value);
void info(std::string info)
Definition check.cc:24
Definition quantization_utils.h:59
bool Init(float range, int32_t max_quantized_value)
Definition quantization_utils.cc:29
Definition quantization_utils.h:42
void Init(float range, int32_t max_quantized_value)
Definition quantization_utils.cc:21
#define DRACO_DCHECK_GE(a, b)
Definition macros.h:83
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
OutputIterator QuantizePoints3(const PointIterator &begin, const PointIterator &end, QuantizationInfo *info, OutputIterator oit)
Definition quantize_points_3.h:32
Vector3ui Point3ui
Definition point_cloud_types.h:29
Vector3f Point3f
Definition point_cloud_types.h:27
Definition quantize_points_3.h:26
float range
Definition quantize_points_3.h:28
uint32_t quantization_bits
Definition quantize_points_3.h:27