88 lines
3.2 KiB
Plaintext
88 lines
3.2 KiB
Plaintext
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;
|
|
}
|
|
|
|
}
|