Skip to content

Commit

Permalink
more SubDVertex info
Browse files Browse the repository at this point in the history
  • Loading branch information
fraguada committed Jan 17, 2025
1 parent 5bf985f commit 6443cb7
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 4 deletions.
8 changes: 8 additions & 0 deletions src/bindings/bnd_subd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -256,9 +256,17 @@ void initSubDBindings(rh3dmpymodule& m)
.def_property_readonly("Index", &BND_SubDVertex::Index)
.def_property_readonly("ControlNetPoint", &BND_SubDVertex::ControlNetPoint)
.def_property_readonly("SurfacePoint", &BND_SubDVertex::SurfacePoint)
.def_property_readonly("IsSmooth", &BND_SubDVertex::IsSmooth)
.def("IsSharp", &BND_SubDVertex::IsSharp, py::arg("endCheck"))
.def_property_readonly("IsCrease", &BND_SubDVertex::IsCrease)
.def_property_readonly("IsDart", &BND_SubDVertex::IsDart)
.def_property_readonly("IsCorner", &BND_SubDVertex::IsCorner)

.def_property_readonly("VertexSharpness", &BND_SubDVertex::VertexSharpness)
.def("Next", &BND_SubDVertex::Next)
.def("Previous", &BND_SubDVertex::Previous)
.def("EdgeAt", &BND_SubDVertex::EdgeAt)

;
/*
py::class_<BND_SubDFaceList>(m, "SubDFaceList")
Expand Down
7 changes: 7 additions & 0 deletions src/bindings/bnd_subd.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,12 @@ class BND_SubDVertex {

// properties

bool IsCrease() const { return m_subdvertex->IsCrease(); }
bool IsDart() const { return m_subdvertex->IsDart(); }
bool IsSmooth() const { return m_subdvertex->IsSmooth(); }
bool IsSharp(bool endCheck) const { return m_subdvertex->IsSharp(endCheck); }
bool IsCorner() const { return m_subdvertex->IsCorner(); }

ON_3dPoint ControlNetPoint() const { return m_subdvertex->ControlNetPoint(); }
ON_3dPoint SurfacePoint() const { return m_subdvertex->SurfacePoint(); }
int EdgeCount() const { return m_subdvertex->EdgeCount(); }
Expand All @@ -66,6 +72,7 @@ class BND_SubDVertex {
BND_SubDVertex* Previous() { return new BND_SubDVertex(m_subdvertex->m_prev_vertex); }

BND_SubDEdge* EdgeAt(int index) { return new BND_SubDEdge(m_subdvertex->Edge(index)); }
double VertexSharpness() const { return m_subdvertex->VertexSharpness(); }

//public SubDVertexTag Tag

Expand Down
Binary file modified tests/models/subd.3dm
Binary file not shown.
16 changes: 12 additions & 4 deletions tests/python/test_SubD.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,21 @@ def test_readSubDFromFile(self):
self.assertTrue(subd.VertexIterator.VertexCount == len(subd.VertexIterator))

for vertex in subd.VertexIterator:
print(vertex.Index)
print("Vertex Index: " + str(vertex.Index))
#print(vertex.Next().Index) #segfault
#print(vertex.Previous().Index) #segfault
print(vertex.ControlNetPoint)
print(vertex.SurfacePoint)
print("Control Net Pt: " + str(vertex.ControlNetPoint))
print("Surface Pt: " + str(vertex.SurfacePoint))
print("Sharpness: " + str(vertex.VertexSharpness))
print("IsSharp(T): " + str(vertex.IsSharp(True)))
print("IsSharp(F): " + str(vertex.IsSharp(True)))
print("IsSmooth: " + str(vertex.IsSmooth))
print("IsCrease: " + str(vertex.IsCrease))
print("IsDart: " + str(vertex.IsDart))
print("IsCorner: " + str(vertex.IsCorner))

for i in range(vertex.EdgeCount):
print(vertex.EdgeAt(i).Index)
print("Edge " + str(i) + " index: " + str(vertex.EdgeAt(i).Index))
print('-------')


Expand Down

0 comments on commit 6443cb7

Please sign in to comment.