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; } }