Sophie

Sophie

distrib > Mandriva > 2007.0 > i586 > media > contrib-release > by-pkgid > 8079d983ecf371717db799dd75bd56c2 > files > 12

libopenrm1-1.5.2-2mdv2007.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html><head><title>OpenRM - RMAUX Library (rmarcball.c)</title></head>
<body bgcolor=white fgcolor=black>
<table width="100%" border=2 cellspacing=0 cellpadding=0 bgcolor="khaki" valign="center">
<th><img src="./images/ormsg.gif">
</th>
</table>
<spacer type=vertical size=15>
<h2>Index of OpenRM - RMAUX Library</h2>
<spacer type=vertical size=15>
<a name="rmauxArcBall"> 
<pre><b>
 void rmauxArcBall (float *x1, 
		    float *y1, 
		    float *x2, 
		    float *y2,
		    RMmatrix *result)
</b></pre>
<pre>
 
 float *x1, *y1 - pointers to floating point values in the range
    (-1..1).  These values define a pixel coordinate position within
    the viewport (NDC).  This point is the starting point for when
    computing a rotation. (input)

 float *x2, *y2 - pointers to floating point values in the range
    (-1..1).  These values define a pixel coordinate position within
    the viewport (NDC).  This point is the ending point for computing
    a rotation. (input)

 RMmatrix *result - pointer to an RMmatrix (result). The rotation matrix
    computed by rmauxArcBall is copied into this return parameter.
    
</pre>
<menu><P>
 The virtual arcball interface implements a rotation model such that
 changes about the horizontal axis map to X-axis rotations (roughly)
 and changes about the vertical axis map (roughly) to Y-axis
 rotations.
</P>
<P>
 The points (x1,y1) and (x2,y2) are projected onto the surface of a
 sphere, then a quaternion (the result of this routine) is computed
 that reflects a rotation from point (x1,y1) to point (x2,y2) along a
 great-arc path on the surface of a sphere.
</P>
<P>
 The rotation matrix computed from (x1,y1) and (x2,y2) is copied into
 the RMmatrix parameter "return".
</P></menu>
<i>librmaux library source file: rmarcball.c </i><hr width="75%">
<a name="rmauxDolly"> 
<pre><b>
 void 
 rmauxDolly (RMcamera3D *toModify,
             float *x1,
	     float *y1, 
	     float *x2, 
	     float *y2)
</b></pre>
<pre>

 RMcamera3D *toModify - a handle to an RMcamera3D. the eye point of
    the RMcamera3D is modified by this routine (modified).
    
 float *x1, *y1 - pointers to floating point values in the range
    (-1..1).  These values define a pixel coordinate position within
    the viewport (NDC).  This point is the starting point for
    computing the dolly translation. (input)

 float *x2, *y2 - pointers to floating point values in the range
    (-1..1).  These values define a pixel coordinate position within
    the viewport (NDC).  This point is the ending point for computing
    the dolly translation. (input)
</pre>
<menu><P>
 The virtual dolly interface implements a camera dollying motion such
 that changes in the vertical directions exponentially control the
 camera dolly translation.  Positive motions up dolly the camera
 towards the look-at and negative motions down dolly the camera away
 from the camera look-at.
</P>
<P>
 This routine modifies the eye point of the toModify RMcamera3D
 parameter.
</P></menu>
<i>librmaux library source file: rmarcball.c </i><hr width="75%">
<a name="rmauxTranslate"> 
<pre><b>
 void 
 rmauxTranslate (RMcamera3D *toModify,
                 float *x1, 
	         float *y1, 
	         float *x2, 
	         float *y2)
</b></pre>
<pre>

 RMcamera3D *toModify - a handle to an RMcamera3D object (modified).
    The eye and look-at points of this parameter are modified by
    this routine.

 float *x1, *y1 - pointers to floating point values in the range
    (-1..1).  These values define a pixel coordinate position within
    the viewport (NDC).  This point is the starting point for
    computing the image plane translation. (input)

 float *x2, *y2 - pointers to floating point values in the range
    (-1..1).  These values define a pixel coordinate position within
    the viewport (NDC).  This point is the ending point for computing
    the image plane translation. (input)
</pre>
<menu><P>
 The virtual image plane translation implements a translation motion 
 in the image plane of the camera.  Motions in the window correspond 
 directly to the image plane translation applied to the camera eye and
 look-at points.
</P>
<P>
 This routine will modify the eye and look-at points of the input
 RMcamera3D object.
</P></menu>
<i>librmaux library source file: rmarcball.c </i><hr width="75%">
</body></html>