Added getVertexData() and getMatrix() to PShape #4373
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hello,
In PShape class there is methods for change matrix of the shape; like translate, rotate etc. But there is no function to retrieve this matrix. Which is important for being able to copy shapes manually and create a shape from previous shape by applying some transformations. (There is static copyMatrix function but it also not public and marked as unapproved and only used by createShape that uses another shape which only does automatic copying)
Also another missing functionality was accessing raw float[] per vertex data. It seems possible to add new vertices by giving raw float array (shown in reference but I couldn't find in code, is it removed?) but is not possible retrieve it. Currently it is required to access this data by calling these functions getVertex, getTextureU getTextureV, getNormal etc. Still there is some other data (like per vertex material data) that is not accessible might be lost. It would be great if it is possible access it directly for the purpose of copying with applying different transforms.
If this changes are approved, copyGeometry function could use this getVertexData and copy the geometry by directly copying the float array.
Thanks!