nmwsharp / nmwsharp/polyscope

Polyscope and Geometry central disagree on the number of halfedges in a mesh ?

Open
#295 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
2.2k
Forks
242
Avg merge
11m
Merged PRs (30d)
1

Description

Not sure if anyone else has found this or if I am doing this wrong but I have found that when loading a mesh in with geometry central and then trying to add a halfedge scalar value to the mesh in polyscope I get an error as polyscope thinks there is fewer halfedges than geometry central does. Incase I am doing something stupid I have added a snipped below.


polyscope::init();
//Load Mesh 
std::tie(mesh, geometry) = readManifoldSurfaceMesh("QuadMesh.obj");
//Register Mesh
sm = polyscope::registerSurfaceMesh("my mesh", geometry->vertexPositions, mesh->getFaceVertexList());
//Object to store halfedge values
HalfedgeData<int> visitedHE(*mesh, 0);


// Filling data (This is not the way I am actually doing it, but its essentially the same )
for(Halfedge he : mesh->halfedges()){
visitedHE[he] =1;
}

sm->addHalfedgeScalarQuantity("HEvisit", visitedHE)->setEnabled(true);

polyscope::show();

From the mesh I have Geometry Central thinks that I have 10974 halfedges but polyscope thinks I have 10928 halfedges??

If I am missing something obvious then please let me know.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the snippet with readManifoldSurfaceMesh(), registerSurfaceMesh(), and addHalfedgeScalarQuantity(). Compare the halfedges() count with the registered surface mesh count, then trace where those counts are established. Done means the discrepancy is explained and the halfedge scalar quantity handles the same mesh consistently, with a regression check if the project has one.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.