unable to generate code with 'collisionMesh' function.

3 views (last 30 days)
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 Comments
Walter Roberson
Walter Roberson on 24 Jun 2024
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 on 24 Jun 2024
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!

Sign in to comment.

Accepted Answer

Matan Silver
Matan Silver on 27 Jun 2024
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

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!