# V_Sim API - Reference Manual

for V_Sim

## Core

This is the program itself without the interface. Basically V_Sim allows the user to see in a pseudo 3D representation a list of elements known by their positions in space, all contained in a box. And it gives tools to rotate, zoom and retrieve informations on positions, angles and distances. The program is supposed to be modular and the programer can add new functions "easily".

There are three sections. The first section deals with all the main functions to handle with this modularity, with the 3D drawing... The second section gathers all the extensions that have been added to improve V_Sim in the rendering area. The third section deals with the different possibilities that exist for the user to render different kind of elements.

### Core tools

There are differents tools that can be shared by every modules in V_Sim, such as file support, list of colors, common shades...

### Rendering methods

Main purpose of V_Sim is to render some file describing positions and other informations n a graphical way. This is achieved implementing #RenderingMethods. Currently two methods exist, one draw spheres (or other geometric forms such as cubes) on defined positions. The other is a more specialised version of the former, adding a direction information on each position. Ths method is called SpiRendering and is usefull to render spin configurations.

### OpenGL tools

These little utilities are dealing with OpenGL. They are not essential to V_Sim but can add some nice features that can be shared between different modules.

### Pairs extensions

Drawing pairs is done via external modules. For the moment, two modules exist to draw pairs : one draws flat lines between elements (colour and width are user-defined) and the other use cylinders to represents pairs (radius and colour also user-defined).

### OpenGL specific extensions

New rendering facilities.

### Extra functionalities

Other capabilities.

### OS dependancy and rendering window backend

### Methods to export to other formats

### External include files

All add-ons to V_Sim are declared in lists in differents externalSomethingFile.h.

## Gtk interface

### Main interface

### V_sim specific widgets

### Panel add-ons

## Index