/// <remarks>
/// Transform inheritance cannot be guaranteed when adding children to a camera.
/// </remarks>
- /// This will be released at Tizen.NET API Level 10, so currently this would be used as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public partial class Camera : View
{
/// <summary>
/// Enumeration for the projectionMode.
+ /// ProjectionMode defines how the camera shows 3D objects or scene on a 2D plane with projection.
/// </summary>
- /// This will be released at Tizen.NET API Level 10, so currently this would be used as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public enum ProjectionModeType
{
/// <summary>
/// <summary>
/// Creates an uninitialized Camera.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public Camera() : this(Interop.Camera.New(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
/// Copy constructor.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Camera(Camera copy) : this(Interop.Camera.NewCamera(Camera.getCPtr(copy)), true)
+ /// <param name="camera">The Camera object to be copied.</param>
+ /// <since_tizen> 10 </since_tizen>
+ public Camera(Camera camera) : this(Interop.Camera.NewCamera(Camera.getCPtr(camera)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// Sets/Gets the projection mode.
/// The default is Perspective
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public ProjectionModeType ProjectionMode
{
get
/// Sets/Gets the field of view in Radians.
/// The default field of view is 45 degrees.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public Radian FieldOfView
{
get
/// OrthographicSize is height/2 of viewing cube of Orthographic projection.
/// Width of viewing cube is internally computed by using aspect ratio of Viewport.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public float OrthographicSize
{
get
/// <summary>
/// Gets the aspect ratio of the camera.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public float AspectRatio
{
get
/// <summary>
/// Sets/Gets the near clipping plane distance.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public float NearPlaneDistance
{
get
/// <summary>
/// Sets/Gets the far clipping plane distance.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public float FarPlaneDistance
{
get
namespace Tizen.NUI.Scene3D
{
/// <summary>
- /// SceneView is a Class to show multiple 3D objects in a single 2D sreen.
+ /// SceneView is a Class to show multiple 3D objects in a single 2D screen.
/// Each SceneView has its own 3D space, and 3D objects added to SceneView are positioned in the space.
/// SceneView uses left-handed coordinate system same as NUI. X as right, Y as down, and Z as forward.
///
/// <see cref="GetCamera(uint)"/> method with index "0" returns the default camera,
/// and the minimum value returned by <see cref="GetCameraCount()"/> method is 1.
///
- /// SceneView also provides multiple Camera and one of them can be used to render the multiple objects.
+ /// SceneView also provides multiple Camera and one of them can be used to render multiple objects.
/// <see cref="AddCamera(Camera)"/>, <see cref="RemoveCamera(Camera)"/>, <see cref="GetCamera(uint)"/>,
/// and <see cref="SelectCamera(uint)"/> are methods to manage Cameras of the SceneView.
/// User can place multiple cameras in a scene to display the entire scene or to display individual objects.
/// User can use the <see cref="SelectCamera(uint)"/> method to select the currently required camera.
///
/// When the SceneView's size changes, some camera properties that depend on its size may also change.
- /// The changing properties are as follows: ProjectionMode, AspectRatio, LeftPlaneDistance, RightPlaneDistance, TopPlaneDistance, and BottomPlaneDistance.
- /// Position, Near/FarPlaneDistance, and FieldOfView are maintained even if the size of the SceneView is changed.
+ /// The changing properties are as follows: AspectRatio, LeftPlaneDistance, RightPlaneDistance, TopPlaneDistance, and BottomPlaneDistance.
/// The Camera's FieldOfView is vertical fov. The horizontal fov is updated internally according to the SceneView size.
///
/// The <see cref="SetImageBasedLightSource(string, string, float)"/> method sets the same IBL to all Model objects added to the SceneView.
/// The IBL textures start to be loaded asynchronously when <see cref="SetImageBasedLightSource(string, string, float)"/> method is called.
/// ResourcesLoaded signal notifies that the loading of the IBL resources have been completed.
///
- /// SceneView provides an option to use FBO for rendering result with <see cref="UseFramebuffer"/> property.
- /// If it is false, SceneView is always drawn in the form of a rectangle on the default window surface directly.
- /// It improves performance, but the SceneView is always drawn on top of other 2D objects regardless of rendering order.
- ///
/// If FBO is used, the rendering result of SceneView is drawn on the FBO and it is mapped on the plane of the SceneView.
/// It could decreases performance slightly, but it is useful to show SceneView according to the rendering order with other Views.
///
/// And since SceneView is a View, it can be placed together with other 2D UI components in the NUI window.
/// </summary>
- /// <code>
- /// </code>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public class SceneView : View
{
private bool inCameraTransition = false;
/// <summary>
/// Create an initialized SceneView.
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public SceneView() : this(Interop.SceneView.SceneNew(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
/// Copy constructor.
/// </summary>
- /// <param name="sceneView">Handle to an object.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="sceneView">The source object.</param>
+ /// <since_tizen> 10 </since_tizen>
public SceneView(SceneView sceneView) : this(Interop.SceneView.NewScene(SceneView.getCPtr(sceneView)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// Set/Get the ImageBasedLight ScaleFactor.
/// Scale factor controls light source intensity in [0.0f, 1.0f]
/// </summary>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public float ImageBasedLightScaleFactor
{
set
/// Default is false.
/// </summary>
/// <remarks>
- /// If useFramebuffer is true, it could decrease performance but entire rendering order is satisfied.
- /// If useFramebuffer is false, the performance becomes better but SceneView is rendered on the top of the other 2D components regardless tree order.
+ /// If UseFramebuffer is true, it could decrease performance but entire rendering order is satisfied.
+ /// If UseFramebuffer is false, the performance becomes better but SceneView is rendered on the top of the other 2D components regardless tree order.
/// </remarks>
// This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
[EditorBrowsable(EditorBrowsableState.Never)]
}
/// <summary>
- /// Adds a Camera to the SceneView
+ /// Adds a Camera to the SceneView at the end of the camera list of SceneView.
/// The Camera can be used as a selected camera to render the scene by using <see cref="SelectCamera(uint)"/> or <see cref="SelectCamera(string)"/>
/// </summary>
/// <param name="camera">Camera added on this SceneView.</param>
/// <remarks>
/// Some properties of the Camera will be change depending on the Size of this SceneView.
/// Those properties are as follows:
- /// aspectRatio, nearPlaneDistance, farPlaneDistance, leftPlaneDistance, rightPlaneDistance, topPlaneDistance, and bottomPlaneDistance.
+ /// AspectRatio, LeftPlaneDistance, RightPlaneDistance, TopPlaneDistance, and BottomPlaneDistance.
///
/// The FieldOfView of Camera is for vertical fov.
/// When the size of the SceneView is changed, the vertical fov is maintained
- /// and the horizontal fov is automatically calculated according to the SceneView's aspect ratio.
+ /// and the horizontal fov is automatically calculated according to the SceneView's AspectRatio.
/// </remarks>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public void AddCamera(Camera camera)
{
if(camera != null)
/// <summary>
/// Removes a Camera from this SceneView.
/// If removed Camera is selected Camera,
- /// first camera in the list is set to selected Camera.
+ /// first camera in the list becomes the selected Camera.
/// </summary>
/// <param name="camera"> camera Camera to be removed from this Camera.</param>
/// <remarks>
- /// Camera.Dispose() don't automatically release memory. We should call this API if we want to release memory.
- /// We cannot remove default camera. If we try to remove default camera, ignored.
+ /// When Camera.Dispose() is called, the NUI object is disposed, but camera information is maintained internally.
+ /// Therefore, even if Camera.Dispose() is called, RemoveCamera() or RemoveCamera() methods can be used.
+ /// If RemoveCamera() is called too, all information is deleted together.
/// </remarks>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public void RemoveCamera(Camera camera)
{
if(camera != null)
/// Retrieves the number of cameras.
/// </summary>
/// <returns>The number of Cameras.</returns>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public uint GetCameraCount()
{
uint count = Interop.SceneView.GetCameraCount(SwigCPtr);
/// </summary>
/// <param name="index"> Index of Camera to be retrieved.</param>
/// <returns>Camera of the index.</returns>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public Camera GetCamera(uint index)
{
global::System.IntPtr cPtr = Interop.SceneView.GetCamera(SwigCPtr, index);
}
/// <summary>
- /// Retrieves a Camera of the index.
+ /// Retrieves a Camera of the input name.
/// </summary>
/// <param name="name"> string keyword of Camera to be retrieved.</param>
/// <returns>Camera that has the name as a View.Name property</returns>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public Camera GetCamera(string name)
{
global::System.IntPtr cPtr = Interop.SceneView.GetCamera(SwigCPtr, name);
/// Makes SceneView use a Camera of index as a selected camera.
/// </summary>
/// <param name="index"> Index of Camera to be used as a selected camera.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public void SelectCamera(uint index)
{
if(inCameraTransition)
/// Makes SceneView use a Camera of a name as a selected camera.
/// </summary>
/// <param name="name"> string keyword of Camera to be used as a selected camera.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public void SelectCamera(string name)
{
if(inCameraTransition)
}
/// <summary>
- /// Start camera transition from currently selected camera to a camera of index.
+ /// Starts camera transition from currently selected camera to a camera of index.
/// Camera Position and Orientation is smoothly animated.
/// </summary>
/// <remarks>
/// <param name="index"> Index of destination Camera of Camera transition.</param>
/// <param name="durationMilliSeconds">The duration in milliseconds.</param>
/// <param name="alphaFunction">The alpha function to apply.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public void CameraTransition(uint index, int durationMilliSeconds, AlphaFunction alphaFunction = null)
{
if(inCameraTransition)
}
/// <summary>
- /// Start camera transition from currently selected camera to a camera of input name.
+ /// Starts camera transition from currently selected camera to a camera of input name.
/// Camera Position and Orientation is smoothly animated.
/// </summary>
/// <remarks>
/// <param name="name"> string keyword of destination Camera of Camera transition.</param>
/// <param name="durationMilliSeconds">The duration in milliseconds.</param>
/// <param name="alphaFunction">The alpha function to apply.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public void CameraTransition(string name, int durationMilliSeconds, AlphaFunction alphaFunction = null)
{
if(inCameraTransition)
/// Retrieves selected Camera.
/// </summary>
/// <returns> Camera currently used in SceneView as a selected Camera.</returns>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 10 </since_tizen>
public Camera GetSelectedCamera()
{
global::System.IntPtr cPtr = Interop.SceneView.GetSelectedCamera(SwigCPtr);
/// <param name="diffuseUrl">The path of Cube map image that can be used as a diffuse IBL source.</param>
/// <param name="specularUrl">The path of Cube map image that can be used as a specular IBL source.</param>
/// <param name="scaleFactor">Scale factor that controls light source intensity in [0.0f, 1.0f]. Default value is 1.0f.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <remarks>
+ /// http://tizen.org/privilege/mediastorage for local files in media storage.
+ /// http://tizen.org/privilege/externalstorage for local files in external storage.
+ /// </remarks>
+ /// <since_tizen> 10 </since_tizen>
public void SetImageBasedLightSource(string diffuseUrl, string specularUrl, float scaleFactor = 1.0f)
{
Interop.SceneView.SetImageBasedLightSource(SwigCPtr, diffuseUrl, specularUrl, scaleFactor);