81 lines
2.3 KiB
C
81 lines
2.3 KiB
C
/* Copyright 2018 The MathWorks, Inc. */
|
|
|
|
#ifndef _SEARCHORGANIZEDPOINTCLOUD_
|
|
#define _SEARCHORGANIZEDPOINTCLOUD_
|
|
|
|
#ifndef LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
# define LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
#endif
|
|
|
|
#ifndef EXTERN_C
|
|
# ifdef __cplusplus
|
|
# define EXTERN_C extern "C"
|
|
# else
|
|
# define EXTERN_C extern
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef MATLAB_MEX_FILE
|
|
#include "tmwtypes.h"
|
|
#else
|
|
#include "rtwtypes.h"
|
|
#endif
|
|
|
|
|
|
// knn search for different classes (single/double)
|
|
EXTERN_C LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
uint32_T searchOrganizedPointCloud_knnsearch_single(float* location,
|
|
uint32_T height,
|
|
uint32_T width,
|
|
float *point,
|
|
double kValue,
|
|
float *pointProjection,
|
|
float *KRKRT,
|
|
void** resultIndices,
|
|
void** resultDistances);
|
|
EXTERN_C LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
uint32_T searchOrganizedPointCloud_knnsearch_double(double* location,
|
|
uint32_T height,
|
|
uint32_T width,
|
|
double *point,
|
|
double kValue,
|
|
double *pointProjection,
|
|
double *KRKRT,
|
|
void** resultIndices,
|
|
void** resultDistances);
|
|
// radius search for different classes (single/double)
|
|
EXTERN_C LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
uint32_T searchOrganizedPointCloud_radiussearch_single(float* location,
|
|
uint32_T height,
|
|
uint32_T width,
|
|
float *point,
|
|
double kValue,
|
|
float *pointProjection,
|
|
float *KRKRT,
|
|
void** resultIndices,
|
|
void** resultDistances);
|
|
EXTERN_C LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
uint32_T searchOrganizedPointCloud_radiussearch_double(double* location,
|
|
uint32_T height,
|
|
uint32_T width,
|
|
double *point,
|
|
double kValue,
|
|
double *pointProjection,
|
|
double *KRKRT,
|
|
void** resultIndices,
|
|
void** resultDistances);
|
|
// Assign outputs for different classes (single/double)
|
|
EXTERN_C LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
void searchOrganizedPointCloudAssignOutputs_single(void* ptrIndices,
|
|
void* ptrDists,
|
|
uint32_T* indicesPtr,
|
|
float* distancePtr);
|
|
EXTERN_C LIBMWSEARCHORGANIZEDPOINTCLOUD_API
|
|
void searchOrganizedPointCloudAssignOutputs_double(void* ptrIndices,
|
|
void* ptrDists,
|
|
uint32_T* indicesPtr,
|
|
double* distancePtr);
|
|
|
|
|
|
#endif
|