Skip to content

metason/SRswift

Repository files navigation

SRswift: Spatial Reasoner in Swift

A flexible 3D Spatial Reasoning library for iOS, macOS, and visionOS

Features

The SRswift library supports the following operations of the Spatial Reasoner Syntax to specify a spatial inference pipeline.

  • adjust: optional setup to adjust nearby, sector, and max deviation settings
  • deduce: optional setup to specify relation categories to be deduced
  • filter: filter objects by matching spatial attributes
  • isa: filter objects that belong to a type in a class hierarchy (taxonomy)
  • pick: pick objects along their spatial relations
  • select: select objects having spatial relations with others
  • sort: sort objects by metric attributes or by spatial relations
  • slice: choose a subsection of spatial objects
  • calc: calculate global variables in fact base
  • map: calculate values of object attributes
  • produce: create new spatial objects driven by their relations
  • backtrace: output spatial objects of operation some steps back in pipeline
  • reload: reload and output all spatial objects of fact base
  • halt: stop processing the inference pipeline (for debug purposes)
  • log: log the current status of the inference pipeline

Getting Started

Documentation

See Docu on SpatialReasoner framework in separate repository.

Building and Integrating

Use XCode package manager to import the SRswift library using the link to this repository: https://github.com/metason/SRswift.

Tests

SRswift includes extensive test cases. They include some expect() conditions but also log(base 3D) pipeleine operations for visual approval. Some test cases (named *Vis) are "misused" to generate visualizations that are included in the documentation of SpatialReasoner.

License

Released under the Creative Commons CC0 License.

Contact

Philipp Ackermann, philipp@metason.net

About

A 3D Spatial Reasoning library in Swift

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages