Skip to content

Commit

Permalink
Successful Swift import of Draco.
Browse files Browse the repository at this point in the history
* Remove non-library source like tests, remove javascript
  directory for now, add Draco umbrella header.
  • Loading branch information
furby-tm committed Feb 17, 2024
1 parent 92c46bd commit c826dd6
Show file tree
Hide file tree
Showing 107 changed files with 243 additions and 19,483 deletions.
53 changes: 2 additions & 51 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ let package = Package(
dependencies: [
.target(name: "Eigen"),
],
exclude: getConfig(for: .draco).exclude,
publicHeadersPath: "include"
),

Expand Down Expand Up @@ -635,6 +634,7 @@ let package = Package(
.target(name: "OpenVDB"),
.target(name: "OpenSubdiv"),
.target(name: "Ptex"),
.target(name: "Draco"),
Arch.OS.python(),
],
swiftSettings: [
Expand Down Expand Up @@ -667,56 +667,7 @@ func getConfig(for target: PkgTarget) -> TargetInfo
switch target
{
case .draco:
config.exclude = [
"include/draco/animation/keyframe_animation_encoding_test.cc",
"include/draco/animation/keyframe_animation_test.cc",
"include/draco/attributes/point_attribute_test.cc",
"include/draco/point_cloud/point_cloud_test.cc",
"include/draco/metadata/metadata_test.cc",
"include/draco/metadata/metadata_encoder_test.cc",
"include/draco/point_cloud/point_cloud_builder_test.cc",
"include/draco/unity/draco_unity_plugin_test.cc",
"include/draco/mesh/mesh_test.cc",
"include/draco/mesh/triangle_soup_mesh_builder_test.cc",
"include/draco/mesh/mesh_are_equivalent_test.cc",
"include/draco/mesh/corner_table_test.cc",
"include/draco/mesh/mesh_cleanup_test.cc",
"include/draco/io/stdio_file_writer_test.cc",
"include/draco/io/stdio_file_reader_test.cc",
"include/draco/io/stl_decoder_test.cc",
"include/draco/io/ply_reader_test.cc",
"include/draco/io/point_cloud_io_test.cc",
"include/draco/io/stl_encoder_test.cc",
"include/draco/io/obj_decoder_test.cc",
"include/draco/io/obj_encoder_test.cc",
"include/draco/io/ply_decoder_test.cc",
"include/draco/io/file_reader_factory_test.cc",
"include/draco/io/file_writer_factory_test.cc",
"include/draco/io/file_utils_test.cc",
"include/draco/io/file_writer_utils_test.cc",
"include/draco/core/status_test.cc",
"include/draco/core/vector_d_test.cc",
"include/draco/core/math_utils_test.cc",
"include/draco/core/quantization_utils_test.cc",
"include/draco/core/buffer_bit_coding_test.cc",
"include/draco/core/draco_test_utils.cc",
"include/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc",
"include/draco/compression/point_cloud/point_cloud_sequential_encoding_test.cc",
"include/draco/compression/mesh/mesh_encoder_test.cc",
"include/draco/compression/mesh/mesh_edgebreaker_encoding_test.cc",
"include/draco/compression/entropy/symbol_coding_test.cc",
"include/draco/compression/entropy/shannon_entropy_test.cc",
"include/draco/compression/encode_test.cc",
"include/draco/compression/decode_test.cc",
"include/draco/compression/config/decoder_options_test.cc",
"include/draco/compression/bit_coders/rans_coding_test.cc",
"include/draco/compression/attributes/sequential_integer_attribute_encoding_test.cc",
"include/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_test.cc",
"include/draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_test.cc",
"include/draco/compression/attributes/point_d_vector_test.cc",
"include/draco/javascript",
"include/draco/tools",
]
break
case .tbbMallocProxy:
break
case .tbbMalloc:
Expand Down
240 changes: 240 additions & 0 deletions Sources/Draco/include/draco/Draco.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
#ifndef __DRACO_H__
#define __DRACO_H__

#include <draco/draco_features.h>
#include <draco/animation/animation.h>
#include <draco/animation/keyframe_animation_decoder.h>
#include <draco/animation/keyframe_animation_encoder.h>
#include <draco/animation/keyframe_animation.h>
#include <draco/animation/node_animation_data.h>
#include <draco/animation/skin.h>
#include <draco/attributes/attribute_octahedron_transform.h>
#include <draco/attributes/attribute_quantization_transform.h>
#include <draco/attributes/attribute_transform_data.h>
#include <draco/attributes/attribute_transform_type.h>
#include <draco/attributes/attribute_transform.h>
#include <draco/attributes/geometry_attribute.h>
#include <draco/attributes/geometry_indices.h>
#include <draco/attributes/point_attribute.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_encoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_constrained_multi_parallelogram_shared.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_data.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_decoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_encoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_decoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_encoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_area.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_geometric_normal_predictor_base.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_decoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_multi_parallelogram_encoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_decoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_encoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_parallelogram_shared.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_encoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_decoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_encoder.h>
#include <draco/compression/attributes/prediction_schemes/mesh_prediction_scheme_tex_coords_portable_predictor.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_decoder_factory.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_decoder_interface.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_decoder.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_decoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_delta_decoder.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_delta_encoder.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_factory.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_encoder_interface.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_encoder.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_encoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_factory.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_interface.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_decoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_encoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_canonicalized_transform_base.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_decoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_encoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_normal_octahedron_transform_base.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_wrap_decoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_wrap_encoding_transform.h>
#include <draco/compression/attributes/prediction_schemes/prediction_scheme_wrap_transform_base.h>
#include <draco/compression/attributes/attributes_decoder_interface.h>
#include <draco/compression/attributes/attributes_decoder.h>
#include <draco/compression/attributes/attributes_encoder.h>
#include <draco/compression/attributes/kd_tree_attributes_decoder.h>
#include <draco/compression/attributes/kd_tree_attributes_encoder.h>
#include <draco/compression/attributes/kd_tree_attributes_shared.h>
#include <draco/compression/attributes/linear_sequencer.h>
#include <draco/compression/attributes/mesh_attribute_indices_encoding_data.h>
#include <draco/compression/attributes/normal_compression_utils.h>
#include <draco/compression/attributes/point_d_vector.h>
#include <draco/compression/attributes/points_sequencer.h>
#include <draco/compression/attributes/sequential_attribute_decoder.h>
#include <draco/compression/attributes/sequential_attribute_decoders_controller.h>
#include <draco/compression/attributes/sequential_attribute_encoder.h>
#include <draco/compression/attributes/sequential_attribute_encoders_controller.h>
#include <draco/compression/attributes/sequential_integer_attribute_decoder.h>
#include <draco/compression/attributes/sequential_integer_attribute_encoder.h>
#include <draco/compression/attributes/sequential_normal_attribute_decoder.h>
#include <draco/compression/attributes/sequential_normal_attribute_encoder.h>
#include <draco/compression/attributes/sequential_quantization_attribute_decoder.h>
#include <draco/compression/attributes/sequential_quantization_attribute_encoder.h>
#include <draco/compression/bit_coders/adaptive_rans_bit_coding_shared.h>
#include <draco/compression/bit_coders/adaptive_rans_bit_decoder.h>
#include <draco/compression/bit_coders/adaptive_rans_bit_encoder.h>
#include <draco/compression/bit_coders/direct_bit_decoder.h>
#include <draco/compression/bit_coders/direct_bit_encoder.h>
#include <draco/compression/bit_coders/folded_integer_bit_decoder.h>
#include <draco/compression/bit_coders/folded_integer_bit_encoder.h>
#include <draco/compression/bit_coders/rans_bit_decoder.h>
#include <draco/compression/bit_coders/rans_bit_encoder.h>
#include <draco/compression/bit_coders/symbol_bit_decoder.h>
#include <draco/compression/bit_coders/symbol_bit_encoder.h>
#include <draco/compression/config/compression_shared.h>
#include <draco/compression/config/decoder_options.h>
#include <draco/compression/config/draco_options.h>
#include <draco/compression/config/encoder_options.h>
#include <draco/compression/config/encoding_features.h>
#include <draco/compression/entropy/ans.h>
#include <draco/compression/entropy/rans_symbol_coding.h>
#include <draco/compression/entropy/rans_symbol_decoder.h>
#include <draco/compression/entropy/rans_symbol_encoder.h>
#include <draco/compression/entropy/shannon_entropy.h>
#include <draco/compression/entropy/symbol_decoding.h>
#include <draco/compression/entropy/symbol_encoding.h>
#include <draco/compression/mesh/traverser/depth_first_traverser.h>
#include <draco/compression/mesh/traverser/max_prediction_degree_traverser.h>
#include <draco/compression/mesh/traverser/mesh_attribute_indices_encoding_observer.h>
#include <draco/compression/mesh/traverser/mesh_traversal_sequencer.h>
#include <draco/compression/mesh/traverser/traverser_base.h>
#include <draco/compression/mesh/mesh_decoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_decoder_impl_interface.h>
#include <draco/compression/mesh/mesh_edgebreaker_decoder_impl.h>
#include <draco/compression/mesh/mesh_edgebreaker_decoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_encoder_impl_interface.h>
#include <draco/compression/mesh/mesh_edgebreaker_encoder_impl.h>
#include <draco/compression/mesh/mesh_edgebreaker_encoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_shared.h>
#include <draco/compression/mesh/mesh_edgebreaker_traversal_decoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_traversal_encoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_traversal_predictive_decoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_traversal_predictive_encoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_traversal_valence_decoder.h>
#include <draco/compression/mesh/mesh_edgebreaker_traversal_valence_encoder.h>
#include <draco/compression/mesh/mesh_encoder.h>
#include <draco/compression/mesh/mesh_sequential_decoder.h>
#include <draco/compression/mesh/mesh_sequential_encoder.h>
#include <draco/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_decoder.h>
#include <draco/compression/point_cloud/algorithms/dynamic_integer_points_kd_tree_encoder.h>
#include <draco/compression/point_cloud/algorithms/float_points_tree_decoder.h>
#include <draco/compression/point_cloud/algorithms/float_points_tree_encoder.h>
#include <draco/compression/point_cloud/algorithms/integer_points_kd_tree_decoder.h>
#include <draco/compression/point_cloud/algorithms/integer_points_kd_tree_encoder.h>
#include <draco/compression/point_cloud/algorithms/point_cloud_compression_method.h>
#include <draco/compression/point_cloud/algorithms/point_cloud_types.h>
#include <draco/compression/point_cloud/algorithms/quantize_points_3.h>
#include <draco/compression/point_cloud/algorithms/queuing_policy.h>
#include <draco/compression/point_cloud/point_cloud_decoder.h>
#include <draco/compression/point_cloud/point_cloud_encoder.h>
#include <draco/compression/point_cloud/point_cloud_kd_tree_decoder.h>
#include <draco/compression/point_cloud/point_cloud_kd_tree_encoder.h>
#include <draco/compression/point_cloud/point_cloud_sequential_decoder.h>
#include <draco/compression/point_cloud/point_cloud_sequential_encoder.h>
#include <draco/compression/decode.h>
#include <draco/compression/draco_compression_options.h>
#include <draco/compression/encode_base.h>
#include <draco/compression/encode.h>
#include <draco/compression/expert_encode.h>
#include <draco/core/bit_utils.h>
#include <draco/core/bounding_box.h>
#include <draco/core/constants.h>
#include <draco/core/cycle_timer.h>
#include <draco/core/data_buffer.h>
#include <draco/core/decoder_buffer.h>
#include <draco/core/divide.h>
#include <draco/core/draco_index_type_vector.h>
#include <draco/core/draco_index_type.h>
#include <draco/core/draco_types.h>
#include <draco/core/draco_version.h>
#include <draco/core/encoder_buffer.h>
#include <draco/core/hash_utils.h>
#include <draco/core/macros.h>
#include <draco/core/math_utils.h>
#include <draco/core/options.h>
#include <draco/core/quantization_utils.h>
#include <draco/core/status_or.h>
#include <draco/core/status.h>
#include <draco/core/varint_decoding.h>
#include <draco/core/varint_encoding.h>
#include <draco/core/vector_d.h>
#include <draco/io/file_reader_factory.h>
#include <draco/io/file_reader_interface.h>
#include <draco/io/file_utils.h>
#include <draco/io/file_writer_factory.h>
#include <draco/io/file_writer_interface.h>
#include <draco/io/file_writer_utils.h>
#include <draco/io/gltf_decoder.h>
#include <draco/io/gltf_encoder.h>
#include <draco/io/gltf_utils.h>
#include <draco/io/image_compression_options.h>
#include <draco/io/mesh_io.h>
#include <draco/io/obj_decoder.h>
#include <draco/io/obj_encoder.h>
#include <draco/io/parser_utils.h>
#include <draco/io/ply_decoder.h>
#include <draco/io/ply_encoder.h>
#include <draco/io/ply_property_reader.h>
#include <draco/io/ply_property_writer.h>
#include <draco/io/ply_reader.h>
#include <draco/io/point_cloud_io.h>
#include <draco/io/scene_io.h>
#include <draco/io/stdio_file_reader.h>
#include <draco/io/stdio_file_writer.h>
#include <draco/io/stl_decoder.h>
#include <draco/io/stl_encoder.h>
#include <draco/io/texture_io.h>
#include <draco/io/tiny_gltf_utils.h>
#include <draco/material/material_library.h>
#include <draco/material/material_utils.h>
#include <draco/material/material.h>
#include <draco/maya/draco_maya_plugin.h>
#include <draco/mesh/corner_table_iterators.h>
#include <draco/mesh/corner_table.h>
#include <draco/mesh/mesh_are_equivalent.h>
#include <draco/mesh/mesh_attribute_corner_table.h>
#include <draco/mesh/mesh_cleanup.h>
#include <draco/mesh/mesh_connected_components.h>
#include <draco/mesh/mesh_features.h>
#include <draco/mesh/mesh_indices.h>
#include <draco/mesh/mesh_misc_functions.h>
#include <draco/mesh/mesh_splitter.h>
#include <draco/mesh/mesh_stripifier.h>
#include <draco/mesh/mesh_utils.h>
#include <draco/mesh/mesh.h>
#include <draco/mesh/triangle_soup_mesh_builder.h>
#include <draco/mesh/valence_cache.h>
#include <draco/metadata/geometry_metadata.h>
#include <draco/metadata/metadata_decoder.h>
#include <draco/metadata/metadata_encoder.h>
#include <draco/metadata/metadata.h>
#include <draco/metadata/property_table.h>
#include <draco/metadata/structural_metadata.h>
#include <draco/point_cloud/point_cloud_builder.h>
#include <draco/point_cloud/point_cloud.h>
#include <draco/scene/instance_array.h>
#include <draco/scene/light.h>
#include <draco/scene/mesh_group.h>
#include <draco/scene/scene_are_equivalent.h>
#include <draco/scene/scene_indices.h>
#include <draco/scene/scene_node.h>
#include <draco/scene/scene_utils.h>
#include <draco/scene/scene.h>
#include <draco/scene/trs_matrix.h>
#include <draco/texture/source_image.h>
#include <draco/texture/texture_library.h>
#include <draco/texture/texture_map.h>
#include <draco/texture/texture_transform.h>
#include <draco/texture/texture_utils.h>
#include <draco/texture/texture.h>
#include <draco/unity/draco_unity_plugin.h>

#endif /* __DRACO_H__ */
Loading

0 comments on commit c826dd6

Please sign in to comment.