unable to generate code with 'collisionMesh' function.

3 次查看(过去 30 天)
Hi.
I am trying to create a .mex file using the coder app. The function I am trying to convert uses the collisionMesh and checkcollision functions.
I have already did it succesfully with another function using the exact same functions, but with a different structure. For some reason, now I am getting an error saying:
'collisionMesh' is not supported as an I/O argument to entry point function as it is a handle class
and to be honest I have no idea what that means and why it hapenned, and I'll be glad for any suggestions.
Thanks!
  2 个评论
Walter Roberson
Walter Roberson 2024-6-24
My interpretation is that you are trying to compile a function, and the function has an arguements block, and one of the parameters is defined using the name collisionMesh and the associated arguement type for that parameter is a handle class type.
I do not know why handle class type parameters are not permitted.
Net Fre
Net Fre 2024-6-24
Hi Walter. Thank you for your respond.
The function didn't have an argument block, but the solution was close - one of the inputs was a cell array, where each cell contained a struct, and one of the fields was created with the 'collisionMesh' function. Removing that field (I found a way to avoid using it, mightv'e even made the code better) solved the problem.
Thanks again!

请先登录,再进行评论。

采纳的回答

Matan Silver
Matan Silver 2024-6-27
Hi Net,
It seems like you've found the answer. Handle classes are unsupported for entrypoint I/O, and by removing the handle class from the struct contained in the cell array, you can continue generating code for your entrypoint. Feel free to reach back out if you have any more questions.
Matan

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品


版本

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by