kvedala / libquat

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

Home Page:https://kvedala.github.io/libquat

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

https://kvedala.github.io/libquat

License:MIT License


Languages

Language:C++ 76.7%Language:CMake 13.0%Language:C 10.3%