Closed mdsumner closed 4 years ago
silicate::minimal_mesh[1, ] is a sf data frame, but
silicate::minimal_mesh[1, ]
silicate::minimal_mesh[1, ]$geom is a list.
silicate::minimal_mesh[1, ]$geom
list
x <- silicate::minimal_mesh silicate::PATH(x) silicate::PATH0(x) silicate::SC(x) silicate::SC0(x) silicate::TRI(x) silicate::TRI0(x) silicate::ARC(x) anglr::DEL(x) ## all fine silicate::sc_coord(x) silicate::sc_vertex(x) silicate::sc_path(x) silicate::sc_edge(x) silicate::sc_arc(x) silicate::sc_node(x) silicate::sc_segment(x) ## these are different (no sf catch) #silicate::sc_end(x) #silicate::sc_start(x) ##OK silicate::sc_object(x) silicate::PATH(x[1, ]) silicate::PATH0(x[1, ]) silicate::SC(x[1, ]) silicate::SC0(x[1, ]) silicate::TRI(x[1, ]) silicate::TRI0(x[1, ]) silicate::ARC(x[1, ]) anglr::DEL(x[1, ]) ## all fail yet class(x[1, ]) is c("sf", "data.frame") silicate::sc_coord(x[1, ]) silicate::sc_vertex(x[1, ]) silicate::sc_path(x[1, ]) silicate::sc_edge(x[1, ]) silicate::sc_arc(x[1, ]) silicate::sc_node(x[1, ]) silicate::sc_segment(x[1, ]) ## these are different (no sf catch) silicate::sc_end(x[1, ]) silicate::sc_start(x[1, ]) ##OK silicate::sc_object(x[1, ])
so sc_coord and sc_path were failing in the default method, added .list methods for each.
silicate::minimal_mesh[1, ]
is a sf data frame, butsilicate::minimal_mesh[1, ]$geom
is alist
.