Differential D6342 Diff 20011 extern/draco/dracoenc/src/draco/compression/attributes/prediction_schemes/prediction_scheme_decoder_factory.h
Changeset View
Changeset View
Standalone View
Standalone View
extern/draco/dracoenc/src/draco/compression/attributes/prediction_schemes/prediction_scheme_decoder_factory.h
| Context not available. | |||||
| #include "draco/draco_features.h" | #include "draco/draco_features.h" | ||||
| #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_decoder.h" | #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_decoder.h" | ||||
| #ifdef DRACO_NORMAL_ENCODING_SUPPORTED | |||||
| #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h" | #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h" | ||||
| #endif | |||||
| #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_decoder.h" | #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_decoder.h" | ||||
| #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_decoder.h" | #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_decoder.h" | ||||
| #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_decoder.h" | #include "draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_decoder.h" | ||||
| Context not available. | |||||
| new MeshPredictionSchemeTexCoordsPortableDecoder< | new MeshPredictionSchemeTexCoordsPortableDecoder< | ||||
| DataTypeT, TransformT, MeshDataT>(attribute, transform, | DataTypeT, TransformT, MeshDataT>(attribute, transform, | ||||
| mesh_data)); | mesh_data)); | ||||
| } else if (method == MESH_PREDICTION_GEOMETRIC_NORMAL) { | } | ||||
| #ifdef DRACO_NORMAL_ENCODING_SUPPORTED | |||||
| else if (method == MESH_PREDICTION_GEOMETRIC_NORMAL) { | |||||
| return std::unique_ptr<PredictionSchemeDecoder<DataTypeT, TransformT>>( | return std::unique_ptr<PredictionSchemeDecoder<DataTypeT, TransformT>>( | ||||
| new MeshPredictionSchemeGeometricNormalDecoder< | new MeshPredictionSchemeGeometricNormalDecoder< | ||||
| DataTypeT, TransformT, MeshDataT>(attribute, transform, | DataTypeT, TransformT, MeshDataT>(attribute, transform, | ||||
| mesh_data)); | mesh_data)); | ||||
| } | } | ||||
| #endif | |||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| }; | }; | ||||
| #ifdef DRACO_NORMAL_ENCODING_SUPPORTED | |||||
| // Operator () specialized for normal octahedron transforms. These transforms | // Operator () specialized for normal octahedron transforms. These transforms | ||||
| // are currently used only by the geometric normal prediction scheme (the | // are currently used only by the geometric normal prediction scheme (the | ||||
| // transform is also used by delta coding, but delta predictor is not | // transform is also used by delta coding, but delta predictor is not | ||||
| Context not available. | |||||
| return nullptr; | return nullptr; | ||||
| } | } | ||||
| }; | }; | ||||
| #endif | |||||
| template <class TransformT, class MeshDataT> | template <class TransformT, class MeshDataT> | ||||
| std::unique_ptr<PredictionSchemeDecoder<DataTypeT, TransformT>> operator()( | std::unique_ptr<PredictionSchemeDecoder<DataTypeT, TransformT>> operator()( | ||||
| Context not available. | |||||