노드 - daughter 구조로 표현 된 데이터 파일을 줄이려고합니다. 데이터 형식으로 표현되어 다음파이썬 클래스의 구문 분석 트리 및 문법 적용
({[GeoNode A, GeoNode B, GeoNode C] GeoNode D}, {GeoNode E, GeoNode F} GeoNode G)
GeoNode 파이썬은목적. 나는 나무를 가로 질러 어떤 계획에 두 가지 작업을 적용하려고합니다. 첫 번째는 현재 "레벨"의 모든 GeoNode를 메시로 변환합니다. 두 번째 메쉬는 함께 메쉬를 병합합니다. 마지막에 단일 메쉬로 남겨 둡니다.
위 예제의 단계는 다음과 같습니다.
- ({[메쉬, 망사 B, 메쉬 C] GeoNode D}, {GeoNode E, GeoNode F} GeoNode G)
- ({GeoNode E {ABC, GeoNode D 메쉬} GeoNode F} GeoNode G)
- ({ABC, 메쉬 D}, {GeoNode E, GeoNode F} GeoNode G)을 메쉬
- (메쉬 ABCD {GeoNode E, GeoNode F} GeoNode G)
- (메쉬 ABCD, 메쉬 E, 메쉬 F}, 지오 노드 G)
- (메쉬 ABCD, 메시 EF, 지오 코드 G)
- (ABCD 메쉬, 망사 EF, 메쉬 G)
- 메쉬 ABCDEFG는
I는 현재 GeoNodes 함유 중첩 파이썬 목록과 같은 데이터 구조를 나타낸다. 나는 깊이 우선 나무를 횡단하여 구조를 인쇄 할 수 있습니다. 나에게 불분명 한 것은 내가 현재 [Mesh A, Mesh B, Mesh C]에 있다고 결정했을 때해야 할 일이다. 메쉬 ABC를 쉽게 만들 수 있지만 그 다음엔? GeoNode D와 일치하여 위쪽으로 전파되도록하려면 어떻게해야합니까?
이것은 ((1 + 1) + 2 + (3 + 5))를 평가하는 것과 비슷하지만 각 int를 float로 변환하는 것과 비슷합니다. 그러나 내 경우에는 float와 int가 아닌 이러한 클래스를 다루고있다. 파이썬 또는 언어 독립적 인 예제에서 이것을 수행 할 기존 방법이 있습니까?
늦은 응답이지만이 접근법은 유용했으며 문제를 어떻게 해결 했습니까? – saboot