Skip to content

C library for 2D/3D Geometry functions using single and dual quaternions

License

Notifications You must be signed in to change notification settings

kvedala/libquat

Repository files navigation

libQuat #{#mainpage}

Gitpod Ready-to-Code Language grade: C/C++ Code size C/C++ CI

Overview

Simple library for operations on 3D vectors and quaternions.

Online Documentation

Features

  • Simple interface in both C and C++
  • Can be expoted to a shared library for use in any other high-level languages, including python.
  • Utilizes pragma checks to utilize hardware floating point units (FPU), when available on ARM Cortex-M microcontrollers.
  • Ease access in a variety of forms to individual elements of vectors and quaternions.

Build

There are no external dependencies for this library other than C++ STL.

  1. Configure step Issue the following command from the root folder of the repo. This created the build directory where the library and programs will get built.
$ cmake -B build -S.
  1. Compilation step Issue the following command from the root folder of the repo. This will compile the static library and will be available as libquat.lib or libquat.a. The configuration option RelWithDebInfo will create a release build with some debug info. For a full release with no debug info, change it to Release. The installation folder can also be specified here.
$ cmake --build build -t all [--config RelWithDebInfo] [-DCMAKE_INSTALL_PREFIX=/opt/local]
  1. Install the library This command will install the static library and the header file libquat.h to the system.
$ cmake --build build -t install
  1. Compile custom programs To incorporate to your programs, all functions and their descriptions are available in libquat.h and also at the online link above and link against the compiled library.

Contribute

We welcome any contributions and suggestions. Feel free to submit a pull-quest with appropriate info. Thank you in advance.

About

C library for 2D/3D Geometry functions using single and dual quaternions

Topics

Resources

License

Stars

Watchers

Forks