Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for 64 bit integer #32

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

christian-rauch
Copy link

This adds type support for int64_t and uint64_t with their equivalent PLY types int64 and uint64.

There is no standard uint128_t for testing the exception in addFaceIndices. This requires boost and is therefore optional.

@nmwsharp
Copy link
Owner

nmwsharp commented Feb 7, 2024

Thanks for submitting this! Pardon the slow response.

Although I see the obvious utility, I'm reluctant to merge this because the 8+ byte int types are not listed in the "specification" of the .ply format here. Honestly that page is not much of an official spec, but it's the closest we have. I don't want to encourage folks to casually create .ply files that other software definitely cannot read.

If we really wanted to add this, maybe we could guard it behind some obnoxiously-worded functions like PlyData::write_nonstandard() or something like that....

@christian-rauch
Copy link
Author

Not sure where a proper "standard" would be, but at least Wikipedia (https://en.wikipedia.org/wiki/PLY_(file_format)) says:

The type can be specified with one of char uchar short ushort int uint float double, or one of int8 uint8 int16 uint16 int32 uint32 float32 float64.

I would say that software that cannot handle a certain data type should ignore the property and notify the user.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants