Exemplo n.º 1
0
 def mesh(self) -> MeshTransformer:
     """Returns geometry as one :class:`MeshTransformer` object."""
     faces = self.faces()
     mesh = MeshVertexMerger()
     for vertices in self:
         mesh.add_mesh(vertices=vertices, faces=faces)  # type: ignore
     return MeshTransformer.from_builder(mesh)
Exemplo n.º 2
0
 def cubes(self) -> Iterable[MeshTransformer]:
     """ Yields all cubes of the menger sponge as individual :class:`MeshTransformer` objects.
     """
     faces = self.faces()
     for vertices in self:
         mesh = MeshVertexMerger()
         mesh.add_mesh(vertices=vertices, faces=faces)
         yield MeshTransformer.from_builder(mesh)
Exemplo n.º 3
0
def test_vertex_merger():
    pyramid = SierpinskyPyramid(level=4, sides=3)
    faces = pyramid.faces()
    mesh = MeshVertexMerger()
    for vertices in pyramid:
        mesh.add_mesh(vertices=vertices, faces=faces)
    assert len(mesh.vertices) == 514
    assert len(mesh.faces) == 1024
Exemplo n.º 4
0
    def mesh(self) -> MeshVertexMerger:
        """
        Returns geometry as one single MESH entity.

        Returns: MeshVertexMerger()

        """
        faces = self.faces()
        mesh = MeshVertexMerger()
        for vertices in self:
            mesh.add_mesh(vertices=vertices, faces=faces)
        return mesh