<!-- ##### SECTION Title ##### -->
visu_tools

<!-- ##### SECTION Short_Description ##### -->
Basic tools and variables that are used all around the program.

<!-- ##### SECTION Long_Description ##### -->
<para>
This module gives tools to handle strings (trim, append, allocate...), GList and GHashTable (compare, delete functions), the file system (test for existing file, for read/write permissions), mathematical functions (floating point modulo, matrix product, coordinates handling)...
</para>
<para>
It defines several structures used in different parts of V_Sim :
<itemizedlist>
<listitem><para>One to handle in/out actions on a file and store messages : #VisuIO.</para></listitem>
<listitem><para>Another one to define file formats : #FileFormat. A file format is defined by a list of patterns to identify files of this format (example: {*.jpg, *.jpeg}) and a short string to label this format.</para></listitem>
<listitem><para>One other to handle colors : #Color. More over, if initColorStorage() is called, V_Sim uses then an internal list to store #Color. One color can be added by a call to colorAdd_color(), colorAdd_floatRGBA() or colorAdd_intRGBA().</para></listitem>
</itemizedlist>
</para>

<!-- ##### SECTION See_Also ##### -->
<para>

</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### MACRO MAX_LINE_LENGTH ##### -->
<para>

</para>



<!-- ##### MACRO MASK_RGB_R ##### -->
<para>

</para>



<!-- ##### MACRO MASK_RGB_G ##### -->
<para>

</para>



<!-- ##### MACRO MASK_RGB_B ##### -->
<para>

</para>



<!-- ##### MACRO MASK_RGB_ALL ##### -->
<para>

</para>



<!-- ##### STRUCT VisuIO_struct ##### -->
<para>

</para>

@flux: 
@nbLine: 
@informations: 

<!-- ##### TYPEDEF VisuIO ##### -->
<para>

</para>


<!-- ##### FUNCTION colorNew_floatRGBA ##### -->
<para>

</para>

@rgba: 
@Returns: 


<!-- ##### FUNCTION colorAdd_color ##### -->
<para>

</para>

@color: 
@Returns: 


<!-- ##### FUNCTION colorAdd_floatRGBA ##### -->
<para>

</para>

@rgba: 
@position: 
@Returns: 


<!-- ##### FUNCTION colorAdd_intRGBA ##### -->
<para>

</para>

@rgba: 
@Returns: 


<!-- ##### FUNCTION colorGet_storedColors ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION colorGet_lastStored ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION colorGet_byColor ##### -->
<para>

</para>

@color: 
@Returns: 


<!-- ##### FUNCTION colorGet_byId ##### -->
<para>

</para>

@num: 
@Returns: 


<!-- ##### FUNCTION colorGet_byValues ##### -->
<para>

</para>

@pos: 
@red: 
@green: 
@blue: 
@alpha: 
@Returns: 


<!-- ##### FUNCTION initColorStorage ##### -->
<para>

</para>



<!-- ##### FUNCTION setFileSystemInUTF8 ##### -->
<para>

</para>

@val: 


<!-- ##### FUNCTION getFileSystemInUTF8 ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION getStringInUTF8 ##### -->
<para>

</para>

@str: 
@Returns: 


<!-- ##### FUNCTION HSVtoRGB ##### -->
<para>

</para>

@rgb: 
@hsv: 


<!-- ##### FUNCTION HSLtoRGB ##### -->
<para>

</para>

@rgb: 
@hsl: 


<!-- ##### FUNCTION putString ##### -->
<para>

</para>

@dest: 
@value: 


<!-- ##### FUNCTION cartesian_to_spherical ##### -->
<para>

</para>

@spherical: 
@cartesian: 


<!-- ##### FUNCTION spherical_to_cartesian ##### -->
<para>

</para>

@cartesian: 
@spherical: 


<!-- ##### FUNCTION fModulo ##### -->
<para>

</para>

@a: 
@b: 
@Returns: 


<!-- ##### FUNCTION square_matrix_product ##### -->
<para>

</para>

@matrix: 
@vector: 
@result: 
@dim: 


<!-- ##### FUNCTION matrixProduct ##### -->
<para>

</para>

@matRes: 
@matA: 
@matB: 


<!-- ##### FUNCTION vectorProduct ##### -->
<para>

</para>

@vectRes: 
@mat: 
@vect: 


<!-- ##### FUNCTION getTrimString ##### -->
<para>

</para>

@dest: 
@value: 
@Returns: 


<!-- ##### FUNCTION compareStringsInGList ##### -->
<para>

</para>

@a: 
@b: 
@Returns: 


<!-- ##### FUNCTION freeGPointer ##### -->
<para>

</para>

@ele: 


<!-- ##### USER_FUNCTION freeUserDataFunc ##### -->
<para>

</para>

@data: 


<!-- ##### FUNCTION freeString ##### -->
<para>

</para>

@ele: 


<!-- ##### FUNCTION freeFloat ##### -->
<para>

</para>

@ele: 


<!-- ##### FUNCTION freeInt ##### -->
<para>

</para>

@ele: 


<!-- ##### FUNCTION getValidPath ##### -->
<para>

</para>

@pathList: 
@fileName: 
@accessMode: 
@Returns: 


<!-- ##### FUNCTION getGeneralPaths ##### -->
<para>

</para>



<!-- ##### FUNCTION normalize_path ##### -->
<para>

</para>

@path: 
@Returns: 


<!-- ##### USER_FUNCTION voidDataFunc ##### -->
<para>

</para>

@data: 


<!-- ##### FUNCTION visuWaitFunction ##### -->
<para>

</para>



<!-- ##### FUNCTION allocationProblems ##### -->
<para>

</para>



<!-- ##### MACRO DBG_fprintf ##### -->
<para>

</para>



