Rocs en pocas palabras

Cada sesión de Rocs es un proyecto: cuando abra Rocs se creará un proyecto vacío; cuando cargue algún proyecto, se convertirá en proyecto activo. En sí, un proyecto consta de documentos de grafos, de guiones o algoritmos. y de un diario.

Documentos de grafos

Un documento de grafos representa el contenido de una pizarra en el editor de grafos. Contiene información sobre los tipos de nodo y aristas definidos por el usuario y sus propiedades, así como sobre los nodos y aristas ya creados. Es decir, Rocs entiende el conjunto de todos los nodos y aristas de un documento de grafos (no necesariamente conectados) que componen un grafo. Todo lo que pertenezca a un documento de grafos permanece accesible para el motor de guiones usando el objeto global Document.

Tipos de aristas

En algunos escenarios, los grafos consisten en distintos tipos de aristas (por ejemplo, un grafo no dirigido más las tres aristas calculadas por un algoritmo de búsqueda en anchura) que se deben manejar y mostrar de forma diferente. Para ello, además de un tipo de arista por omisión, puede definir otros tipos de aristas adicionales. Cada tipo de arista tiene su representación visual individual, sus propiedades dinámicas y se puede cambiar de dirigido a no dirigido. La interfaz de guiones proporciona los métodos necesarios para acceder de forma específica a las aristas de determinados tipos.

Tipos de nodos

Del mismo modo que para los tipos de aristas, puede definir diferentes tipos de nodos de un grafo (por ejemplo, para proporcionar un papel especial a algunos nodos). Cada tipo de nodo posee su propia representación visual y propiedades dinámicas.

Propiedades

Cada elemento (nodo o arista) puede tener propiedades. Estas propiedades se deben configurar en el correspondiente tipo de nodo o arista. Los nombres de las propiedades pueden contener cualquier valor y sirven para identificarlas y para acceder a ellas. Para crear una nueva propiedad o para modificar una existente, use la barra lateral Tipos de elementos. Para abrir el diálogo de una propiedad, use el botón Propiedades.

También puede usar el motor de guiones para acceder a las propiedades registradas y modificar su valor. En el ejemplo siguiente se supondrá que la propiedad «weight» está registrada para el tipo de arista por omisión.

var nodes = Document.nodes()
for (var i = 0; i < nodes.length; ++i){
    nodes[i].weight = i;
}
for (var i = 0; i < nodes.length; ++i){
    Console.log("peso del nodo " + i + ": " + nodes[i].weight);
}