Đồ thị (được hướng dẫn) đại diện cho automata hữu hạn. Cho đến bây giờ chương trình thử nghiệm của tôi đã được viết ra các tập tin chấm để thử nghiệm. Điều này là khá tốt cho cả hai thử nghiệm hồi quy (giữ cho các tập tin đầu ra được xác minh trong lật đổ, hỏi nó nếu đã có một sự thay đổi) và cho hình dung. Tuy nhiên, có một số vấn đề ...Có một thư viện bố trí biểu đồ tốt có thể gọi từ C++ không?
Về cơ bản, tôi muốn một cái gì đó có thể gọi từ C++ và có kế hoạch bố cục cho trạng thái và chuyển tiếp của tôi nhưng để bản vẽ cho tôi - thứ gì đó sẽ cho phép tôi vẽ vẽ trên cửa sổ GUI (wxWidgets).
Tôi cũng muốn có giấy phép cho phép sử dụng thương mại - hiện tại tôi không cần, và tôi có thể phát hành rất tốt dưới dạng nguồn mở, nhưng tôi không muốn giới hạn tùy chọn ATM của mình.
Các vấn đề với GraphViz là (1) cảnh báo về xây dựng từ nguồn trên Windows, (2) tất cả các phụ thuộc không cần thiết cho hiển thị và phân tích cú pháp, và (3) thiếu (được cho là) của một tài liệu API cụ thể và hoàn toàn cho bố trí. Về cơ bản, tôi muốn có thể chỉ định các trạng thái của mình (với kích thước hình chữ nhật bao quanh) và chuyển tiếp và đọc các vị trí cho các trạng thái và điểm tham chiếu cho mỗi lần chuyển đổi, sau đó vẽ dựa trên các tọa độ đó. Tôi đã không thực sự tìm ra cách chú thích về chuyển tiếp nên được xử lý, nhưng cần phải có một số loại dự phòng để xác định kích thước hộp giới hạn cho những người đó, liên kết chúng với các hiệu ứng chuyển tiếp và đọc các vị trí.
Có ai biết thư viện có thể xử lý các yêu cầu đó không?
Tôi không nhất thiết phải chống lại việc thực hiện một cái gì đó cho bản thân mình, nhưng trong trường hợp này tôi muốn tránh nó nếu có thể.
+1 cho câu hỏi tuyệt vời, được nêu rõ. Thật không may, tôi không có câu trả lời. – aib
Boost có các thuật toán đồ thị: http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/index.html Tôi cho rằng việc trực quan hóa nằm ngoài phạm vi của nó. –
Có các thuật toán bố cục trong mô-đun đồ thị tăng cường, nhưng tiếc là chúng không phù hợp với đồ thị được chỉ dẫn. Xem phần 22.12 tại đây: http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/table_of_contents.html – Kim