54 lines
1.5 KiB
C++
54 lines
1.5 KiB
C++
/* Copyright 2018-2019 The MathWorks, Inc. */
|
|
|
|
/**
|
|
* @file
|
|
* External C-API interfaces for Dubins motion primitive calculations (TBB-accelerated).
|
|
* To fully support code generation, note that this file needs to be fully
|
|
* compliant with the C89/C90 (ANSI) standard.
|
|
*/
|
|
|
|
#ifndef AUTONOMOUSCODEGEN_DUBINS_TBB_API_H_
|
|
#define AUTONOMOUSCODEGEN_DUBINS_TBB_API_H_
|
|
|
|
#ifdef BUILDING_LIBMWAUTONOMOUSCODEGEN
|
|
#include "autonomouscodegen/autonomouscodegen_util.hpp"
|
|
#else
|
|
/* To deal with the fact that PackNGo has no include file hierarchy during test */
|
|
#include "autonomouscodegen_util.hpp"
|
|
#endif
|
|
|
|
|
|
/**
|
|
* @copydoc autonomousDubinsSegmentsCodegen_real64
|
|
*
|
|
* This function uses TBB to parallelize the computation.
|
|
*/
|
|
EXTERN_C AUTONOMOUS_CODEGEN_API void autonomousDubinsSegmentsCodegen_tbb_real64(
|
|
const real64_T* startPose,
|
|
const uint32_T numStartPoses,
|
|
const real64_T* goalPose,
|
|
const uint32_T numGoalPoses,
|
|
const real64_T turningRadius,
|
|
const boolean_T* allPathTypes,
|
|
const boolean_T isOptimal,
|
|
const uint32_T nlhs,
|
|
real64_T* distance,
|
|
real64_T* segmentLen,
|
|
real64_T* segmentType);
|
|
|
|
|
|
/**
|
|
* @copydoc autonomousDubinsDistanceCodegen_real64
|
|
*
|
|
* This function uses TBB to parallelize the computation.
|
|
*/
|
|
EXTERN_C AUTONOMOUS_CODEGEN_API void autonomousDubinsDistanceCodegen_tbb_real64(
|
|
const real64_T* startPose,
|
|
const uint32_T numStartPoses,
|
|
const real64_T* goalPose,
|
|
const uint32_T numGoalPoses,
|
|
const real64_T turningRadius,
|
|
real64_T* distance);
|
|
|
|
#endif /* AUTONOMOUSCODEGEN_DUBINS_TBB_API_H_ */
|