Part I. 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.

Table of Contents

VisuObject — A general object to store the signals.
visu_elements — defines methods to create and acccess to VisuElement.
VisuNodeArray — Defines the elementary structure to store informations about an element in a box.
VisuData — Give methods to store and manage data from input file(s).
VisuBox — Defines a bounding box.
VisuGlView — Defines all necessary informations for the rendering of a view.
interactive — Gives tools to interact with the rendered area.
Main capabilities of V_Sim
dataFile — Adds a possibility to colorize nodes depending on data read in an input file.
plane — Adds capabilities to draw and handle planes.
VisuScalarField — Gives capabilities to load a scalar field.
surfaces — Supports loading of .surf files and drawing of surfaces through OpenGL.
geometry — different routines to do high level geometry studies on a box or a set of boxes.
vibration — Add a support to animate the node positions with a phonon frequency.
map — Describe how to handle and draw coloured map on a plane from a density field.
dataNode — Extends capabilities of node properties.
extraNode — add further characteristics to the nodes.
isoline — handle the drawing and the computation of isolines.
surfaces_points — Define a structure to store a set of triangles defining a surface.
surfaces_resources — Define the rendering parameters of a surface.
pot2surf — Creates surfaces from scalar fields.
Methods to read input files and draw nodes
VisuRendering — Methods to create and add new rendering methods.
renderingAtomic — A rendering method to draw atoms positioned in a box.
renderingAtomic_d3 — Method to load d3 position file.
renderingAtomic_ascii — Method to load ascii position file.
atomic_xyz — Method to load xyz position file.
atomic_yaml — Method to load YAML position file.
renderingSpin — A module able to represent atoms by their position and spin.
OpenGL drawing methods
VisuGlExt — All objects drawn by V_Sim are defined in by a VisuGlExt object
VisuGlExtNodes — Defines methods to draw a set of nodes.
VisuGlExtPairs — Draw links between nodes.
VisuGlExtFrame — Draw a frame with the representation of a color frame.
VisuGlExtBoxLegend — Draw a bounding box around nodes.
VisuGlExtAxes — Defines methods to draw axes.
VisuGlExtLegend — Draw a frame with the representation of each atom species, its name and the number of elements.
VisuGlExtShade — Draw a frame with the representation of a color shade.
VisuGlExtNodeVectors — Draw arrows at each node to represent forces, displacements, vibrations...
VisuGlExtForces — Draw arrows at each node to represent forces.
VisuGlExtPlanes — Draw a list of VisuPlane.
VisuGlExtSurfaces — Defines methods to draw surfaces.
VisuGlExtMaps — Defines methods to draw maps.
VisuGlExtInfos — give the capability to draw some information near each node.
VisuGlExtScale — Draw an arrow with a label.
VisuGlExtBg — Handle the background colour and the fog.
marks — Draw features on nodes, like measurement marks or highlights.
VisuGlExtPaths — Defines methods to draw paths.
Dealing with pairs
VisuPairLink — V_Sim can draw link between nodes. This part defines a pair object and interface to draw pairs.
cylinder — Gives methods to draw cylinders as OpenGl objects pairing two elements.
wire — Gives methods to draw lines as OpenGl objects pairing two elements.
Methods to export to other formats
visu_dump — Some resources to add the ability to export the rendered data to an other format (usually image format).
dumpThroughGdkPixbuf — add an export capability into PNG and JPG files.
dumpToAscii — add an export capability of current positions.
dumpToTiff — add an export capability into TIFF files.
dumpToXyz — add an export capability of current positions.
dumpToPsAndPdf — add an export capability into PS and PDF files (encapsulating bitmaps).
dumpToSVG — add an export capability into SVG files.
dumpToABINIT — add an export capability of current positions in ABINIT format.
Generic tools
toolOptions — A convienent wrapper around GHashTable that can support types.
toolMatrix — Defines basic handlings on matrix.
toolConfigFile — Generic read methods of the configuration files are defined here.
toolFortran — Introduces routines to read the binary Fortran data format.
toolPhysic — introduce physical values for the chemical species.
toolColor — Simple handling and storage of RGBA colours.
toolShade — ToolShades are color gradients.
ToolFileFormat — Describes file format objects (name patterns, description, properties...).
OpenGL tools
opengl — This part is responsible for the pseudo3D rendering through OpenGl and gives methods to adapt the view.
renderingMode — Controls the way OpenGL renders objects.
light — Controls the use of lights in the rendering window.
text — Enables capabilities to write some text on rendering screen.
objectList — Gives storage for ids used by OpenGL lists and provides primitive routine for common drawing operations (distances, torus...).
Miscellaneous
VisuBoxed — Defines a common interface for objects with a VisuBox.
visu_configFile — Defines methods to access (read/write) to config files and to create different entries.
visu_basic — Main functions of V_Sim (except graphical ones).
visu_plugins — Introduces the basic handling of plug-ins.
visu_commandLine — All methods needed to parse options from the command line.
visu_actionInterface — Interface for defining actions and events.
visu_openGL — Define the OS dependent routines related to OpenGL.