nmwsharp / polyscope

A C++ & Python viewer for 3D data like meshes and point clouds
https://polyscope.run
MIT License
1.76k stars 190 forks source link

Undocumented change in interface for setting vertex tangent bases? #243

Open keenancrane opened 9 months ago

keenancrane commented 9 months ago

The current documentation for tangent vector fields says they should be specified using the methods setVertexTangentBasisX and addVertexIntrinsicVectorQuantity. See for instance the example on this page: https://polyscope.run/structures/surface_mesh/vector_quantities/#tangent-vectors

However, these methods seem to longer exist. Another method, addVertexTangentVectorQuantity, appears in the codebase but is not documented or used in the examples. (Note that gc-polyscope-project-template also uses the seemingly defunct methods.)

Thanks!

nmwsharp commented 9 months ago

(responding here in addition to some discussion we had over another channel)

Yes, these functions are changing in an upcoming version. (A) associating the bases with the mesh goes against the Polyscope philosophy, because it introduces additional state and makes it impossible to visualize multiple vector fields on the same mesh defined in different bases, and (B) Most users don't know what "intrinsic vector" means :)

They're modified in an upcoming version to change the names and also take the basis as an argument of the vector adder. As soon as I cut a new version with the changes (hopefully soon!) I will also update the public docs.

nmwsharp commented 9 months ago

The gc-polyscope-project-template submodule should be pinned to a specific versioned commit of Polyscope (always good practice!). For now it just doesn't compile against the latest version; I will update update that template project as soon as I can get the new Polyscope version out.