vcg.edge.VertexRef是VCG库中用来表示图形图像中的边缘(edge)和端点(vertex)的引用对象。
__init__(self, vid: int, eid: int) -> None
创建一个新的vcg.edge.VertexRef对象实例。
参数:
vid
:int类型,表示端点(vertex)的Id。eid
:int类型,表示边缘(edge)的Id。__str__(self) -> str
返回vcg.edge.VertexRef对象的字符串表示形式。
__repr__(self) -> str
返回vcg.edge.VertexRef对象的文本表示形式。
vertex(self, mesh: vcg.Mesh) -> Optional[vcg.Vertex]
返回vcg.edge.VertexRef对象实例所表示的端点(vertex)对象。
参数:
mesh
:vcg.Mesh类型,表示图像中的网格对象。返回值:
vcg.Vertex
,表示vcg.edge.VertexRef对象实例所表示的端点(vertex)对象。None
,如果vcg.edge.VertexRef对象实例所表示的端点(vertex)对象不存在。next(self, mesh: vcg.Mesh) -> Optional[vcg.edge.VertexRef]
返回连接到给定端点对象的下一个(相邻)链接的边缘(edge)和端点(vertex)。
参数:
mesh
:vcg.Mesh类型,表示图像中的网格对象。返回值:
vcg.edge.VertexRef
,表示连接到给定端点对象的下一个(相邻)链接的边缘(edge)和端点(vertex)。None
,如果给定端点对象没有下一个相邻的链接的边缘(edge)和端点(vertex)。prev(self, mesh: vcg.Mesh) -> Optional[vcg.edge.VertexRef]
返回连接到给定端点对象的前一个(相邻)链接的边缘(edge)和端点(vertex)。
参数:
mesh
:vcg.Mesh类型,表示图像中的网格对象。返回值:
vcg.edge.VertexRef
,表示连接到给定端点对象的前一个(相邻)链接的边缘(edge)和端点(vertex)。None
,如果给定端点对象没有前一个相邻的链接的边缘(edge)和端点(vertex)。vid
int类型,表示vcg.edge.VertexRef对象实例所表示的端点(vertex)的Id。
eid
int类型,表示vcg.edge.VertexRef对象实例所表示的边缘(edge)的Id。
创建一个vcg.edge.VertexRef对象:
import vcg
vertex_ref = vcg.edge.VertexRef(0, 1)
print(vertex_ref) # Vertex 0 Edge 1
获取vcg.edge.VertexRef对象实例所表示的端点(vertex)对象:
import vcg
mesh = vcg.Mesh()
v0 = mesh.vert.add([0, 0, 0])
v1 = mesh.vert.add([0, 1, 0])
edge = mesh.edge.add([v0, v1])
vertex_ref = vcg.edge.VertexRef(v0.id, edge.id)
vertex = vertex_ref.vertex(mesh)
print(vertex) # <vcg.Vertex object at 0x7f95fa3c7b30>
获取vcg.edge.VertexRef对象实例所表示的下一个相邻的链接的边缘(edge)和端点(vertex):
import vcg
mesh = vcg.Mesh()
v0 = mesh.vert.add([0, 0, 0])
v1 = mesh.vert.add([0, 1, 0])
v2 = mesh.vert.add([1, 1, 0])
edge0 = mesh.edge.add([v0, v1])
edge1 = mesh.edge.add([v1, v2])
vertex_ref = vcg.edge.VertexRef(v1.id, edge0.id)
next_vertex_ref = vertex_ref.next(mesh)
print(next_vertex_ref) # Vertex 2 Edge 1
获取vcg.edge.VertexRef对象实例所表示的前一个相邻的链接的边缘(edge)和端点(vertex):
import vcg
mesh = vcg.Mesh()
v0 = mesh.vert.add([0, 0, 0])
v1 = mesh.vert.add([0, 1, 0])
v2 = mesh.vert.add([1, 1, 0])
edge0 = mesh.edge.add([v0, v1])
edge1 = mesh.edge.add([v1, v2])
vertex_ref = vcg.edge.VertexRef(v1.id, edge1.id)
prev_vertex_ref = vertex_ref.prev(mesh)
print(prev_vertex_ref) # Vertex 0 Edge 1