Pregunta

Los (dirigida) gráficos representan autómatas finitos. Hasta ahora mi programa de pruebas ha estado escribiendo archivos punto a cabo para probar. Esto es bastante bueno tanto para las pruebas de regresión (mantener los archivos de salida verificados en la subversión, pregunte si ha habido un cambio) y para la visualización. Sin embargo, hay algunos problemas ...

Básicamente, quiero algo que puede llamarse desde C ++ y que tiene previsto un diseño para mis estados y transiciones pero deja el dibujo para mí -. Algo que va a permitir que dibuje cosas como yo quiero y baso en interfaz gráfica de usuario (wxWidgets) de Windows

También quiero una licencia que permitirá el uso comercial -. No necesito que en la actualidad, y que puede muy bien liberar como código abierto, pero no quiero limitar mis opciones ATM

Los problemas con GraphViz son (1) las advertencias sobre la construcción de la fuente en Windows, (2) todas las dependencias innecesarias para la representación y el análisis, y (3) la (presunta) la falta de un API documentado específicamente y puramente para la disposición .

Básicamente, quiero ser capaz de especificar mis estados (con tamaños de delimitación del rectángulo) y transiciones, y leer las posiciones de los estados o puntos de interés para cada transición, a continuación, dibuje en base a esas coordenadas mí mismo. En realidad no he descubierto cómo se deben manejar las anotaciones en las transiciones, pero no debe haber algún tipo de prestación para especificar delimitadores-BOX-tamaños para aquellos, asociándolos con las transiciones, y la lectura de las posiciones.

¿Alguien sabe de una biblioteca que puede manejar esos requisitos?

No estoy necesariamente en contra de la aplicación de algo para mí, pero en este caso prefiero evitar, si es posible.

¿Fue útil?

Solución 4

A pesar de que las respuestas hasta el momento valían un upvote, que en realidad no puede aceptar ninguna de ellas. Todavía he estado buscando, sin embargo.

Una cosa que he encontrado es AGLO . El código es GPL v1, pero hay documentos que describen los algoritmos, por lo que debería ser bastante fácil de volver a poner en práctica a partir de cero si es necesario.

Hay también el artículo de Gansner, Koutsofios, Norte y Vo - "una técnica de dibujo dirigido gráficos" - disponible en aquí en el sitio Graphviz .

También he estado mirando de cerca la licencia BSD (pero Java) JGraph .

De un modo u otro, parece que podría ser re-implementación de la rueda, si no realmente volver a inventar la misma.

Otros consejos

Hmm, GDToolkit (o GDT) se ve bien: muchas de las imágenes en el tutorial mirar bastante agradable, y no se ve como que está terriblemente complicado de usar.

Editar: Pero el control de la licencia, que parece que es un software comercial :-( ¡Vaya

.!

OGDF está bajo la GPL.

Pigale también está bajo la GPL.

GoVisual es un software comercial, pero parece que comienza en $ 1800 en un desarrollador.

Yo estaba tratando con un problema similar a principios de este año. Un parámetro de entrada importante para una decisión sin embargo, es el número esperado de nodos.

I decidió utilizar el navegador como la interfaz gráfica de usuario, por lo que buscó bibliotecas de Javascript agradables, uno me encontré fue wireit , se adapta muy bien para los diseños técnicos (y también la edición con arrastrar y soltar y 'sobre la marcha' maquetación). Desde aquí se puede conectar a la que C ++ mediante la ejecución de un pequeño servidor web en un hilo (Usted necesitará algún tipo de eventloop / hilo thingie para la interfaz gráfica de usuario de todos modos).

Bueno, sólo mis 2 centavos.

Aquí está una colección de buena Gráfico Liberaciones con la comparación y la funcionalidad de la búsqueda:
http://gvsr.polytech.univ-nantes.fr/GVSR/ tarea? action = Navegar #

Tal vez encontrar un lib, que se ajusta para usted.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top