diff --git a/.gitignore b/.gitignore
index c9f0f65..12d6c99 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,62 +25,10 @@ Pods
*.xcscmblueprint
OptimizationProfiles
-
**/.DS_Store
StandardCyborgGeometryTests/TestCases/Scans
node_modules
-*.wasm
-
-SceneGraphWebViewer/dist
-SceneGraphWebViewer/package-lock.json
-
-# Ignored here; it would make sense to commit these build products in a public release
-scsdk/js/dist
-
-SceneGraphWebViewer/package-lock.json
-
-**/*.o
-StandardCyborgEmscripten/build/
-build-all
-
-## enable local testing without throwing off the diff
-
-ScratchSpace
-
-VisualTesteriOS/AccessSecretKey.h
-
-*.so
-StandardCyborgPython/out.gltf
-StandardCyborgPython/out.ply
-
-StandardCyborgPython/dist/
-StandardCyborgPython/StandardCyborgSDK.egg-info/
-
-__pycache__
-.mypy_cache/
-*.pyc
-
-StandardCyborgOrbDemo/out.jpeg
-
-src/utils/fusion/components-build
-src/utils/fusion/test.ply
-src/utils/fusion/ate.png
-src/utils/fusion/rpe.png
-
-src/utils/fusion/fusion-ate.png
-src/utils/fusion/fusion-rpe.png
-
-src/utils/fusion/gt-ate.png
-src/utils/fusion/gt-rpe.png
-
-src/traces/local_traces
-
-.svn/
-
-env/
-
-protoc
+.build
-temp.tar
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index 9d95b2d..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,24 +0,0 @@
-[submodule "deps/happly"]
- path = deps/happly
- url = git@github.com:StandardCyborg/happly.git
-[submodule "deps/json"]
- path = deps/json
- url = https://github.com/nlohmann/json.git
-[submodule "deps/nanoflann"]
- path = deps/nanoflann
- url = https://github.com/jlblancoc/nanoflann.git
-[submodule "deps/stb"]
- path = deps/stb
- url = https://github.com/nothings/stb.git
-[submodule "deps/tinygltf"]
- path = deps/tinygltf
- url = git@github.com:StandardCyborg/tinygltf.git
-[submodule "deps/libigl"]
- path = deps/libigl
- url = git@github.com:StandardCyborg/libigl.git
-[submodule "deps/SparseICP"]
- path = deps/SparseICP
- url = git@github.com:StandardCyborg/SparseICP.git
-[submodule "deps/XcodeClangFormatWarnings"]
- path = deps/XcodeClangFormatWarnings
- url = git@github.com:StandardCyborg/XcodeClangFormatWarnings.git
diff --git a/Podfile b/Podfile
index 8034197..2c0dc80 100644
--- a/Podfile
+++ b/Podfile
@@ -1,32 +1,9 @@
source 'https://github.com/CocoaPods/Specs.git'
-source 'git@github.com:StandardCyborg/SCCocoaPods.git'
inhibit_all_warnings!
platform :osx, '11.0'
-target 'StandardCyborgFusion' do
- pod 'SSZipArchive'
- pod 'scsdk', :path => 'scsdk/'
- pod 'PoissonRecon', :podspec => 'StandardCyborgFusion/PoissonRecon.podspec'
- platform :ios, '13.0'
-end
-
-
-# Sadly Cocoapods cant do both osx and ios in same target, so we have to make
-# a separate one for OSX.
-target 'StandardCyborgFusionOSX' do
- pod 'SSZipArchive'
- pod 'scsdk', :path => 'scsdk/'
- pod 'PoissonRecon', :podspec => 'StandardCyborgFusion/PoissonRecon.podspec'
- platform :osx, '11.0'
-end
-
-target 'StandardCyborgFusionTests' do
- platform :osx, '11.0'
- pod 'scsdk', :path => 'scsdk/'
-end
-
target 'TrueDepthFusion' do
platform :ios, '13.0'
end
@@ -36,17 +13,6 @@ target 'VisualTesterMac' do
pod 'scsdk', :path => 'scsdk/'
end
-target 'VisualTesteriOS' do
- platform :ios, '13.0'
- pod 'scsdk', :path => 'scsdk/'
-end
-
-target 'StandardCyborgAlgorithmsTestbed' do
- platform :ios, '13.0'
- pod 'scsdk', :path => 'scsdk/'
-end
-
-
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do | configuration |
diff --git a/Podfile.lock b/Podfile.lock
index d29f1f6..6c3919c 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -1,38 +1,23 @@
PODS:
- EigenCPPCocoa (3.4.0)
- - PoissonRecon (9.011)
- scsdk (1.0.0):
- EigenCPPCocoa (~> 3.4.0)
- - SSZipArchive (2.4.3)
DEPENDENCIES:
- - PoissonRecon (from `StandardCyborgFusion/PoissonRecon.podspec`)
- scsdk (from `scsdk/`)
- - SSZipArchive
SPEC REPOS:
- "git@github.com:StandardCyborg/SCCocoaPods.git":
- - EigenCPPCocoa
https://github.com/CocoaPods/Specs.git:
- - SSZipArchive
+ - EigenCPPCocoa
EXTERNAL SOURCES:
- PoissonRecon:
- :podspec: StandardCyborgFusion/PoissonRecon.podspec
scsdk:
:path: scsdk/
-CHECKOUT OPTIONS:
- PoissonRecon:
- :commit: 9f30316c1b247736654652c72e06b3f0db2e79ed
- :git: "git@github.com:StandardCyborg/PoissonRecon.git"
-
SPEC CHECKSUMS:
- EigenCPPCocoa: a4709e53380aeb15f6027f6b3e4190abdbef3897
- PoissonRecon: 80674507001fec81666c982732f66d6ceb71d54c
+ EigenCPPCocoa: 4b79c92db8d6e634c34e28e3cf5e97ba1ab100b5
scsdk: 8bdcc08321923d9b4b0f3766b265c2091e70966b
- SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
-PODFILE CHECKSUM: c9158b3a95922262409caf6678703172e1087244
+PODFILE CHECKSUM: 855f6d6ef41d7020fd797538aa68a79411810167
-COCOAPODS: 1.15.2
+COCOAPODS: 1.16.2
diff --git a/StandardCyborgFusion/.gitignore b/StandardCyborgFusion/.gitignore
new file mode 100644
index 0000000..0023a53
--- /dev/null
+++ b/StandardCyborgFusion/.gitignore
@@ -0,0 +1,8 @@
+.DS_Store
+/.build
+/Packages
+xcuserdata/
+DerivedData/
+.swiftpm/configuration/registries.json
+.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
+.netrc
diff --git a/StandardCyborgFusion/EarLandmarking/SCEarLandmarking.mlmodel b/StandardCyborgFusion/EarLandmarking/SCEarLandmarking.mlmodel
deleted file mode 100644
index 4cfd1c9..0000000
Binary files a/StandardCyborgFusion/EarLandmarking/SCEarLandmarking.mlmodel and /dev/null differ
diff --git a/StandardCyborgFusion/Info.plist b/StandardCyborgFusion/Info.plist
deleted file mode 100644
index 14c9187..0000000
--- a/StandardCyborgFusion/Info.plist
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- $(DEVELOPMENT_LANGUAGE)
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- FMWK
- CFBundleShortVersionString
- 2.3.7
- CFBundleVersion
- $(CURRENT_PROJECT_VERSION)
- NSPrincipalClass
-
-
-
diff --git a/StandardCyborgFusion/Package.resolved b/StandardCyborgFusion/Package.resolved
new file mode 100644
index 0000000..261e820
--- /dev/null
+++ b/StandardCyborgFusion/Package.resolved
@@ -0,0 +1,15 @@
+{
+ "originHash" : "c58b9dedbb9d43c5d4c07d0b73d2e359bcbdaf1dc9afbf1d06615daa4a086c13",
+ "pins" : [
+ {
+ "identity" : "ziparchive",
+ "kind" : "remoteSourceControl",
+ "location" : "https://github.com/ZipArchive/ZipArchive.git",
+ "state" : {
+ "revision" : "df35718ea19a94e015b91dc4881dee028ce4cdba",
+ "version" : "2.6.0"
+ }
+ }
+ ],
+ "version" : 3
+}
diff --git a/StandardCyborgFusion/Package.swift b/StandardCyborgFusion/Package.swift
new file mode 100644
index 0000000..935074e
--- /dev/null
+++ b/StandardCyborgFusion/Package.swift
@@ -0,0 +1,77 @@
+// swift-tools-version: 6.0
+
+import PackageDescription
+
+let package = Package(
+ name: "StandardCyborgFusion",
+ platforms: [
+ .iOS(.v16), .macOS(.v12)
+ ],
+ products: [
+ .library(
+ name: "StandardCyborgFusion",
+ targets: ["StandardCyborgFusion"]
+ ),
+ ],
+ dependencies: [
+ // .package(url: "https://github.com/nlohmann/json.git", from: "3.11.3"),
+ .package(url: "https://github.com/ZipArchive/ZipArchive.git", from: "2.6.0"),
+ .package(path: "../scsdk"),
+ .package(path: "../deps/json"),
+ .package(path: "../deps/libigl"),
+ .package(path: "../deps/PoissonRecon"),
+ ],
+ targets: [
+ .target(
+ name: "StandardCyborgFusion",
+ dependencies: [
+ "json",
+ "libigl",
+ "scsdk",
+ "PoissonRecon",
+ "ZipArchive",
+ ],
+ path: "Sources",
+ // resources: [
+ // .process("Models/SCEarLandmarking.mlmodel"),
+ // .process("Models/SCEarTrackingModel.mlmodel"),
+ // .process("Models/SCFootTrackingModel.mlmodel"),
+ // ],
+ publicHeadersPath: "include",
+ cxxSettings: [
+ .define("DEBUG", .when(configuration: .debug)),
+ // .define("STD_LIB_FLAG"),
+ // .define("OBJC_OLD_DISPATCH_PROTOTYPES", to: "1"),
+ .define("IGL_STATIC_LIBRARY"),
+ .unsafeFlags(["-fobjc-arc"]),
+ .headerSearchPath("."),
+ .headerSearchPath("StandardCyborgFusion/Algorithm"),
+ .headerSearchPath("StandardCyborgFusion/DataStructures"),
+ .headerSearchPath("StandardCyborgFusion/EarLandmarking"),
+ .headerSearchPath("StandardCyborgFusion/Helpers"),
+ .headerSearchPath("StandardCyborgFusion/IO"),
+ .headerSearchPath("StandardCyborgFusion/MetalDepthProcessor"),
+ .headerSearchPath("StandardCyborgFusion/Private"),
+ .headerSearchPath("include/StandardCyborgFusion"),
+ ]
+ // linkerSettings: [
+ // .linkedFramework("Foundation"),
+ // .linkedFramework("Metal")
+ // ]
+ ),
+ // .testTarget(
+ // name: "StandardCyborgFusionTests",
+ // dependencies: ["StandardCyborgFusion"],
+ // cSettings: [
+ // // .headerSearchPath("Include"),
+ // .define("DEBUG", .when(configuration: .debug)),
+ // ],
+ // cxxSettings: [
+ // // .headerSearchPath("Include"),
+ // .define("DEBUG", .when(configuration: .debug)),
+ // ]
+ // )
+ ],
+ swiftLanguageModes: [.v5],
+ cxxLanguageStandard: .cxx17
+)
diff --git a/StandardCyborgFusion/PoissonRecon.podspec b/StandardCyborgFusion/PoissonRecon.podspec
deleted file mode 100644
index 4192f52..0000000
--- a/StandardCyborgFusion/PoissonRecon.podspec
+++ /dev/null
@@ -1,169 +0,0 @@
-#
-# Be sure to run `pod spec lint Poisson.podspec' to ensure this is a
-# valid spec and to remove all comments including this before submitting the spec.
-#
-# To learn more about Podspec attributes see http://docs.cocoapods.org/specification.html
-# To see working Podspecs in the CocoaPods repo see https://github.com/CocoaPods/Specs/
-#
-
-Pod::Spec.new do |s|
-
- # ――― Spec Metadata ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # These will help people to find your library, and whilst it
- # can feel like a chore to fill in it's definitely to your advantage. The
- # summary should be tweet-length, and the description more in depth.
- #
-
- s.name = "PoissonRecon"
- s.version = "9.011"
- s.summary = "Poisson Surface Reconstruction"
-
- # This description is used to generate tags and improve search results.
- # * Think: What does it do? Why did you write it? What is the focus?
- # * Try to keep it short, snappy and to the point.
- # * Write the description between the DESC delimiters below.
- # * Finally, don't worry about the indent, CocoaPods strips it!
- s.description = <<-DESC
- "Screened Poisson Surface Reconstruction and Smoothed Signed Distance Reconstruction"
- DESC
-
-
- s.homepage = "https://github.com/StandardCyborg/PoissonRecon"
- # s.screenshots = "www.example.com/screenshots_1.gif", "www.example.com/screenshots_2.gif"
-
-
- # ――― Spec License ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # Licensing your code is important. See http://choosealicense.com for more info.
- # CocoaPods will detect a license file if there is a named LICENSE*
- # Popular ones are 'MIT', 'BSD' and 'Apache License, Version 2.0'.
- #
-
- s.license = { :type => "MIT", :file => "LICENSE" }
-
-
- # ――― Author Metadata ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # Specify the authors of the library, with email addresses. Email addresses
- # of the authors are extracted from the SCM log. E.g. $ git log. CocoaPods also
- # accepts just a name if you'd rather not provide an email address.
- #
- # Specify a social_media_url where others can refer to, for example a twitter
- # profile URL.
- #
-
- s.author = { "Standard Cyborg" => "sdk@standardcyborg.com" }
-
- # ――― Platform Specifics ――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # If this Pod runs only on iOS or OS X, then specify the platform and
- # the deployment target. You can optionally include the target after the platform.
- #
-
- # s.platform = :ios
- # s.platform = :ios, "5.0"
-
- # When using multiple platforms
- s.ios.deployment_target = "13.0"
- s.osx.deployment_target = "11.0"
- # s.watchos.deployment_target = "2.0"
- # s.tvos.deployment_target = "9.0"
-
-
- # ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # Specify the location from where the source should be retrieved.
- # Supports git, hg, bzr, svn and HTTP.
- #
-
- s.source = { :git => "git@github.com:StandardCyborg/PoissonRecon.git", :branch => "xcodeproj" }
-
-
- # ――― Source Code ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # CocoaPods is smart about how it includes source code. For source files
- # giving a folder will include any swift, h, m, mm, c & cpp files.
- # For header files it will include any header in the folder.
- # Not including the public_header_files will make all headers public.
- #
-
- s.source_files = [
- # "Src",
- # "PNG",
- # "JPEG",
- # "ZLIB",
- "PoissonRecon-Xcode/*.{h,m,mm,cpp}",
- "PoissonRecon-Xcode/Meshing/*.{h,m,mm,cpp}",
- "Src/*.{h,inl,cpp}",
- "**/*.{h,inl,cpp}",
- ]
- s.exclude_files = [
- "Src/PoissonRecon.cpp",
- "Src/SSDRecon.cpp",
- "Src/SurfaceTrimmer.cpp",
- "Src/CmdLineParser.*",
- "Src/VoxelCompare.*",
- "Src/EDTInHeat.*",
- "Src/AdaptiveTreeVisualization.*",
- "Src/ImageStitching.*",
- "JPEG/ckconfig.cpp",
- ]
- s.public_header_files = [
- "PoissonRecon-Xcode/Meshing/MeshingOperation.h",
- ]
- s.preserve_paths = [
- "PoissonRecon-Xcode/*",
- "PoissonRecon-Xcode/**/*",
- ]
-
-
- # ――― Resources ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # A list of resources included with the Pod. These are copied into the
- # target bundle with a build phase script. Anything else will be cleaned.
- # You can preserve files from being cleaned, please don't preserve
- # non-essential files like tests, examples and documentation.
- #
-
- # s.resource = "icon.png"
- # s.resources = "Resources/*.png"
-
- # s.preserve_paths = "FilesToSave", "MoreFilesToSave"
-
-
- # ――― Project Linking ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # Link your library with frameworks, or libraries. Libraries do not include
- # the lib prefix of their name.
- #
-
- # s.framework = "SomeFramework"
- # s.frameworks = "SomeFramework", "AnotherFramework"
-
- # s.library = "iconv"
- # s.libraries = "iconv", "xml2"
-
-
- # ――― Project Settings ――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
- #
- # If your library depends on compiler flags you can set them in the xcconfig hash
- # where they will only apply to your library. If you depend on other Podspecs
- # you can include multiple dependencies to ensure it works.
-
- s.requires_arc = true
-
- s.compiler_flags = "$(inherited) -Wno-deprecated-register -Wno-shift-negative-value -Wno-invalid-offsetof -Wno-unused-variable"
-
- # s.xcconfig = { "HEADER_SEARCH_PATHS" => "$(SDKROOT)/usr/include/libxml2" }
- # s.dependency "JSONKit", "~> 1.4"
-
- s.xcconfig = {
- 'HEADER_SEARCH_PATHS' =>
- ("$(inherited) " +
- "\"$(PODS_ROOT)/PoissonRecon\" " +
- "\"$(PODS_ROOT)/PoissonRecon/PoissonRecon-Xcode\" "
- ),
- }
-
-end
diff --git a/StandardCyborgFusion/Algorithm/DepthProcessor.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/DepthProcessor.hpp
similarity index 84%
rename from StandardCyborgFusion/Algorithm/DepthProcessor.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/DepthProcessor.hpp
index ea0714e..3ee1bd2 100644
--- a/StandardCyborgFusion/Algorithm/DepthProcessor.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/DepthProcessor.hpp
@@ -8,8 +8,8 @@
#pragma once
-#include "ProcessedFrame.hpp"
-#include
+#import "ProcessedFrame.hpp"
+#import "RawFrame.hpp"
class DepthProcessor {
public:
diff --git a/StandardCyborgFusion/Algorithm/GravityEstimator.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/GravityEstimator.cpp
similarity index 100%
rename from StandardCyborgFusion/Algorithm/GravityEstimator.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/GravityEstimator.cpp
diff --git a/StandardCyborgFusion/Algorithm/GravityEstimator.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/GravityEstimator.hpp
similarity index 91%
rename from StandardCyborgFusion/Algorithm/GravityEstimator.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/GravityEstimator.hpp
index ef47522..6288bc5 100644
--- a/StandardCyborgFusion/Algorithm/GravityEstimator.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/GravityEstimator.hpp
@@ -8,8 +8,8 @@
#pragma once
-#include
-#include
+#import
+#import
class GravityEstimator {
public:
diff --git a/StandardCyborgFusion/Algorithm/ICP.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/ICP.cpp
similarity index 99%
rename from StandardCyborgFusion/Algorithm/ICP.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/ICP.cpp
index 9f3cb85..e2b9a25 100644
--- a/StandardCyborgFusion/Algorithm/ICP.cpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/ICP.cpp
@@ -6,16 +6,14 @@
// Copyright © 2018 Standard Cyborg. All rights reserved.
//
-#include
-#include "ThreadPool.hpp"
-#include
+#include
#include
-
#include
-
-#include
+#include "GeometryHelpers.hpp"
+#include "ThreadPool.hpp"
+#include "ICP.hpp"
#include "EigenHelpers.hpp"
#pragma clang diagnostic push
diff --git a/StandardCyborgFusion/Algorithm/ICP.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/ICP.hpp
similarity index 90%
rename from StandardCyborgFusion/Algorithm/ICP.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/ICP.hpp
index 29d29a0..d665036 100644
--- a/StandardCyborgFusion/Algorithm/ICP.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/ICP.hpp
@@ -8,13 +8,13 @@
#pragma once
-#include
-#include
-#include
+#import
+#import
+#import
-#include
+#import
#if DEBUG
-#include
+#import
#endif
using namespace standard_cyborg;
diff --git a/StandardCyborgFusion/Algorithm/KDTreeAdaptor.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/KDTreeAdaptor.hpp
similarity index 98%
rename from StandardCyborgFusion/Algorithm/KDTreeAdaptor.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/KDTreeAdaptor.hpp
index a691e24..76fda56 100644
--- a/StandardCyborgFusion/Algorithm/KDTreeAdaptor.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/KDTreeAdaptor.hpp
@@ -8,9 +8,9 @@
#pragma once
-#include
+#import
-#include
+#import
/** Squared Euclidean (L2) distance functor (suitable for low-dimensionality
* datasets, like 2D or 3D point clouds) Corresponding distance traits:
diff --git a/StandardCyborgFusion/Algorithm/MeshUvMap.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MeshUvMap.cpp
similarity index 99%
rename from StandardCyborgFusion/Algorithm/MeshUvMap.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MeshUvMap.cpp
index f825009..2fadf82 100644
--- a/StandardCyborgFusion/Algorithm/MeshUvMap.cpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MeshUvMap.cpp
@@ -9,13 +9,13 @@
#import "MeshUvMap.hpp"
-#include "standard_cyborg/algorithms/Centroid.hpp"
-#include "standard_cyborg/algorithms/PointToPointAlignment.hpp"
-#include "standard_cyborg/algorithms/EdgeLoopFinder.hpp"
-#include "standard_cyborg/algorithms/MeshSplitter.hpp"
-#include "standard_cyborg/sc3d/MeshTopology.hpp"
-#include "standard_cyborg/sc3d/BoundingBox3.hpp"
-#include "standard_cyborg/util/AssertHelper.hpp"
+#include
+#include
+#include
+#include
+#include
+#include
+#include
#import "maxrects.hpp"
diff --git a/StandardCyborgFusion/Algorithm/MeshUvMap.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MeshUvMap.hpp
similarity index 97%
rename from StandardCyborgFusion/Algorithm/MeshUvMap.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MeshUvMap.hpp
index 5427024..ad4890c 100644
--- a/StandardCyborgFusion/Algorithm/MeshUvMap.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MeshUvMap.hpp
@@ -8,9 +8,9 @@
#pragma once
-#include
-#include
-#include
+#import
+#import
+#import
namespace standard_cyborg {
diff --git a/StandardCyborgFusion/Algorithm/MetalTextureProjection.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MetalTextureProjection.hpp
similarity index 100%
rename from StandardCyborgFusion/Algorithm/MetalTextureProjection.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MetalTextureProjection.hpp
diff --git a/StandardCyborgFusion/Algorithm/MetalTextureProjection.mm b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MetalTextureProjection.mm
similarity index 99%
rename from StandardCyborgFusion/Algorithm/MetalTextureProjection.mm
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MetalTextureProjection.mm
index 5641fd1..40f7647 100644
--- a/StandardCyborgFusion/Algorithm/MetalTextureProjection.mm
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/MetalTextureProjection.mm
@@ -6,7 +6,7 @@
// Copyright © 2019 Standard Cyborg. All rights reserved.
//
-#include "MetalTextureProjection.hpp"
+#import "MetalTextureProjection.hpp"
using namespace standard_cyborg;
diff --git a/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.cpp
similarity index 98%
rename from StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.cpp
index e50cec9..1c2df2e 100644
--- a/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.cpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.cpp
@@ -7,9 +7,9 @@
//
#include
-#include
#include
+#include "PBFDefinitions.h"
#include "OfflineSurfelLandmarking.hpp"
OfflineSurfelLandmarking::OfflineSurfelLandmarking(std::shared_ptr surfelIndexMap) :
diff --git a/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.hpp
similarity index 75%
rename from StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.hpp
index dfa9967..9961e63 100644
--- a/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OfflineSurfelLandmarking.hpp
@@ -8,14 +8,16 @@
#pragma once
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
+#import
+#import
+
+#import
+
+#import "Surfel.hpp"
+#import "ScreenSpaceLandmark.hpp"
+#import "SparseSurfelLandmarksIndex.hpp"
+#import "SurfelIndexMap.hpp"
+#import "ScreenSpaceLandmark.hpp"
class OfflineSurfelLandmarking {
diff --git a/StandardCyborgFusion/Algorithm/OutlierDetector.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OutlierDetector.cpp
similarity index 100%
rename from StandardCyborgFusion/Algorithm/OutlierDetector.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OutlierDetector.cpp
diff --git a/StandardCyborgFusion/Algorithm/OutlierDetector.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OutlierDetector.hpp
similarity index 100%
rename from StandardCyborgFusion/Algorithm/OutlierDetector.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/OutlierDetector.hpp
diff --git a/StandardCyborgFusion/Algorithm/PBFDefinitions.h b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFDefinitions.h
similarity index 100%
rename from StandardCyborgFusion/Algorithm/PBFDefinitions.h
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFDefinitions.h
diff --git a/StandardCyborgFusion/Algorithm/PBFModel.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFModel.cpp
similarity index 98%
rename from StandardCyborgFusion/Algorithm/PBFModel.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFModel.cpp
index 2a3fa4e..abf2263 100644
--- a/StandardCyborgFusion/Algorithm/PBFModel.cpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFModel.cpp
@@ -6,21 +6,21 @@
// Copyright © 2018 Standard Cyborg. All rights reserved.
//
-#include "PBFModel.hpp"
-#include "crc32.hpp"
-#include "DebugLog.h"
-#include "EigenHelpers.hpp"
-#include "GeometryHelpers.hpp"
-#include "MathHelpers.h"
-
-#include
-#include "crc32.hpp"
-#include
-#include
-#include
+#import
+#import
+#import
#import
+#import "PBFModel.hpp"
+#import "PBFDefinitions.h"
+#import "crc32.hpp"
+#import "DebugLog.h"
+#import "EigenHelpers.hpp"
+#import "GeometryHelpers.hpp"
+#import "MathHelpers.h"
+
+
using namespace Eigen;
#define DETAILED_PBF_MERGE_STATS 0
diff --git a/StandardCyborgFusion/Algorithm/PBFModel.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFModel.hpp
similarity index 79%
rename from StandardCyborgFusion/Algorithm/PBFModel.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFModel.hpp
index 51ca890..103937e 100644
--- a/StandardCyborgFusion/Algorithm/PBFModel.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/PBFModel.hpp
@@ -8,24 +8,24 @@
#pragma once
-#include
+#import
-#include
-#include
-#include
-#include
-#include
-#include
-#include
+#import
+#import
+#import
+#import
-#include
+#import "FastRand.hpp"
+#import "ICP.hpp"
+#import "Surfel.hpp"
+#import "SurfelFusion.hpp"
+#import "ScreenSpaceLandmark.hpp"
+#import "SparseSurfelLandmarksIndex.hpp"
-#include
-#include
-#include "PBFAssimilatedFrameMetadata.hpp"
-#include "ProcessedFrame.hpp"
-#include "PBFConfiguration.hpp"
+#import "PBFAssimilatedFrameMetadata.hpp"
+#import "ProcessedFrame.hpp"
+#import "PBFConfiguration.hpp"
using namespace standard_cyborg;
diff --git a/StandardCyborgFusion/Algorithm/SurfelFusion.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelFusion.cpp
similarity index 98%
rename from StandardCyborgFusion/Algorithm/SurfelFusion.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelFusion.cpp
index e14a448..ed9cd95 100644
--- a/StandardCyborgFusion/Algorithm/SurfelFusion.cpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelFusion.cpp
@@ -6,17 +6,15 @@
// Copyright © 2020 Standard Cyborg. All rights reserved.
//
-#import
-#include
+#import "PBFDefinitions.h"
#import
-#include
+#import
+#import
-#include
-
-#include "SurfelFusion.hpp"
-
-#include "DebugLog.h"
+#import "EigenHelpers.hpp"
+#import "DebugLog.h"
+#import "SurfelFusion.hpp"
const std::vector& SurfelFusion::getSurfelIndexLookups() const
{
diff --git a/StandardCyborgFusion/Algorithm/SurfelFusion.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelFusion.hpp
similarity index 88%
rename from StandardCyborgFusion/Algorithm/SurfelFusion.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelFusion.hpp
index 457532b..22668a9 100644
--- a/StandardCyborgFusion/Algorithm/SurfelFusion.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelFusion.hpp
@@ -9,11 +9,11 @@
#ifndef SurfelFusion_hpp
#define SurfelFusion_hpp
-#include "SurfelIndexMap.hpp"
+#import "SurfelIndexMap.hpp"
-#include
-#include
-#include
+#import "ProcessedFrame.hpp"
+#import "ScreenSpaceLandmark.hpp"
+#import "SparseSurfelLandmarksIndex.hpp"
struct SurfelFusionConfiguration {
float maxSurfelIncidenceThreshold = (70 * M_PI / 180);
diff --git a/StandardCyborgFusion/Algorithm/SurfelIndexMap.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelIndexMap.hpp
similarity index 84%
rename from StandardCyborgFusion/Algorithm/SurfelIndexMap.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelIndexMap.hpp
index 43072cb..d13f91b 100644
--- a/StandardCyborgFusion/Algorithm/SurfelIndexMap.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/SurfelIndexMap.hpp
@@ -8,10 +8,10 @@
#pragma once
-#include
-#include
-#include
-#include
+#import "EigenHelpers.hpp"
+#import "RawFrame.hpp"
+#import "Surfel.hpp"
+#import
class SurfelIndexMap {
public:
diff --git a/StandardCyborgFusion/Algorithm/maxrects.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/maxrects.cpp
similarity index 100%
rename from StandardCyborgFusion/Algorithm/maxrects.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/maxrects.cpp
diff --git a/StandardCyborgFusion/Algorithm/maxrects.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/maxrects.hpp
similarity index 99%
rename from StandardCyborgFusion/Algorithm/maxrects.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/maxrects.hpp
index d0e81d0..44a204b 100644
--- a/StandardCyborgFusion/Algorithm/maxrects.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/Algorithm/maxrects.hpp
@@ -37,7 +37,7 @@
*/
#pragma once
-#include
+#import
namespace rbp {
diff --git a/StandardCyborgFusion/DataStructures/PBFAssimilatedFrameMetadata.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFAssimilatedFrameMetadata.hpp
similarity index 95%
rename from StandardCyborgFusion/DataStructures/PBFAssimilatedFrameMetadata.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFAssimilatedFrameMetadata.hpp
index 1595bbb..fd26bd8 100644
--- a/StandardCyborgFusion/DataStructures/PBFAssimilatedFrameMetadata.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFAssimilatedFrameMetadata.hpp
@@ -8,7 +8,7 @@
#pragma once
-#include
+#import
struct PBFAssimilatedFrameMetadata {
/**
diff --git a/StandardCyborgFusion/DataStructures/PBFConfiguration.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFConfiguration.cpp
similarity index 100%
rename from StandardCyborgFusion/DataStructures/PBFConfiguration.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFConfiguration.cpp
diff --git a/StandardCyborgFusion/DataStructures/PBFConfiguration.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFConfiguration.hpp
similarity index 92%
rename from StandardCyborgFusion/DataStructures/PBFConfiguration.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFConfiguration.hpp
index 59772a1..7efc934 100644
--- a/StandardCyborgFusion/DataStructures/PBFConfiguration.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/PBFConfiguration.hpp
@@ -8,8 +8,8 @@
#pragma once
-#include
-#include
+#import
+#import
struct PBFConfiguration {
float maxCameraVelocity = 0.6;
diff --git a/StandardCyborgFusion/DataStructures/ProcessedFrame.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/ProcessedFrame.hpp
similarity index 92%
rename from StandardCyborgFusion/DataStructures/ProcessedFrame.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/ProcessedFrame.hpp
index 3fc54df..fc11d48 100644
--- a/StandardCyborgFusion/DataStructures/ProcessedFrame.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/ProcessedFrame.hpp
@@ -8,9 +8,10 @@
#pragma once
-#include
-#include
-#include
+#import
+#import
+
+#import "RawFrame.hpp"
#define METAL_REQUIRED_ALIGNMENT 4096
diff --git a/StandardCyborgFusion/DataStructures/RawFrame.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/RawFrame.hpp
similarity index 96%
rename from StandardCyborgFusion/DataStructures/RawFrame.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/RawFrame.hpp
index d46df20..c21f100 100644
--- a/StandardCyborgFusion/DataStructures/RawFrame.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/RawFrame.hpp
@@ -8,7 +8,7 @@
#pragma once
-#include
+#import
using namespace standard_cyborg;
diff --git a/StandardCyborgFusion/DataStructures/ScreenSpaceLandmark.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/ScreenSpaceLandmark.hpp
similarity index 100%
rename from StandardCyborgFusion/DataStructures/ScreenSpaceLandmark.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/ScreenSpaceLandmark.hpp
diff --git a/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.cpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.cpp
similarity index 100%
rename from StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.cpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.cpp
diff --git a/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.hpp b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.hpp
similarity index 94%
rename from StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.hpp
rename to StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.hpp
index 35386b2..5db052b 100644
--- a/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.hpp
+++ b/StandardCyborgFusion/Sources/StandardCyborgFusion/DataStructures/SparseSurfelLandmarksIndex.hpp
@@ -8,12 +8,12 @@
#pragma once
-#include
-#include