| Conditions | 2 |
| Total Lines | 22 |
| Code Lines | 8 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
| 1 | import graphinate |
||
| 8 | def polygonal_graph_model(number_of_sides: int = N): |
||
| 9 | """ |
||
| 10 | Create a polygonal graph model. |
||
| 11 | |||
| 12 | Args: |
||
| 13 | number_of_sides (int): Number of sides in the polygon. Defaults to N. |
||
| 14 | |||
| 15 | Returns: |
||
| 16 | GraphModel: A graph model representing a polygonal graph. |
||
| 17 | """ |
||
| 18 | |||
| 19 | # Define GraphModel |
||
| 20 | graph_model = graphinate.model(name="Octagonal Graph") |
||
| 21 | |||
| 22 | # Register edges supplier function |
||
| 23 | @graph_model.edge() |
||
| 24 | def edge(): |
||
| 25 | for i in range(number_of_sides - 1): |
||
| 26 | yield {'source': i, 'target': i + 1} |
||
| 27 | yield {'source': number_of_sides - 1, 'target': 0} |
||
| 28 | |||
| 29 | return graph_model |
||
| 30 | |||
| 62 |