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

[Proposal]: Rename project and classes from BMesh to UMesh #10

Closed
MechWarrior99 opened this issue Jul 11, 2021 · 4 comments
Closed

[Proposal]: Rename project and classes from BMesh to UMesh #10

MechWarrior99 opened this issue Jul 11, 2021 · 4 comments

Comments

@MechWarrior99
Copy link
Contributor

Summary

Rename the project and any references of BMesh to UMesh instead.

Motivation

The "B" in "BMesh" stands for Blender (At least I assume as much), so it makes sense to use "U" for a Unity implementation. I believe that renaming it makes it cleaning (no longer needs to be "BMesh for Unity"), and more distinct, as the project grows and becomes less of a one to one with the Blender BMesh I think it would be good for it to have it's own name.
There are also a number of proposals open that, if accepted would already introduce breaking changes, so if it is to ever be renamed, now would be a good time to do so.

I do understand that this is rather unimportant overall, but I think that it would make it look nicer and more distinct.

Drawbacks

This is a breaking change that would require changing any references to the BMesh class to UMesh.

I would be happy to make a PR with this change if desired after any further discusion.

@eliemichel
Copy link
Owner

I believed it standed for "Boundary Mesh", because it's common to say "B-Rep" to mean "Boundary Representation" (as opposed to volumetric representation, e.g. tetrahedral mesh), but now that you ask I realize nobody really knows. ^^

Actually I like that the current name contains "Unity" fully, so that people who here about the project or visit the page directly get that it is a library for Unity. Also UMesh could also stand for Unreal Mesh! It's true that the breaking changes would be a good occasion to change the name, but we can also simply call it BMeshUnity 2 to show that it is the same but with a breaking API.

NB: It is based on the Radial Edge model.

@MechWarrior99
Copy link
Contributor Author

I believed it standed for "Boundary Mesh", because it's common to say "B-Rep" to mean "Boundary Representation" (as opposed to volumetric representation, e.g. tetrahedral mesh), but now that you ask I realize nobody really knows. ^^

Actually I like that the current name contains "Unity" fully, so that people who here about the project or visit the page directly get that it is a library for Unity. Also UMesh could also stand for Unreal Mesh! It's true that the breaking changes would be a good occasion to change the name, but we can also simply call it BMeshUnity 2 to show that it is the same but with a breaking API.

NB: It is based on the Radial Edge model.

Hahaha, that's great that nobody knows!

Putting "Unity" in the description seems to be enough for any project that is for Unity, so I don't think that should be too much of a concern more so because while made for Unity, it is also quite easy to make it work for other C# projects, basically they just need a Vector3. Mixing topics a little bit here, but I would be against putting "Unity" in the namespace, partly for that reason, and partly just because it doesn't look very nice imo. Plus if you are already using it within unity, the naming is kind of redundant.
That is a good point that "UMesh" could also be for Unreal!
Would you be open to other naming ideas?

Yeah, I actually have started to implement my own version also based both the Blender, and Houdini meshes and that Radial Edge model, but I found this repo which does exactly what I wanted, and the logic seems quite solid.

@eliemichel
Copy link
Owner

Fair enough, your points are relevant, and it is true that there is almost no dependance on Unity. It could be simply "BMesh", I like that it tells that it is the very same type of structure than in Blender, and that we did not reinvent the terms once again.

And the B for B-Rep is important to tell that this structure is meant for mesh editing (could be EditMesh) and not for minimal representation (contrary to the representation used by OpenMfx, or Blender's Mesh, or Houdini geometry spreadsheet, which are just buffer with no easy access to neighbors). I'd like the name to show in a way that the data structure is more than just a wrapper around Unity's Mesh class.

I was also gonna suggest "SharpMesh" but apparently it's already taken. Or RadialEdgeMesh, REMesh but the latter sounds like a remesher.

Anyways, I'm happy to see you interested in merging your efforts with this project rather than doing your own from scratch! I have to say that despite the margin of progress that you identified I have been happy with this library, which I use for several projects, so I'll be pleased to see it grow!

@MechWarrior99
Copy link
Contributor Author

The more I speak to you, the more I don't mind BMesh if we are taking "B" as "Boundary Representation" and not "Blender", my other name suggestions would be RadialMesh, or RMesh, or maybe the full BoundrayMesh but perhaps they do not convey the right thing.
Even if the main class name stays the same, I still feel the project and namespace should change, a suggestion would be "BMeshLib"/"BMeshLibrary"?

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

No branches or pull requests

2 participants