document map util calls

SVN revision: 43423
This commit is contained in:
Carsten Haitzler 2009-11-02 15:43:51 +00:00
parent f514e72be7
commit 0007c51508
1 changed files with 43 additions and 11 deletions

View File

@ -679,9 +679,14 @@ evas_map_util_zoom(Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_
}
/**
* XXX
* Rotate the map around 3 axes in 3D
*
* xxx
* This will rotate not just around the "Z" axis as in evas_map_util_rotate()
* (which is a convenience call for those only wanting 2D). This will rotate
* around the X, Y and Z axes. The Z axis points "into" the screen with low
* values at the screen and higher values further away. The X axis runs from
* left to right on the screen and the Y axis from top to bottom. Like with
* evas_map_util_rotate(0 you provide a center point to rotate around (in 3D).
*
* @param m map to change.
* @param dx amount of degrees from 0.0 to 360.0 to rotate arount X axis.
@ -690,9 +695,6 @@ evas_map_util_zoom(Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_
* @param cx rotation's center horizontal positon.
* @param cy rotation's center vertical positon.
* @param cz rotation's center vertical positon.
*
* @see evas_map_point_coord_set()
* @see evas_map_util_zoom()
*/
EAPI void
evas_map_util_3d_rotate(Evas_Map *m, double dx, double dy, double dz,
@ -746,14 +748,26 @@ evas_map_util_3d_rotate(Evas_Map *m, double dx, double dy, double dz,
}
/**
* XXX
* Perform lighting calculations on the given Map
*
* xxx
* This is used to apply lighting calculations (from a single light source)
* to a given map. The R, G and B values of each vertex will be modified to
* reflect the lighting based on the lixth point coordinates, the light
* color and the ambient color, and at what angle the map is facing the
* light source. A surface should have its points be declared in a
* clockwise fashion if the face is "facing" towards you (as opposed to
* away from you) as faces have a "logical" side for lighting.
*
* @param m map to change.
* @param lx X coordinate in space of light point
* @param ly Y coordinate in space of light point
* @param lz Z coordinate in space of light point
* @param lr light red value (0 - 255)
* @param lg light green value (0 - 255)
* @param lb light blue value (0 - 255)
* @param lr ambient color red value (0 - 255)
* @param lg ambient color green value (0 - 255)
* @param lb ambient color blue value (0 - 255)
*/
EAPI void
evas_map_util_3d_lighting(Evas_Map *m,
@ -829,11 +843,26 @@ evas_map_util_3d_lighting(Evas_Map *m,
}
/**
* XXX
* Apply a perspective transform to the map
*
* xxx
* This applies a given perspective (3D) to the map coordinates. X, Y and Z
* values are used. The px and py points specify the "infinite distance" point
* in the 3D conversion (where all lines converge to like when artists draw
* 3D by hand). The @p z0 value specifis the z value at which there is a 1:1
* mapping between spatial coorinates and screen coordinates. Any points
* on this z value will not have their X and Y values modified in the transform.
* Those further away (Z value higher) will shrink into the distance, and
* those less than this value will expand and become bigger. The @p foc value
* determines the "focal length" of the camera. This is in reality the distance
* between the camera lens plane itself (at or closer than this rendering
* results are undefined) and the "z0" z value. This allows for some "depth"
* control and @p foc must be greater than 0.
*
* @param m map to change.
* @param px The pespective distance X coordinate
* @param py The pespective distance Y coordinate
* @param z0 The "0" z plane value
* @param foc The focal distance
*/
EAPI void
evas_map_util_3d_perspective(Evas_Map *m,
@ -870,9 +899,12 @@ evas_map_util_3d_perspective(Evas_Map *m,
}
/**
* XXX
* Get the clockwise state of a map
*
* xxx
* This determines if the output points (X and Y. Z is not used) are
* clockwise or anti-clockwise. This can be used for "back-face culling". This
* is where you hide objects that "face away" from you. In this case objects
* that are not clockwise.
*
* @param m map to query.
* @return 1 if clockwise, 0 otherwise