<!-- ##### SECTION Title ##### -->
view

<!-- ##### SECTION Short_Description ##### -->
Defines all necessary informations for the rendering of a view.

<!-- ##### SECTION Long_Description ##### -->
<para>
The #OpenGLView stores three basic informations: one for the position and orientation of the camera (#OpenGLCamera), one for the description of the bounding box in the OpenGL coordinates (#OpenGLBox, should be moved elsewhere later) and one last for the definition of the viewing window (#OpenGLWindow, including volumic informations).
</para>
<para>
One resource is used by this part, defining the precision desired by the user when drawing OpenGL objects. This precision can be changed using OpenGLViewSet_precision() and all V_Sim part drawing something should use OpenGLViewGet_numberOfFacettes() to know the size of the vertices to be drawn depending on this precision and the level of zoom.
</para>
<para>
The rendering is done in an OpenGl viewport whose size is given by the bounding box (plus 10%). The camera can be positionned with three angles (theta, phi and omega) and has a zoom factor (gross) and a perspective value (d_red). The angle theta is around the z axis (box coordinates), phi is around the new x axis (after the theta rotation) and omega is a rotation around the axis which goes from the observer to the center of the bounding box. By default the camera looks at the center of the bounding box but this can be changed with the Xs and Ys parameters. These values are stored and are readable through the #OpenGLCamera structure. They must be changed with the following methods : openGLViewSet_thetaPhiOmega(), openGLViewSet_gross(), openGLViewSet_persp() and openGLViewSet_XsYs().
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
Usually a #OpenGLView is associated to a #VisuData for its rendering.
</para>

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


<!-- ##### STRUCT OpenGLView_struct ##### -->
<para>

</para>

@camera: 
@window: 
@box: 

<!-- ##### TYPEDEF OpenGLView ##### -->
<para>

</para>


<!-- ##### FUNCTION OpenGLViewNew ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION OpenGLViewCopy ##### -->
<para>

</para>

@view: 
@Returns: 


<!-- ##### FUNCTION OpenGLViewFree ##### -->
<para>

</para>

@view: 


<!-- ##### FUNCTION OpenGLViewGet_fileUnitPerPixel ##### -->
<para>

</para>

@view: 
@Returns: 


<!-- ##### FUNCTION OpenGLViewGet_numberOfFacettes ##### -->
<para>

</para>

@view: 
@dimension: 
@Returns: 


<!-- ##### FUNCTION OpenGLViewGet_precision ##### -->
<para>

</para>

@Returns: 


<!-- ##### FUNCTION OpenGLViewGet_screenAxes ##### -->
<para>

</para>

@view: 
@xAxis: 
@yAxis: 


<!-- ##### FUNCTION OpenGLViewSet_precision ##### -->
<para>

</para>

@value: 
@Returns: 


<!-- ##### FUNCTION OpenGLViewSet_windowSize ##### -->
<para>

</para>

@view: 
@width: 
@height: 
@Returns: 


<!-- ##### FUNCTION openGLViewCompute_matrixAndView ##### -->
<para>

</para>

@view: 


<!-- ##### FUNCTION openGLViewRotate_box ##### -->
<para>

</para>

@view: 
@dTheta: 
@dPhi: 
@angles: 


<!-- ##### FUNCTION openGLViewRotate_camera ##### -->
<para>

</para>

@view: 
@dTheta: 
@dPhi: 
@angles: 


<!-- ##### FUNCTION openGLViewSet_XsYs ##### -->
<para>

</para>

@view: 
@valueX: 
@valueY: 
@mask: 
@Returns: 


<!-- ##### FUNCTION openGLViewSet_gross ##### -->
<para>

</para>

@view: 
@value: 
@Returns: 


<!-- ##### FUNCTION openGLViewSet_persp ##### -->
<para>

</para>

@view: 
@value: 
@Returns: 


<!-- ##### FUNCTION openGLViewSet_thetaPhiOmega ##### -->
<para>

</para>

@view: 
@valueTheta: 
@valuePhi: 
@valueOmega: 
@mask: 
@Returns: 


<!-- ##### MACRO MASK_THETA ##### -->
<para>

</para>



<!-- ##### MACRO MASK_PHI ##### -->
<para>

</para>



<!-- ##### MACRO MASK_OMEGA ##### -->
<para>

</para>



<!-- ##### MACRO MASK_XS ##### -->
<para>

</para>



<!-- ##### MACRO MASK_YS ##### -->
<para>

</para>



<!-- ##### STRUCT OpenGLCamera_struct ##### -->
<para>

</para>

@d_red: 
@gr: 
@theta: 
@phi: 
@omega: 
@xs: 
@ys: 
@gross: 

<!-- ##### TYPEDEF OpenGLCamera ##### -->
<para>

</para>


<!-- ##### STRUCT OpenGLBox_struct ##### -->
<para>

</para>

@extens: 
@dxxs2: 
@dyys2: 
@dzzs2: 
@p1: 
@p2: 
@p3: 
@p4: 
@p5: 
@p6: 
@p7: 
@p8: 

<!-- ##### TYPEDEF OpenGLBox ##### -->
<para>

</para>


<!-- ##### STRUCT OpenGLWindow_struct ##### -->
<para>

</para>

@width: 
@height: 
@near: 
@far: 
@left: 
@right: 
@bottom: 
@top: 

<!-- ##### TYPEDEF OpenGLWindow ##### -->
<para>

</para>


<!-- ##### FUNCTION OpenGLViewInit ##### -->
<para>

</para>



