51 lines
1.5 KiB
C++
51 lines
1.5 KiB
C++
|
/* Copyright 2020 The MathWorks, Inc. */
|
||
|
|
||
|
/**
|
||
|
* @file
|
||
|
* External C-API interfaces for UAV Dubins motion primitive calculations.
|
||
|
* To fully support code generation, note that this file needs to be fully
|
||
|
* compliant with the C89/C90 (ANSI) standard.
|
||
|
*/
|
||
|
|
||
|
#ifndef UAVDUBINSCODEGEN_DUBINS_API_H_
|
||
|
#define UAVDUBINSCODEGEN_DUBINS_API_H_
|
||
|
|
||
|
#ifdef BUILDING_LIBMWUAVDUBINSCODEGEN
|
||
|
#include "uavdubinscodegen/uavdubinscodegen_util.hpp"
|
||
|
#else
|
||
|
/* To deal with the fact that PackNGo has no include file hierarchy during test */
|
||
|
#include "uavdubinscodegen_util.hpp"
|
||
|
#endif
|
||
|
|
||
|
EXTERN_C UAVDUBINSCODEGEN_API void* uavDubinsConnectionObj(const double airSpeed,
|
||
|
const double maxRollAngle, double* flightPathAngleLimit,
|
||
|
double* disabledPathTypes, uint32_T numDisabledPathTypes);
|
||
|
|
||
|
/**
|
||
|
* @brief Free memory and reset to initial state
|
||
|
* @param[in] connObj uavDubinsConnection internal object
|
||
|
*/
|
||
|
EXTERN_C UAVDUBINSCODEGEN_API void uavDubinsConnectionObjCleanup(void* connObj);
|
||
|
|
||
|
/**
|
||
|
* @copydoc uavDubinsDistanceCodegen_real64
|
||
|
*/
|
||
|
EXTERN_C UAVDUBINSCODEGEN_API void uavDubinsDistanceCodegen_real64(
|
||
|
void* connObj,
|
||
|
real64_T* startPose,
|
||
|
const uint32_T numStartPoses,
|
||
|
real64_T* goalPose,
|
||
|
const uint32_T numGoalPoses,
|
||
|
const boolean_T flagOptimal,
|
||
|
const real64_T minTurningRadius,
|
||
|
real64_T* sp,
|
||
|
real64_T* g,
|
||
|
real64_T* fpa,
|
||
|
real64_T* a,
|
||
|
real64_T* mtr,
|
||
|
real64_T* h,
|
||
|
real64_T* mt,
|
||
|
real64_T* ml);
|
||
|
|
||
|
#endif /* UAVDUBINSCODEGEN_DUBINS_API_H_ */
|