15#ifndef DRACO_COMPRESSION_POINT_CLOUD_POINT_CLOUD_ENCODER_H_
16#define DRACO_COMPRESSION_POINT_CLOUD_POINT_CLOUD_ENCODER_H_
53 return static_cast<int>(attributes_encoders_.size());
56 return attributes_encoders_[i].get();
61 attributes_encoders_.push_back(std::move(att_enc));
62 return static_cast<int>(attributes_encoders_.size() - 1);
122 num_encoded_points_ = num_points;
135 bool RearrangeAttributesEncoders();
138 std::vector<std::unique_ptr<AttributesEncoder>> attributes_encoders_;
141 std::vector<int32_t> attribute_to_encoder_map_;
146 std::vector<int32_t> attributes_encoder_ids_order_;
153 size_t num_encoded_points_;
Definition attributes_encoder.h:29
Definition encoder_buffer.h:29
Definition point_attribute.h:33
const EncoderOptions * options() const
Definition point_cloud_encoder.h:76
void set_num_encoded_points(size_t num_points)
Definition point_cloud_encoder.h:121
virtual bool EncodeAttributesEncoderIdentifier(int32_t)
Definition point_cloud_encoder.h:111
int AddAttributesEncoder(std::unique_ptr< AttributesEncoder > att_enc)
Definition point_cloud_encoder.h:60
virtual Status EncodeGeometryData()
Definition point_cloud_encoder.h:88
virtual bool EncodePointAttributes()
Definition point_cloud_encoder.cc:103
PointCloudEncoder()
Definition point_cloud_encoder.cc:23
virtual EncodedGeometryType GetGeometryType() const
Definition point_cloud_encoder.h:41
const PointCloud * point_cloud() const
Definition point_cloud_encoder.h:77
size_t num_encoded_points() const
Definition point_cloud_encoder.h:50
virtual bool InitializeEncoder()
Definition point_cloud_encoder.h:82
virtual bool EncodeEncoderData()
Definition point_cloud_encoder.h:85
bool MarkParentAttribute(int32_t parent_att_id)
Definition point_cloud_encoder.cc:172
int num_attributes_encoders() const
Definition point_cloud_encoder.h:52
virtual bool GenerateAttributesEncoders()
Definition point_cloud_encoder.cc:148
const PointAttribute * GetPortableAttribute(int32_t point_attribute_id)
Definition point_cloud_encoder.cc:185
AttributesEncoder * attributes_encoder(int i)
Definition point_cloud_encoder.h:55
EncoderBuffer * buffer()
Definition point_cloud_encoder.h:75
virtual bool GenerateAttributesEncoder(int32_t att_id)=0
Status Encode(const EncoderOptions &options, EncoderBuffer *out_buffer)
Definition point_cloud_encoder.cc:30
virtual ~PointCloudEncoder()=default
virtual void ComputeNumberOfEncodedPoints()=0
void SetPointCloud(const PointCloud &pc)
Definition point_cloud_encoder.cc:26
virtual uint8_t GetEncodingMethod() const =0
virtual bool EncodeAllAttributes()
Definition point_cloud_encoder.cc:163
Definition point_cloud.h:29
Definition attribute_octahedron_transform.cc:21
EncodedGeometryType
Definition compression_shared.h:41
@ POINT_CLOUD
Definition compression_shared.h:43
Status OkStatus()
Definition status.h:66
EncoderOptionsBase< int32_t > EncoderOptions
Definition encoder_options.h:97