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_commandLine — All methods needed to parse options from the
command line.
-
visu_basic — Main functions of V_Sim (except graphical
ones).
-
visu_elements — defines methods to create and acccess to
VisuElement.
-
visu_nodes — Defines the elementary structure to store
informations about an element in a box.
-
visu_data — Give methods to store and manage data from
input file(s).
-
opengl — This part is responsible for the pseudo3D
rendering through OpenGl and gives methods to adapt the view.
-
VisuRendering — Methods to create and add new rendering
methods.
-
visu_configFile — Defines methods to access (read/write) to
config files and to create different entries.
-
visu_extension — All objects drawn by V_Sim are defined in by a
VisuExtension object
-
visu_pairs — V_Sim can draw link between nodes. This part
defines a pair object and interface to draw pairs.
-
visu_dump — Some resources to add the ability to export the
rendered data to an other format (usually image format).
-
visu_plugins — Introduces the basic handling of plug-ins.
- Core 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 — Shades are color gradients.
-
toolFileFormat — Describes file format objects (name patterns,
description, properties...).
- 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 ascii position file.
-
renderingSpin — A module able to represent atoms by their
position and spin.
- OpenGL tools
-
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.
-
view — Defines all necessary informations for the
rendering of a view.
-
interactive — Gives tools to interact with the rendered
area.
-
objectList — Gives storage for ids used by OpenGL lists and
provides primitive routine for common drawing operations
(distances, torus...).
- Pairs extensions
-
cylinder — Gives methods to draw cylinders as OpenGl
objects pairing two elements.
-
wire — Gives methods to draw lines as OpenGl objects
pairing two elements.
- OpenGL specific extensions
-
box — Draw a bounding box around nodes.
-
axes — Defines methods to draw axes.
-
extInfos — give the capability to draw some information
near each node.
-
scale — Draw an arrow with a label.
-
fogAndBGColor — Handle the background colour and the fog.
-
legend — Draw a frame with the representation of each
atom species, its name and the number of elements.
-
marks — Draw features on nodes, like measurement marks
or highlights.
-
rings — an extension to highlight closed rings in a structure.
- Extra functionalities
-
dataFile — Adds a possibility to colorize nodes depending
on data read in an input file.
-
dataNode — Extends capabilities of node properties.
-
extraNode — add further characteristics to the nodes.
-
plane — Adds capabilities to draw and handle planes.
-
scalarFields — Gives capabilities to load a scalar field.
-
isoline — handle the drawing and the computation of
isolines.
-
surfaces — Supports loading of .surf files and drawing of
surfaces through OpenGL.
-
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.
-
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.
- OS dependancy and rendering window backend
-
visu_actionInterface — Interface for defining actions and events.
-
visu_openGL — Define the OS dependent routines related to
OpenGL.
- Methods to export to other formats
-
dumpThroughGdkPixbuf — add an export capability into PNG and JPG files.
-
dumpToGif — add an export capability into GIF 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.