128 lines
4.2 KiB
Plaintext
128 lines
4.2 KiB
Plaintext
class Evas_3D_Camera (Evas_3D_Object, Evas.Common_Interface)
|
|
{
|
|
legacy_prefix: null;
|
|
data: Evas_3D_Camera_Data;
|
|
methods {
|
|
projection_matrix_set {
|
|
/*@
|
|
Set the projection matrix of the given camera.
|
|
|
|
@param camera The given camera.
|
|
@param matrix Pointer to the array of 16 Evas_Real values in column major order.
|
|
|
|
Default projection matrix is identity matrix.
|
|
|
|
@see evas_3d_camera_projection_perspective_set()
|
|
@see evas_3d_camera_projection_ortho_set()
|
|
@see evas_3d_camera_projection_frustum_set()
|
|
|
|
@ingroup Evas_3D_Camera
|
|
*/
|
|
params {
|
|
@in const(Evas_Real)* matrix; /*@ Projection Matrix */
|
|
}
|
|
}
|
|
|
|
projection_matrix_get @const {
|
|
/*@
|
|
Get the projection matrix of the given camera.
|
|
|
|
@param camera The given camera.
|
|
@param matrix Pointer to receive the 16 Evas_Real values in column major order.
|
|
|
|
@see evas_3d_camera_projection_matrix_set()
|
|
|
|
@ingroup Evas_3D_Camera
|
|
*/
|
|
params {
|
|
@out Evas_Real matrix; /*@ Projection Matrix */
|
|
}
|
|
}
|
|
|
|
projection_perspective_set {
|
|
/*@
|
|
Set the projection matrix of the given camera with perspective projection.
|
|
|
|
@param camera The given camera.
|
|
@param fovy Field of view angle in Y direction.
|
|
@param aspect Aspect ratio.
|
|
@param dnear Distance to near clipping plane.
|
|
@param dfar Distance to far clipping plane.
|
|
|
|
@see evas_3d_camera_projection_matrix_set()
|
|
|
|
@ingroup Evas_3D_Camera
|
|
*/
|
|
|
|
params {
|
|
Evas_Real fovy; /*@ Field of view angle in Y direction. */
|
|
Evas_Real aspect; /*@ Aspect ratio.*/
|
|
Evas_Real dnear; /*@ Distance to near clipping plane. */
|
|
Evas_Real dfar; /*@ Distance to far clipping plane. */
|
|
}
|
|
}
|
|
|
|
projection_frustum_set {
|
|
/*@
|
|
Set the projection matrix of the given camera with frustum projection.
|
|
|
|
@see evas_3d_camera_projection_matrix_set()
|
|
|
|
@ingroup Evas_3D_Camera
|
|
*/
|
|
params {
|
|
Evas_Real left; /*@ Left X coordinate of the near clipping plane. */
|
|
Evas_Real right; /*@ Right X coordinate of the near clipping plane..*/
|
|
Evas_Real bottom; /*@ Bottom Y coordinate of the near clipping plane. */
|
|
Evas_Real top; /*@ Top Y coordinate of the near clipping plane */
|
|
Evas_Real dnear; /*@ Distance to near clipping plane. */
|
|
Evas_Real dfar; /*@ Distance to far clipping plane. */
|
|
}
|
|
}
|
|
projection_ortho_set {
|
|
/*@
|
|
Set the projection matrix of the given camera with orthogonal projection.
|
|
|
|
@see evas_3d_camera_projection_matrix_set()
|
|
|
|
@ingroup Evas_3D_Camera
|
|
*/
|
|
params {
|
|
Evas_Real left; /*@ Left X coordinate of the near clipping plane. */
|
|
Evas_Real right; /*@ Right X coordinate of the near clipping plane..*/
|
|
Evas_Real bottom; /*@ Bottom Y coordinate of the near clipping plane. */
|
|
Evas_Real top; /*@ Top Y coordinate of the near clipping plane */
|
|
Evas_Real dnear; /*@ Distance to near clipping plane. */
|
|
Evas_Real dfar; /*@ Distance to far clipping plane. */
|
|
}
|
|
}
|
|
node_visible_get {
|
|
/*@
|
|
Check is bounding sphere of given node inside frustum of camera node.
|
|
*
|
|
* @param camera The given camera node.
|
|
* @param node The given node.
|
|
* @return @c EINA_TRUE in frustum, @c EINA_FALSE otherwise
|
|
|
|
* If the nodes are @ NULL or nodes type mismatch error wrong type of nodes will be generated and returned @ EINA_FALSE.
|
|
|
|
* @ingroup Evas_3D_Camera
|
|
*/
|
|
return: bool;
|
|
params {
|
|
@in Evas_3D_Node *camera_node;
|
|
@in Evas_3D_Node *node;
|
|
@in Evas_3D_Frustum_Mode key;
|
|
}
|
|
}
|
|
}
|
|
|
|
implements {
|
|
Eo.Base.constructor;
|
|
Eo.Base.destructor;
|
|
Evas_3D_Object.update_notify;
|
|
Evas_3D_Object.change_notify;
|
|
}
|
|
|
|
}
|