C++ API and example

1. Introduction

This page exist in order to extract the examples from the Doxygen documentation, Please have look at the end of this page there are all the examples.

2. C++ API and example

namespace pam_vicon

Typedefs

typedef vicon_transformer::FixedSizeViconFrame<NUM_SUBJECTS> FixedSizeViconFrame

FixedSizeViconFrame for the PAM Vicon setup.

typedef vicon_transformer::o80Driver<NUM_SUBJECTS, map_subject_name_to_index> o80Driver

o80Driver for the PAM Vicon setup

typedef vicon_transformer::o80Standalone<o80Driver> o80Standalone

o80Standalone for the PAM Vicon setup

Enums

enum Subjects

Enumeration of Vicon subjects.

The values of the enum entries are used as indices for arrays with subject data.

Values:

enumerator PING_BASE
enumerator BALL_LAUNCHER_FRONT
enumerator BALL_LAUNCHER_HEAD
enumerator TABLE_CORNER_1
enumerator TABLE_CORNER_2
enumerator TABLE_CORNER_3
enumerator TABLE_CORNER_4
enumerator LED_STICK
enumerator ROBOT1_BASE
enumerator ROBOT1_UPPER_ARM
enumerator ROBOT1_RACKET
enumerator PING_BASE
enumerator BALL_LAUNCHER_FRONT
enumerator BALL_LAUNCHER_HEAD
enumerator TABLE_CORNER_1
enumerator TABLE_CORNER_2
enumerator TABLE_CORNER_3
enumerator TABLE_CORNER_4
enumerator LED_STICK
enumerator ROBOT1_BASE
enumerator ROBOT1_UPPER_ARM
enumerator ROBOT1_RACKET
enum Subjects

Enumeration of Vicon subjects.

The values of the enum entries are used as indices for arrays with subject data.

Values:

enumerator PING_BASE
enumerator BALL_LAUNCHER_FRONT
enumerator BALL_LAUNCHER_HEAD
enumerator TABLE_CORNER_1
enumerator TABLE_CORNER_2
enumerator TABLE_CORNER_3
enumerator TABLE_CORNER_4
enumerator LED_STICK
enumerator ROBOT1_BASE
enumerator ROBOT1_UPPER_ARM
enumerator ROBOT1_RACKET
enumerator PING_BASE
enumerator BALL_LAUNCHER_FRONT
enumerator BALL_LAUNCHER_HEAD
enumerator TABLE_CORNER_1
enumerator TABLE_CORNER_2
enumerator TABLE_CORNER_3
enumerator TABLE_CORNER_4
enumerator LED_STICK
enumerator ROBOT1_BASE
enumerator ROBOT1_UPPER_ARM
enumerator ROBOT1_RACKET

Functions

inline size_t map_subject_name_to_index(const std::string &name)

Maps subject name to index.

Parameters:

name – Name of the subject.

Returns:

Index at which this subject is expected in subject arrays.

inline std::array<std::string, NUM_SUBJECTS> get_subject_names()

Get list of subject names.

The names are ordered according to Subjects, i.e.

.. code-block:: C++

auto names = get_subject_names(); names[Subjects::BALL_LAUNCHER]

gives the name of the ball launcher marker.

Returns:

Array that maps subject index to its name.

Variables

constexpr std::size_t NUM_SUBJECTS = 11

Number of subjects in the PAM Vicon setup.

const std::map<std::string, size_t> _subject_name_to_index = {{"Pamy_ceiling", Subjects::PING_BASE}, {"Ballmaschine Frontmarker", Subjects::BALL_LAUNCHER_FRONT}, {"Abschusskopf Marker", Subjects::BALL_LAUNCHER_HEAD}, {"Eckteil 1", Subjects::TABLE_CORNER_1}, {"Eckteil 2", Subjects::TABLE_CORNER_2}, {"Eckteil 3", Subjects::TABLE_CORNER_3}, {"Eckteil 4", Subjects::TABLE_CORNER_4}, {"rll_led_stick", Subjects::LED_STICK}, {"pamy1_base", Subjects::ROBOT1_BASE}, {"pamy1_upper_arm", Subjects::ROBOT1_UPPER_ARM}, {"pamy1_racket", Subjects::ROBOT1_RACKET},}

Maps subject name to Subjects entry.

file CMakeCCompilerId.c

Defines

__has_include(x)
COMPILER_ID
STRINGIFY_HELPER(X)
STRINGIFY(X)
PLATFORM_ID
ARCHITECTURE_ID
DEC(n)
HEX(n)
C_VERSION

Functions

int main(int argc, char *argv[])

Variables

char const  * info_compiler   = "INFO" ":" "compiler[" COMPILER_ID "]"
char const  * info_platform   = "INFO" ":" "platform[" PLATFORM_ID "]"
char const  * info_arch   = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
const char * info_language_standard_default  ="INFO" ":" "standard_default[" C_VERSION "]"
const char * info_language_extensions_default  = "INFO" ":" "extensions_default[""OFF""]"
file CMakeCXXCompilerId.cpp

Defines

__has_include(x)
COMPILER_ID
STRINGIFY_HELPER(X)
STRINGIFY(X)
PLATFORM_ID
ARCHITECTURE_ID
DEC(n)
HEX(n)
CXX_STD

Functions

int main(int argc, char *argv[])

Variables

char const  * info_compiler   = "INFO" ":" "compiler[" COMPILER_ID "]"
char const  * info_platform   = "INFO" ":" "platform[" PLATFORM_ID "]"
char const  * info_arch   = "INFO" ":" "arch[" ARCHITECTURE_ID "]"
const char * info_language_standard_default  = "INFO" ":" "standard_default[""98""]"
const char * info_language_extensions_default  = "INFO" ":" "extensions_default[""OFF""]"
file o80.hpp
#include <array>
#include <cstddef>
#include <map>
#include <string>
#include <vicon_transformer/errors.hpp>
#include <vicon_transformer/o80_driver.hpp>
#include <vicon_transformer/o80_standalone.hpp>

PAM-Vicon specific settings for the o80 driver.

Copyright

2023 Max Planck Gesellschaft. All rights reserved.

file o80.hpp
#include <array>
#include <cstddef>
#include <map>
#include <string>
#include <vicon_transformer/errors.hpp>
#include <vicon_transformer/o80_driver.hpp>
#include <vicon_transformer/o80_standalone.hpp>

PAM-Vicon specific settings for the o80 driver.

Copyright

2023 Max Planck Gesellschaft. All rights reserved.

file o80.cpp
#include <sstream>
#include <pybind11/eigen.h>
#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include <o80/pybind11_helper.hpp>
#include <serialization_utils/cereal_json.hpp>
#include <pam_vicon/o80.hpp>

Functions

PYBIND11_MODULE(o80, m)
dir build/pam_vicon/CMakeFiles/3.26.4
dir build
dir build/pam_vicon/CMakeFiles
dir build/pam_vicon/CMakeFiles/3.26.4/CompilerIdC
dir build/pam_vicon/CMakeFiles/3.26.4/CompilerIdCXX
dir install/pam_vicon/include
dir include
dir install
dir install/pam_vicon/include/pam_vicon
dir install/pam_vicon
dir build/pam_vicon
dir include/pam_vicon
dir srcpy