문제

C ++를위한 간단한 그래프 레이아웃 라이브러리를 찾고 있습니다. WXWIDGET을 기반으로 라이브러리를 Visualizer에 포함시키고 싶습니다. 요약하면, 나는 같은 것을 찾고 있습니다 GraphViz, 동적을 제외하고 - 이벤트가 발생하는 경우, 전체 디스플레이가 아닌 그래프 변경 만로드해야합니다. 거기 있습니다 Dynagraph, 그러나 그것은 죽은 프로젝트 인 것 같습니다. 나는 이전에 VTK를 사용하는 것이 제안되었지만 헤비급입니다.

나는 상업용 사용에 사용할 수있는 오픈 소스, 비 카파리프 종류의 라이브러리를 찾고 있습니다 (GPL이 나옵니다. LGPL은 괜찮습니다). Google이 제공하지 않을 제안에 개방적입니다.

도움이 되었습니까?

해결책

GraphViz가 생성하는 레이아웃은 전역 구조를 기반으로합니다. 단일 추가로 출력을 극적으로 변경할 수 있습니다 (고정 좌표를 사용하지 않는 한이 질문을하지 않을 것입니다). 기본적으로 요소의 자동 배치를 원한다면 이러한 솔루션 중 하나를 수락해야합니다.

  • 새로운 요소가 배치되면, 물리 시뮬레이션은 실시간으로 실행되어 노드가 새로운 위치에 정착 될 때까지 격렬하게 튀어 나옵니다. 이것은 느리지 만 "유쾌한"변화를 보여줄 것입니다.
  • 새 요소가 배치되면 전체 그래프가 다시 그려집니다 (물리/숨겨져 있지만 모든 것이 수정됩니다). 이것은 다시 그리기가 필요하지 않아 더 빠르지 만 노드의 상대적 위치는 완전히 다를 수 있습니다.
  • 새 요소가 배치되면 기존 요소가 수정되지 않습니다. 충분한 동적 업데이트 후에는 자동 배치가 글로벌 최적화 문제이기 때문에 그래프는 쓰레기처럼 보일 것입니다.

죄송합니다. 질문을 도울 수는 없지만 아마도 당신이 찾고있는 것이 왜 존재하지 않을 수도 있는지 설명하는 데 도움이됩니다.

다른 팁

GraphViz (Tom에 의해 descibed)를 사용할 때 일부 isues를 극복합니다. GraphViz World Coord와 일치하도록 Visualizer World Cords를 설정했습니다.

그 다음에. 각 시각적 요소에 고유 식별자가 있다고 가정하면 이러한 요소를 사용하여 그래프를 작성하십시오. 그래프를 텍스트로 출력합니다. 출력 구문 분석을 기반으로 모든 것을 재정렬하십시오. ?

--

남자 이름

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top