Ejemplo n.º 1
0
def test_boundary_ranges(model, corner_uuids, line_uuids, surface_uuids):
    line_boundary_count = 0
    for line_boundary in model.boundary_corners(model.line(line_uuids[0])):
        line_boundary_count += 1
        if line_boundary.id().string() != corner_uuids[0].string(
        ) and line_boundary.id().string() != corner_uuids[1].string():
            raise ValueError(
                "[Test] BoundaryCornerRange iteration result is not correct")
        if not model.is_line_boundary(line_boundary, model.line(
                line_uuids[0])):
            raise ValueError("[Test] Corner should be boundary of Line")
    if line_boundary_count != 2:
        raise ValueError(
            "[Test] BoundaryCornerRange should iterates on 2 Corners")

    surface_boundary_count = 0
    for surface_boundary in model.boundary_lines(
            model.surface(surface_uuids[0])):
        surface_boundary_count += 1
        if surface_boundary.id().string() != line_uuids[0].string(
        ) and surface_boundary.id().string() != line_uuids[1].string(
        ) and surface_boundary.id().string() != line_uuids[2].string():
            raise ValueError(
                "[Test] BoundaryLineRange iteration result is not correct")
        if not model.is_surface_boundary(surface_boundary,
                                         model.surface(surface_uuids[0])):
            raise ValueError("[Test] Line should be boundary of Surface")
    if surface_boundary_count != 3:
        raise ValueError("[Test] BoundaryLineRange should iterates on 3 Lines")
Ejemplo n.º 2
0
def add_lines_in_model_boundaries( model, builder, line_uuids, boundary_uuids ):
    builder.add_line_in_model_boundary( model.line( line_uuids[0] ), model.model_boundary( boundary_uuids[0] ) )
    for i in range( 1, 3 ):
        builder.add_line_in_model_boundary( model.line( line_uuids[i] ), model.model_boundary( boundary_uuids[1] ) )

    for i in range( 3 ):
        if model.nb_collections( line_uuids[i] ) != 1:
            raise ValueError( "[Test] This Line should be in 1 collection (of type Boundary)" )
    if model.nb_collections( line_uuids[4] ) != 0:
        raise ValueError( "[Test] Last Line should be in no collection (of type Boundary)" )
Ejemplo n.º 3
0
def add_lines(model, builder):
    nb = 9
    uuids = []
    for i in range(nb):
        uuids.append(builder.add_line())
        builder.set_line_name(uuids[-1], "line" + str(len(uuids)))

    temp_line = model.line(builder.add_line())
    builder.remove_line(temp_line)
    if model.nb_lines() != nb:
        raise ValueError("[Test] BRep should have 9 lines")
    if model.line(uuids[3]).name() != "line4":
        raise ValueError("[Test] Wrong Line name")
    return uuids
Ejemplo n.º 4
0
def add_line_surface_boundary_relation(model, builder, line_uuids,
                                       surface_uuids):
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[0]), model.surface(surface_uuids[0]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[1]), model.surface(surface_uuids[0]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[2]), model.surface(surface_uuids[0]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[2]), model.surface(surface_uuids[1]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[3]), model.surface(surface_uuids[1]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[4]), model.surface(surface_uuids[1]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[5]), model.surface(surface_uuids[1]))

    for line_id in line_uuids:
        for incidence in model.incident_surfaces(model.line(line_id)):
            if surface_uuids[0].string() != incidence.id().string(
            ) and surface_uuids[1].string() != incidence.id().string():
                raise ValueError(
                    "[Test] All Lines incidences should be Surfaces")
    if model.nb_boundaries(surface_uuids[0]) != 3:
        raise ValueError("[Test] Surface 0 should have 3 Lines as boundaries")
    if model.nb_boundaries(surface_uuids[1]) != 4:
        raise ValueError("[Test] Surface 1 should have 4 Lines as boundaries")
Ejemplo n.º 5
0
def add_internal_line_relations( model, builder, line_uuids, surface_uuids ):
    for line_id in line_uuids:
        builder.add_line_surface_internal_relationship( model.line( line_id ), model.surface( surface_uuids[0] ) )

    for line_id in line_uuids:
        for embedding in model.embedding_surfaces_of_line( model.line( line_id ) ):
            if surface_uuids[0].string() != embedding.id().string():
                raise ValueError( "[Test] All Lines embeddings should be Surfaces" )
            if model.nb_internal_lines_of_surface( embedding ) != len( line_uuids ):
                raise ValueError( "[Test] Surface should embed all Lines" )
        if model.nb_embeddings( line_id ) != 1:
            raise ValueError( "[Test] All Lines should be embedded to 1 Surface" )
        if model.nb_embedding_surfaces_of_line( model.line( line_id ) ) != 1:
            raise ValueError( "[Test] All Lines should be embedded to 1 Surface" )
Ejemplo n.º 6
0
def test_incidence_ranges(model, corner_uuids, line_uuids, surface_uuids,
                          block_uuids):
    corner_incidence_count = 0
    for corner_incidence in model.incident_lines(model.corner(
            corner_uuids[0])):
        corner_incidence_count += 1
        if corner_incidence.id().string() != line_uuids[0].string(
        ) and corner_incidence.id().string() != line_uuids[2].string(
        ) and corner_incidence.id().string() != line_uuids[5].string():
            raise ValueError(
                "[Test] IncidentLineRange iteration result is not correct")
    if corner_incidence_count != 3:
        raise ValueError("[Test] IncidentLineRange should iterates on 3 Lines")

    line_incidence_count = 0
    for line_incidence in model.incident_surfaces(model.line(line_uuids[0])):
        line_incidence_count += 1
        if line_incidence.id().string() != surface_uuids[0].string(
        ) and line_incidence.id().string() != surface_uuids[1].string():
            raise ValueError(
                "[Test] IncidentSurfaceRange iteration result is not correct")
    if line_incidence_count != 2:
        raise ValueError(
            "[Test] IncidentSurfaceRange should iterates on 2 Surfaces")

    surface_incidence_count = 0
    for surface_incidence in model.incident_blocks(
            model.surface(surface_uuids[0])):
        surface_incidence_count += 1
        if surface_incidence.id().string() != block_uuids[0].string():
            raise ValueError(
                "[Test] IncidentBlockRange iteration result is not correct")
    if surface_incidence_count != 1:
        raise ValueError(
            "[Test] IncidentBlockRange should iterates on 1 Block")
Ejemplo n.º 7
0
def add_lines(model, builder):
    nb = 6
    uuids = []
    for i in range(nb):
        uuids.append(builder.add_line())

    temp_line = model.line(builder.add_line())
    builder.remove_line(temp_line)
    if model.nb_lines() != nb:
        raise ValueError("[Test] Section should have 6 lines")
    return uuids
Ejemplo n.º 8
0
def test_incidence_ranges( model, corner_uuids, line_uuids, surface_uuids ):
    corner_incidence_count = 0
    for corner_incidence in model.incident_lines( model.corner( corner_uuids[0] ) ):
        corner_incidence_count += 1
        if corner_incidence.id().string() != line_uuids[0].string() and corner_incidence.id().string() != line_uuids[1].string():
            raise ValueError( "[Test] IncidentLineRange iteration result is not correct" )
    if corner_incidence_count != 2:
        raise ValueError( "[Test] IncidentLineRange should iterates on 2 Lines" )

    line_incidence_count = 0
    for line_incidence in model.incident_surfaces( model.line( line_uuids[0] ) ):
        line_incidence_count += 1
        if line_incidence.id().string() != surface_uuids[0].string():
            raise ValueError( "[Test] IncidentSurfaceRange iteration result is not correct" )
    if line_incidence_count != 1:
        raise ValueError( "[Test] IncidentSurfaceRange should iterates on 1 Surface" )
Ejemplo n.º 9
0
def add_line_surface_boundary_relation(model, builder, line_uuids,
                                       surface_uuids):
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[0]), model.surface(surface_uuids[0]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[0]), model.surface(surface_uuids[1]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[1]), model.surface(surface_uuids[0]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[1]), model.surface(surface_uuids[2]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[2]), model.surface(surface_uuids[0]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[2]), model.surface(surface_uuids[3]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[3]), model.surface(surface_uuids[1]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[3]), model.surface(surface_uuids[2]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[4]), model.surface(surface_uuids[2]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[4]), model.surface(surface_uuids[3]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[5]), model.surface(surface_uuids[1]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[5]), model.surface(surface_uuids[3]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[6]), model.surface(surface_uuids[1]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[6]), model.surface(surface_uuids[4]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[7]), model.surface(surface_uuids[2]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[7]), model.surface(surface_uuids[4]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[8]), model.surface(surface_uuids[3]))
    builder.add_line_surface_boundary_relationship(
        model.line(line_uuids[8]), model.surface(surface_uuids[4]))

    for line_id in line_uuids:
        for incidence in model.incident_surfaces(model.line(line_id)):
            if not find_uuid_in_list(surface_uuids, incidence.id()):
                raise ValueError(
                    "[Test] All Lines incidences should be Surfaces")
        if model.nb_incidences(line_id) != 2:
            raise ValueError(
                "[Test] All Lines should be connected to 2 Surfaces")
Ejemplo n.º 10
0
def add_corner_line_boundary_relation(model, builder, corner_uuids,
                                      line_uuids):
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[0]), model.line(line_uuids[0]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[0]), model.line(line_uuids[5]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[0]), model.line(line_uuids[2]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[1]), model.line(line_uuids[0]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[1]), model.line(line_uuids[1]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[1]), model.line(line_uuids[3]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[2]), model.line(line_uuids[1]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[2]), model.line(line_uuids[2]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[2]), model.line(line_uuids[4]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[3]), model.line(line_uuids[5]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[3]), model.line(line_uuids[6]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[3]), model.line(line_uuids[8]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[4]), model.line(line_uuids[3]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[4]), model.line(line_uuids[6]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[4]), model.line(line_uuids[7]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[5]), model.line(line_uuids[4]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[5]), model.line(line_uuids[7]))
    builder.add_corner_line_boundary_relationship(
        model.corner(corner_uuids[5]), model.line(line_uuids[8]))

    for corner_id in corner_uuids:
        for incidence in model.incident_lines(model.corner(corner_id)):
            if not find_uuid_in_list(line_uuids, incidence.id()):
                raise ValueError(
                    "[Test] All Corners incidences should be Lines")
        if model.nb_incidences(corner_id) != 3:
            raise ValueError(
                "[Test] All Corners should be connected to 3 Lines")

    for line_id in line_uuids:
        for boundary in model.boundary_corners(model.line(line_id)):
            if not find_uuid_in_list(corner_uuids, boundary.id()):
                raise ValueError(
                    "[Test] All Lines incidences should be Corners")
        if model.nb_boundaries(line_id) != 2:
            raise ValueError(
                "[Test] All Lines should be connected to 2 Corners")