15#ifndef DRACO_COMPRESSION_ATTRIBUTES_SEQUENTIAL_ATTRIBUTE_ENCODER_H_
16#define DRACO_COMPRESSION_ATTRIBUTES_SEQUENTIAL_ATTRIBUTE_ENCODER_H_
50 const std::vector<PointIndex> &point_ids);
62 return static_cast<int>(parent_attributes_.size());
67 if (portable_attribute_ !=
nullptr) {
68 return portable_attribute_.get();
99 virtual bool EncodeValues(
const std::vector<PointIndex> &point_ids,
105 portable_attribute_ = std::move(att);
121 std::vector<int32_t> parent_attributes_;
123 bool is_parent_encoder_;
129 std::unique_ptr<PointAttribute> portable_attribute_;
Definition encoder_buffer.h:29
Definition point_attribute.h:33
Definition point_cloud_encoder.h:29
Definition prediction_scheme_interface.h:27
virtual bool IsLossyEncoder() const
Definition sequential_attribute_encoder.h:59
virtual bool TransformAttributeToPortableFormat(const std::vector< PointIndex > &point_ids)
Definition sequential_attribute_encoder.cc:40
virtual ~SequentialAttributeEncoder()=default
int NumParentAttributes() const
Definition sequential_attribute_encoder.h:61
const PointAttribute * GetPortableAttribute() const
Definition sequential_attribute_encoder.h:66
virtual bool EncodePortableAttribute(const std::vector< PointIndex > &point_ids, EncoderBuffer *out_buffer)
Definition sequential_attribute_encoder.cc:46
void SetPortableAttribute(std::unique_ptr< PointAttribute > att)
Definition sequential_attribute_encoder.h:104
PointCloudEncoder * encoder() const
Definition sequential_attribute_encoder.h:83
PointAttribute * portable_attribute()
Definition sequential_attribute_encoder.h:111
int attribute_id() const
Definition sequential_attribute_encoder.h:82
virtual bool Init(PointCloudEncoder *encoder, int attribute_id)
Definition sequential_attribute_encoder.cc:25
virtual bool SetPredictionSchemeParentAttributes(PredictionSchemeInterface *ps)
Definition sequential_attribute_encoder.cc:93
void MarkParentAttribute()
Definition sequential_attribute_encoder.cc:75
const PointAttribute * attribute() const
Definition sequential_attribute_encoder.h:81
bool is_parent_encoder() const
Definition sequential_attribute_encoder.h:102
virtual bool EncodeDataNeededByPortableTransform(EncoderBuffer *out_buffer)
Definition sequential_attribute_encoder.cc:55
int GetParentAttributeId(int i) const
Definition sequential_attribute_encoder.h:64
virtual uint8_t GetUniqueId() const
Definition sequential_attribute_encoder.h:77
virtual bool InitializeStandalone(PointAttribute *attribute)
Definition sequential_attribute_encoder.cc:33
virtual bool EncodeValues(const std::vector< PointIndex > &point_ids, EncoderBuffer *out_buffer)
Definition sequential_attribute_encoder.cc:61
virtual bool InitPredictionScheme(PredictionSchemeInterface *ps)
Definition sequential_attribute_encoder.cc:79
SequentialAttributeEncoder()
Definition sequential_attribute_encoder.cc:19
Definition attribute_octahedron_transform.cc:21
@ SEQUENTIAL_ATTRIBUTE_ENCODER_GENERIC
Definition compression_shared.h:73