Skip to content

Things to do on a mesh

Lukas Kalbertodt edited this page Jan 3, 2019 · 4 revisions

Properties

  • face_prop[_mut]
  • vertex_prop[_mut]
  • edge_prop[_mut]

Iteration

  • edges[_mut]
  • faces[_mut]
  • vertices[_mut]

Neighborhood search

  • Of Vertex:
    • edges_around_vertex V→E
    • faces_around_vertex V→F
    • neighbors_of_vertex V→V
  • Of Edge:
    • vertices_of_edge E→V
    • faces_of_edge E→F
    • (neighbors_of_edge)? E→E
  • Of Face:
    • vertices_of_face F→V
    • edge_of_face F→E
    • neighbors_of_face F→F
  • For all functions that don't return a fixed number of elements, we probably want a number of different kinds:
    • Returning a Vec
    • Taking a &mut Vec
    • Returning an iterator
    • Taking a closure and function as a visitor

Neighborhood query?

  • V:V
  • V:E
  • V:F
  • (E:E)?
  • E:F
  • F:F

Modify

Delete

  • remove_vertex
  • remove_edge
  • remove_face

Add

  • add_edge
  • add_face
  • add_vertex

Implications

V→V => V:V 
V→F => flook, V:F, V:V (bei tri-meshes, sonst kompliziert)
F→V => V:F, F:F
F→F => F:F

V:V => -  
V:F => -  
F:F => - 

flook => -

------------------------

V→V & V→F => -
V→V & F→V => -
V→V & F→F => -

V→F & F→V => V:V, V→V, F→F
V→F & F→F => -

F→V & F→F => -
Clone this wiki locally