MCPcopy Create free account
hub / github.com/google-deepmind/alphageometry / _get_or_create_segment

Method _get_or_create_segment

graph.py:1340–1357  ·  view source on GitHub ↗

Get or create a Segment object between two Points p1 and p2.

(
      self, p1: Point, p2: Point, deps: Dependency
  )

Source from the content-addressed store, hash-verified

1338 return None
1339
1340 def _get_or_create_segment(
1341 self, p1: Point, p2: Point, deps: Dependency
1342 ) -> Segment:
1343 """Get or create a Segment object between two Points p1 and p2."""
1344 if p1 == p2:
1345 raise ValueError(f'Creating same 0-length segment {p1.name}')
1346
1347 for s in self.type2nodes[Segment]:
1348 if s.points == {p1, p2}:
1349 return s
1350
1351 if p1.name > p2.name:
1352 p1, p2 = p2, p1
1353 s = self.new_node(Segment, name=f'{p1.name.upper()}{p2.name.upper()}')
1354 self.connect(p1, s, deps=deps)
1355 self.connect(p2, s, deps=deps)
1356 s.points = {p1, p2}
1357 return s
1358
1359 def add_cong(
1360 self, points: list[Point], deps: EmptyDependency

Callers 4

add_eqrat_constMethod · 0.95
add_congMethod · 0.95
add_eqratioMethod · 0.95

Calls 2

new_nodeMethod · 0.95
connectMethod · 0.95

Tested by

no test coverage detected