aboutsummaryrefslogblamecommitdiffstats
path: root/src/lib/evas/canvas/evas_canvas3d_camera.eo
blob: b427e8b1673ad2926142fc91efb15f5e28a7f4ac (plain) (tree)
1
2
3
4
5
6
7
8
9
                           
 
                                                 
 
                                  
                                   

                             
                                                         


                                                        
                                                                                                        
                 
                                                                   


          
                                    
                                                         
 
                                              
                 
                                                        



                                  
                                                                                     
 
                                              

                 



                                                                    



                              
                                                                                 
 
                                              
                 





                                                                                  


                            
                                                                                    
 
                                              
                 





                                                                                  

          
                        
                                                                                
 

                                                                                                                           
                 

                                                                           
                                                                  

          


               

                             

                                         


    
import evas_canvas3d_types;

class Evas.Canvas3D.Camera (Evas.Canvas3D.Object)
{
   [[Evas 3D canvas camera class]]
   data: Evas_Canvas3D_Camera_Data;
   methods {
      projection_matrix_set {
         [[Set the projection matrix of the given camera.

           Default projection matrix is identity matrix.

           See also @.projection_perspective_set, @.projection_ortho_set and @.projection_frustum_set.]]
         params {
           @in matrix: ptr(const(Evas.Real)); [[Projection Matrix]]
         }
      }

      projection_matrix_get @const {
         [[Get the projection matrix of the given camera.

           See also @.projection_matrix_set.]]
         params {
           @out matrix: Evas.Real; [[Projection Matrix]]
         }
      }

      projection_perspective_set {
         [[Set the projection matrix of the given camera with perspective projection.

           See also @.projection_matrix_set.]]

         params {
            fovy: Evas.Real; [[Field of view angle in Y direction.]]
            aspect: Evas.Real; [[Aspect ratio.]]
            dnear: Evas.Real; [[Distance to near clipping plane.]]
            dfar: Evas.Real; [[Distance to far clipping plane.]]
         }
      }

      projection_frustum_set {
         [[Set the projection matrix of the given camera with frustum projection.

           See also @.projection_matrix_set.]]
         params {
            left: Evas.Real; [[Left X coordinate of the near clipping plane.]]
            right: Evas.Real; [[Right X coordinate of the near clipping plane..]]
            bottom: Evas.Real; [[Bottom Y coordinate of the near clipping plane.]]
            top: Evas.Real; [[Top Y coordinate of the near clipping plane]]
            dnear: Evas.Real; [[Distance to near clipping plane.]]
            dfar: Evas.Real; [[Distance to far clipping plane.]]
         }
      }
      projection_ortho_set {
         [[Set the projection matrix of the given camera with orthogonal projection.

           See also @.projection_matrix_set.]]
         params {
            left: Evas.Real; [[Left X coordinate of the near clipping plane.]]
            right: Evas.Real; [[Right X coordinate of the near clipping plane..]]
            bottom: Evas.Real; [[Bottom Y coordinate of the near clipping plane.]]
            top: Evas.Real; [[Top Y coordinate of the near clipping plane]]
            dnear: Evas.Real; [[Distance to near clipping plane.]]
            dfar: Evas.Real; [[Distance to far clipping plane.]]
         }
      }
      node_visible_get {
         [[Check is bounding sphere of given node inside frustum of camera node.

           If the nodes are $null or nodes type mismatch error wrong type of nodes will be generated and returned $false.]]
         return: bool; [[$true in frustum, $false otherwise]]
         params {
            @in camera_node: Evas.Canvas3D.Node; [[The given camera node.]]
            @in node: Evas.Canvas3D.Node; [[The given node.]]
            @in key: Evas.Canvas3D.Frustum_Mode; [[The given key]]
         }
      }
   }

   implements {
      Efl.Object.constructor;
      Efl.Object.destructor;
      Evas.Canvas3D.Object.update_notify;
      Evas.Canvas3D.Object.change_notify;
   }

}