Source code for qiskit_qec.geometry.model.wireframe
# This code is part of Qiskit.
#
# (C) Copyright IBM 2017, 2020
#
# This code is licensed under the Apache License, Version 2.0. You may
# obtain a copy of this license in the LICENSE.txt file in the root directory
# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.
#
# Any modifications or derivative works of this code must retain this
# copyright notice, and modified files need to carry a notice indicating
# that they have been altered from the originals.
"""Module of Wireframe"""
from typing import List
from qiskit_qec.geometry.model.edge import Edge
from qiskit_qec.geometry.model.shape_object import ShapeObject
[docs]
class WireFrame(ShapeObject):
"""`WireFrame` inherits from `ShapeObject`"""
def __init__(self, edges: List[Edge]) -> None:
"""Inits WireFrame
A wireframe should have only a single connected component (but are not
linited to having a single component)
Args:
edges (List[Edge]): Edges that comprise the WireFrame
"""
super().__init__()
self.edges = edges
self.vertices = []
# Recording edges and vertices for this wireframe
for edge in self.edges:
edge.add_parent(self)
for vertex in edge.vertices:
if vertex not in self.vertices:
self.vertices.append(vertex)