A C library version of aiSee is available on request to selected customers.
Using GDL (Graph Description Language), a purely textual exchange, offers a number of advantages:
If you prefer the OO style, we recommend writing a small library that produces GDL from your internal graph class. This is usually quite straightforward, and the additional overhead is small as compared to the complexity of the layout task.
aiSee 3 for Windows and Linux can communicate with your application via TCP. aiSee 3 for Mac OS X does not support such communication (yet). aiSee 2 features the concept of User Actions enabling commands to be associated with nodes. For example, this means that nodes can be selected and their titles communicated to an application for processing. See the corresponding user manual for further information.
The command line option --server port starts
aiSee 3 in server mode, enabling communication with other applications via TCP.
aiSee then listens to the specified port for incomming connections.
Such a connection can be established via a terminal program such as telnet, e.g.:
telnet localhost port
You should then get the following response from aiSee:
Welcome to aiSee!
Current canvas is canvas name
aiSee is now ready to accept commands (see page 21 of the PDF user manual that is included in the aiSee package). For example,
open test.gdl
opens the file test.gdl in the current aiSee window.
Of course, you can also connect to the aiSee server from within your application by using an appropriate method (sockets, Qt’s QTcpSocket, etc.).
There is a small C-program on this website that demonstrates the use of aiSee 2’s DDE interface. The sources are contained in a self-extracting zip file.
Note: if you don’t want aiSee 2 to talk back to your application, you won’t need the DDE interface in the first place. All of aiSee’s functionality can be easily accessed via the command line and/or the GDL file itself. The DDE interface is only useful for communicating certain user actions back to your application.
Dim aiSeeConnection As Long aiSeeConnection = DDEInitiate(app:="VCG Server", topic:="VCG Anim") ' Send one byte, ASCII code 1 = reload DDEExecute aiSeeConnection, Chr(1) DDETerminate aiSeeConnection
Courtesy of Conrad Hughes, University of Edinburgh.
If you have further questions, please do not hesitate to contact us.