Hidden edges confusion


#1

My understanding of hidden edges on an editable_mesh/trimesh is that a triangles three verts when put in numerical order directly correspond to the faces edge number. So for instance if we have a triangle made of verts [3,5,7] the edge between vert 3 & 5 is edge index one, 5 & 7 is edge index two, and 7 & 3 is edge index 3. From this we can can simply run (for e=1 to 3 collect (getEdgeVis $ theFaceIndex e)) to get the visibility of all 3 edges and know which verts they correspond to.

Unfortunately it seems I’m wrong on this, as if this was correct the code below would give a different result:

delete $geometry --clear meshs from scene
b1 = Box pos:[-20,0,0] isSelected:off width:15 length:15 height:15 name:"basicBox"
ConvertTo b1 Editable_Mesh

--face 12 is made of verts [3,5,7] , with the edge between 3 and 5 being hidden and the other two being visible.
--So in theory this should return #(false,true,true) , however its instead returning #(true, true, false)
edjVis = for e=1 to 3 collect (getEdgeVis b1 12 e)

Can someone explain the correct way to get the edge between two verts for gettings/setting visibility?


#2

but face 12 is [5,7,3] (getface) not [3,5,7] so #(true,true,false) is correct


#3

Oh! That explains it. I thought the vert indexs had to be in ascending order when comparing them to the edges, but without sorting them like that it seems to work fine.
Thanks for the help. :slight_smile:


#4

I only know cos I’ve been sat there many times scratching my head looking at mesh spaghetti crying “whyyyyyyyyy” :frowning: