Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 77 additions & 9 deletions IOSAccessAssessment.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@
A374FAB72EE0173600055268 /* OSMResponseElement.swift in Sources */ = {isa = PBXBuildFile; fileRef = A374FAB62EE0173200055268 /* OSMResponseElement.swift */; };
A37E3E3C2EED60F300B07B77 /* PngEncoder.mm in Sources */ = {isa = PBXBuildFile; fileRef = A37E3E3B2EED60F300B07B77 /* PngEncoder.mm */; };
A37E3E3D2EED60F300B07B77 /* lodepng.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A37E3E392EED60F300B07B77 /* lodepng.cpp */; };
A37E3E952EFB66EB00B07B77 /* CameraIntrinsicsEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A37E3E942EFB66E600B07B77 /* CameraIntrinsicsEncoder.swift */; };
A37E3E9B2EFB8F7500B07B77 /* HeadingEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A37E3E9A2EFB8F7200B07B77 /* HeadingEncoder.swift */; };
A37E3E9E2EFBAA8700B07B77 /* AccessibilityFeatureSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = A37E3E9D2EFBAA7D00B07B77 /* AccessibilityFeatureSnapshot.swift */; };
A37E3EA02EFBAADD00B07B77 /* AccessibilityFeatureClassSnapshot.swift in Sources */ = {isa = PBXBuildFile; fileRef = A37E3E9F2EFBAADC00B07B77 /* AccessibilityFeatureClassSnapshot.swift */; };
A37E720E2ED5783600CFE4EF /* SharedAppContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = A37E720D2ED5783300CFE4EF /* SharedAppContext.swift */; };
A37E72102ED66A6400CFE4EF /* SegmentationAnnotationPipeline.swift in Sources */ = {isa = PBXBuildFile; fileRef = A37E720F2ED66A6400CFE4EF /* SegmentationAnnotationPipeline.swift */; };
A37E72142ED95C0C00CFE4EF /* MeshHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = A37E72132ED95C0900CFE4EF /* MeshHelpers.swift */; };
Expand All @@ -92,6 +96,7 @@
A3B2DDBF2DC99DEF003416FB /* HomographyRequestProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3B2DDBE2DC99DE9003416FB /* HomographyRequestProcessor.swift */; };
A3B2DDC12DC99F44003416FB /* SegmentationModelRequestProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3B2DDC02DC99F3D003416FB /* SegmentationModelRequestProcessor.swift */; };
A3BB5AFB2DB210AE008673ED /* BinaryMaskFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BB5AFA2DB210A8008673ED /* BinaryMaskFilter.swift */; };
A3BCBC502EFBB92900D15E15 /* AccessibilityFeatureEncoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3BCBC4F2EFBB92500D15E15 /* AccessibilityFeatureEncoder.swift */; };
A3C22FD32CF194A600533BF7 /* CGImageUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C22FD22CF194A200533BF7 /* CGImageUtils.swift */; };
A3C22FD82CF2F0C300533BF7 /* DequeModule in Frameworks */ = {isa = PBXBuildFile; productRef = A3C22FD72CF2F0C300533BF7 /* DequeModule */; };
A3C55A472EAF513B00F6CFDC /* FrameRasterizer.swift in Sources */ = {isa = PBXBuildFile; fileRef = A3C55A462EAF513800F6CFDC /* FrameRasterizer.swift */; };
Expand Down Expand Up @@ -240,6 +245,10 @@
A37E3E392EED60F300B07B77 /* lodepng.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = lodepng.cpp; sourceTree = "<group>"; };
A37E3E3A2EED60F300B07B77 /* PngEncoder.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PngEncoder.h; sourceTree = "<group>"; };
A37E3E3B2EED60F300B07B77 /* PngEncoder.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = PngEncoder.mm; sourceTree = "<group>"; };
A37E3E942EFB66E600B07B77 /* CameraIntrinsicsEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CameraIntrinsicsEncoder.swift; sourceTree = "<group>"; };
A37E3E9A2EFB8F7200B07B77 /* HeadingEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeadingEncoder.swift; sourceTree = "<group>"; };
A37E3E9D2EFBAA7D00B07B77 /* AccessibilityFeatureSnapshot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessibilityFeatureSnapshot.swift; sourceTree = "<group>"; };
A37E3E9F2EFBAADC00B07B77 /* AccessibilityFeatureClassSnapshot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessibilityFeatureClassSnapshot.swift; sourceTree = "<group>"; };
A37E720D2ED5783300CFE4EF /* SharedAppContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SharedAppContext.swift; sourceTree = "<group>"; };
A37E720F2ED66A6400CFE4EF /* SegmentationAnnotationPipeline.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SegmentationAnnotationPipeline.swift; sourceTree = "<group>"; };
A37E72132ED95C0900CFE4EF /* MeshHelpers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeshHelpers.swift; sourceTree = "<group>"; };
Expand All @@ -262,6 +271,7 @@
A3B2DDBE2DC99DE9003416FB /* HomographyRequestProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomographyRequestProcessor.swift; sourceTree = "<group>"; };
A3B2DDC02DC99F3D003416FB /* SegmentationModelRequestProcessor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SegmentationModelRequestProcessor.swift; sourceTree = "<group>"; };
A3BB5AFA2DB210A8008673ED /* BinaryMaskFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BinaryMaskFilter.swift; sourceTree = "<group>"; };
A3BCBC4F2EFBB92500D15E15 /* AccessibilityFeatureEncoder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessibilityFeatureEncoder.swift; sourceTree = "<group>"; };
A3C22FD22CF194A200533BF7 /* CGImageUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CGImageUtils.swift; sourceTree = "<group>"; };
A3C55A462EAF513800F6CFDC /* FrameRasterizer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FrameRasterizer.swift; sourceTree = "<group>"; };
A3C55A482EAFFAB600F6CFDC /* CenterCropTransformUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CenterCropTransformUtils.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -453,14 +463,12 @@
isa = PBXGroup;
children = (
A37E3E352EED60C100B07B77 /* CHelpers */,
A3FE16662E18C81500DAE5BE /* LocationEncoder.swift */,
A3FE16642E18C53D00DAE5BE /* CameraTransformEncoder.swift */,
A3FE16622E18BAE900DAE5BE /* ConfidenceEncoder.swift */,
A3FE16602E18BA5600DAE5BE /* RGBEncoder.swift */,
A3FE166D2E1C2AEF00DAE5BE /* SegmentationEncoder.swift */,
A305B06B2E18A85D00ECCF9B /* DepthEncoder.swift */,
A37E3E982EFB8F4900B07B77 /* Location */,
A37E3E962EFB8F1300B07B77 /* Image */,
A37E3E972EFB8F3800B07B77 /* ARCamera */,
A37E3E992EFB8F5400B07B77 /* Others */,
A37E3E9C2EFB8F8400B07B77 /* AccessibilityFeature */,
A305B05B2E18882500ECCF9B /* DatasetEncoder.swift */,
A3FE166B2E1C29C800DAE5BE /* OtherDetailsEncoder.swift */,
);
path = LocalDataset;
sourceTree = "<group>";
Expand Down Expand Up @@ -662,6 +670,61 @@
path = CHelpers;
sourceTree = "<group>";
};
A37E3E962EFB8F1300B07B77 /* Image */ = {
isa = PBXGroup;
children = (
A3FE16622E18BAE900DAE5BE /* ConfidenceEncoder.swift */,
A3FE16602E18BA5600DAE5BE /* RGBEncoder.swift */,
A3FE166D2E1C2AEF00DAE5BE /* SegmentationEncoder.swift */,
A305B06B2E18A85D00ECCF9B /* DepthEncoder.swift */,
);
path = Image;
sourceTree = "<group>";
};
A37E3E972EFB8F3800B07B77 /* ARCamera */ = {
isa = PBXGroup;
children = (
A3FE16642E18C53D00DAE5BE /* CameraTransformEncoder.swift */,
A37E3E942EFB66E600B07B77 /* CameraIntrinsicsEncoder.swift */,
);
path = ARCamera;
sourceTree = "<group>";
};
A37E3E982EFB8F4900B07B77 /* Location */ = {
isa = PBXGroup;
children = (
A3FE16662E18C81500DAE5BE /* LocationEncoder.swift */,
A37E3E9A2EFB8F7200B07B77 /* HeadingEncoder.swift */,
);
path = Location;
sourceTree = "<group>";
};
A37E3E992EFB8F5400B07B77 /* Others */ = {
isa = PBXGroup;
children = (
A3FE166B2E1C29C800DAE5BE /* OtherDetailsEncoder.swift */,
);
path = Others;
sourceTree = "<group>";
};
A37E3E9C2EFB8F8400B07B77 /* AccessibilityFeature */ = {
isa = PBXGroup;
children = (
A37E3EA12EFBACF300B07B77 /* Components */,
A3BCBC4F2EFBB92500D15E15 /* AccessibilityFeatureEncoder.swift */,
);
path = AccessibilityFeature;
sourceTree = "<group>";
};
A37E3EA12EFBACF300B07B77 /* Components */ = {
isa = PBXGroup;
children = (
A37E3E9D2EFBAA7D00B07B77 /* AccessibilityFeatureSnapshot.swift */,
A37E3E9F2EFBAADC00B07B77 /* AccessibilityFeatureClassSnapshot.swift */,
);
path = Components;
sourceTree = "<group>";
};
A37E720A2ED571A800CFE4EF /* Definitions */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -1075,6 +1138,7 @@
A308015C2EC09BB700B1BA3A /* CityscapesClassConfig.swift in Sources */,
A308015D2EC09BB700B1BA3A /* CityscapesSubsetClassConfig.swift in Sources */,
A35547C82EC1B0DB00F43AFD /* MappingData.swift in Sources */,
A37E3EA02EFBAADD00B07B77 /* AccessibilityFeatureClassSnapshot.swift in Sources */,
A35547C42EC1AF5700F43AFD /* CaptureData.swift in Sources */,
A308015E2EC09BB700B1BA3A /* CocoCustom35ClassConfig.swift in Sources */,
A308015F2EC09BB700B1BA3A /* MapillaryCustom11ClassConfig.swift in Sources */,
Expand Down Expand Up @@ -1158,13 +1222,16 @@
A35E05102EDE60C0003C26CF /* InvalidContentView.swift in Sources */,
A35E050D2EDE35E1003C26CF /* LocalizationProcessor.swift in Sources */,
A35E051E2EDFB09A003C26CF /* OSMWay.swift in Sources */,
A37E3E9B2EFB8F7500B07B77 /* HeadingEncoder.swift in Sources */,
A305B05C2E18882800ECCF9B /* DatasetEncoder.swift in Sources */,
A3DA4DA82EB94D84005BB812 /* MeshGPUSnapshot.swift in Sources */,
A31A1E742EAC426C008B30B7 /* ARCameraViewController.swift in Sources */,
A37E72162ED95CB400CFE4EF /* MeshGPUDefinitions.swift in Sources */,
DAA7F8C22CA684AF003666D8 /* ProgressBar.swift in Sources */,
A37E3E952EFB66EB00B07B77 /* CameraIntrinsicsEncoder.swift in Sources */,
A35547152EC198A600F43AFD /* ContourRequestProcessor.swift in Sources */,
A30801642EC0A8AA00B1BA3A /* DetectedFeature.swift in Sources */,
A3BCBC502EFBB92900D15E15 /* AccessibilityFeatureEncoder.swift in Sources */,
A3FFAA752DE00F3B002B99BD /* ARCameraManager.swift in Sources */,
A3DC22EF2DCF119A0020CE84 /* HomographyTransformFilter.swift in Sources */,
A3420F1C2E8D82E700CD617E /* APIEnvironment.swift in Sources */,
Expand All @@ -1173,6 +1240,7 @@
A3FE16672E18C81800DAE5BE /* LocationEncoder.swift in Sources */,
A3FFAA832DE5253E002B99BD /* bisenetv2_53_640_640.mlpackage in Sources */,
A3FFAA7A2DE01A0F002B99BD /* ARCameraView.swift in Sources */,
A37E3E9E2EFBAA8700B07B77 /* AccessibilityFeatureSnapshot.swift in Sources */,
A3FFAA782DE01637002B99BD /* ARCameraUtils.swift in Sources */,
A3FE166E2E1C2AF200DAE5BE /* SegmentationEncoder.swift in Sources */,
A30BED3A2ED162F1004A5B51 /* ConnectedComponents.swift in Sources */,
Expand Down Expand Up @@ -1364,7 +1432,7 @@
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 18.6;
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
MARKETING_VERSION = 0.2;
MARKETING_VERSION = 0.3;
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/IOSAccessAssessment/**";
PRODUCT_BUNDLE_IDENTIFIER = edu.uw.pointmapper;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down Expand Up @@ -1407,7 +1475,7 @@
INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown";
IPHONEOS_DEPLOYMENT_TARGET = 18.6;
LD_RUNPATH_SEARCH_PATHS = "$(inherited)";
MARKETING_VERSION = 0.2;
MARKETING_VERSION = 0.3;
MTL_HEADER_SEARCH_PATHS = "$(SRCROOT)/IOSAccessAssessment/**";
PRODUCT_BUNDLE_IDENTIFIER = edu.uw.pointmapper;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ enum AccessibilityFeatureError: Error, LocalizedError {
}
}

struct LocationDetails {
struct LocationDetails: Codable, Sendable {
var coordinates: [[CLLocationCoordinate2D]]

init(coordinate: CLLocationCoordinate2D) {
Expand All @@ -32,6 +32,37 @@ struct LocationDetails {
init(coordinates: [[CLLocationCoordinate2D]]) {
self.coordinates = coordinates
}

enum CodingKeys: String, CodingKey {
case coordinates
}

func encode(to encoder: Encoder) throws {
var container = encoder.container(keyedBy: CodingKeys.self)
let encodedCoordinates = coordinates.map { ring in
ring.map { coordinate in
[coordinate.latitude, coordinate.longitude]
}
}
try container.encode(encodedCoordinates, forKey: .coordinates)
}

init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
let decodedCoordinates = try container.decode([[[Double]]].self, forKey: .coordinates)
self.coordinates = try decodedCoordinates.map { ring in
try ring.map { coordinateArray in
guard coordinateArray.count == 2 else {
throw DecodingError.dataCorruptedError(
forKey: .coordinates,
in: container,
debugDescription: "Each coordinate must have exactly two elements: latitude and longitude."
)
}
return CLLocationCoordinate2D(latitude: coordinateArray[0], longitude: coordinateArray[1])
}
}
}
}

protocol AccessibilityFeatureProtocol: Identifiable, Equatable {
Expand Down
Loading