15#ifndef DRACO_COMPRESSION_ENCODE_BASE_H_
16#define DRACO_COMPRESSION_ENCODE_BASE_H_
27template <
class EncoderOptionsT>
33 : options_(EncoderOptionsT::CreateDefaultOptions()),
34 num_encoded_points_(0),
35 num_encoded_faces_(0) {}
38 const EncoderOptionsT &
options()
const {
return options_; }
39 EncoderOptionsT &
options() {
return options_; }
54 void Reset() { options_ = EncoderOptionsT::CreateDefaultOptions(); }
57 options_.SetSpeed(encoding_speed, decoding_speed);
61 options_.SetGlobalInt(
"encoding_method", encoding_method);
65 options_.SetGlobalInt(
"encoding_submethod", encoding_submethod);
69 int prediction_scheme)
const {
73 "Invalid prediction scheme requested.");
77 "Invalid prediction scheme requested.");
82 "MESH_PREDICTION_TEX_COORDS_DEPRECATED is deprecated.");
86 "MESH_PREDICTION_MULTI_PARALLELOGRAM is deprecated.");
92 "Invalid prediction scheme for attribute type.");
98 "Invalid prediction scheme for attribute type.");
106 "Invalid prediction scheme for attribute type.");
117 EncoderOptionsT options_;
119 size_t num_encoded_points_;
120 size_t num_encoded_faces_;
123template <
class EncoderOptionsT>
125 options_.SetGlobalBool(
"store_number_of_encoded_points", flag);
126 options_.SetGlobalBool(
"store_number_of_encoded_faces", flag);
EncoderOptionsBase< GeometryAttribute::Type > OptionsType
Definition encode_base.h:30
void set_num_encoded_faces(size_t num)
Definition encode_base.h:114
void SetEncodingSubmethod(int encoding_submethod)
Definition encode_base.h:64
void SetSpeedOptions(int encoding_speed, int decoding_speed)
Definition encode_base.h:56
void Reset()
Definition encode_base.h:54
size_t num_encoded_points() const
Definition encode_base.h:48
size_t num_encoded_faces() const
Definition encode_base.h:49
void Reset(const EncoderOptionsT &options)
Definition encode_base.h:52
EncoderBase()
Definition encode_base.h:32
void SetEncodingMethod(int encoding_method)
Definition encode_base.h:60
virtual ~EncoderBase()
Definition encode_base.h:36
void set_num_encoded_points(size_t num)
Definition encode_base.h:113
void SetTrackEncodedProperties(bool flag)
Definition encode_base.h:124
Status CheckPredictionScheme(GeometryAttribute::Type att_type, int prediction_scheme) const
Definition encode_base.h:68
EncoderOptionsT & options()
Definition encode_base.h:39
const EncoderOptionsT & options() const
Definition encode_base.h:38
Type
Definition geometry_attribute.h:46
@ TEX_COORD
Definition geometry_attribute.h:55
@ NORMAL
Definition geometry_attribute.h:53
@ DRACO_ERROR
Definition status.h:29
Definition attribute_octahedron_transform.cc:21
Status OkStatus()
Definition status.h:66
@ PREDICTION_NONE
Definition compression_shared.h:82
@ MESH_PREDICTION_TEX_COORDS_DEPRECATED
Definition compression_shared.h:88
@ MESH_PREDICTION_GEOMETRIC_NORMAL
Definition compression_shared.h:91
@ NUM_PREDICTION_SCHEMES
Definition compression_shared.h:92
@ MESH_PREDICTION_TEX_COORDS_PORTABLE
Definition compression_shared.h:90
@ MESH_PREDICTION_MULTI_PARALLELOGRAM
Definition compression_shared.h:87
@ PREDICTION_DIFFERENCE
Definition compression_shared.h:85
num
Definition view.php:2821