[NUI] ACR Tizen.NUI.Scene3D.Camera/SceneView
authorseungho <sbsh.baek@samsung.com>
Wed, 21 Sep 2022 07:40:10 +0000 (16:40 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Tue, 4 Oct 2022 11:26:36 +0000 (20:26 +0900)
Signed-off-by: seungho <sbsh.baek@samsung.com>
src/Tizen.NUI.Scene3D/src/public/Controls/Camera.cs
src/Tizen.NUI.Scene3D/src/public/Controls/SceneView.cs

index db81a94..0d518a2 100755 (executable)
@@ -29,15 +29,14 @@ namespace Tizen.NUI.Scene3D
     /// <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>
@@ -57,8 +56,7 @@ namespace Tizen.NUI.Scene3D
         /// <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();
@@ -67,9 +65,9 @@ namespace Tizen.NUI.Scene3D
         /// <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();
         }
@@ -112,8 +110,7 @@ namespace Tizen.NUI.Scene3D
         /// 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
@@ -131,8 +128,7 @@ namespace Tizen.NUI.Scene3D
         /// 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
@@ -151,8 +147,7 @@ namespace Tizen.NUI.Scene3D
         /// 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
@@ -174,8 +169,7 @@ namespace Tizen.NUI.Scene3D
         /// <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
@@ -187,8 +181,7 @@ namespace Tizen.NUI.Scene3D
         /// <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
@@ -205,8 +198,7 @@ namespace Tizen.NUI.Scene3D
         /// <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
index edec6ff..7b0eece 100755 (executable)
@@ -25,7 +25,7 @@ using Tizen.NUI.BaseComponents;
 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.
     ///
@@ -39,15 +39,14 @@ namespace Tizen.NUI.Scene3D
     /// <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.
@@ -60,19 +59,12 @@ namespace Tizen.NUI.Scene3D
     /// 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;
@@ -85,8 +77,7 @@ namespace Tizen.NUI.Scene3D
         /// <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();
@@ -95,9 +86,8 @@ namespace Tizen.NUI.Scene3D
         /// <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();
@@ -119,8 +109,7 @@ namespace Tizen.NUI.Scene3D
         /// 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
@@ -140,8 +129,8 @@ namespace Tizen.NUI.Scene3D
         /// 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)]
@@ -158,21 +147,20 @@ namespace Tizen.NUI.Scene3D
         }
 
         /// <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)
@@ -185,15 +173,15 @@ namespace Tizen.NUI.Scene3D
         /// <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)
@@ -207,8 +195,7 @@ namespace Tizen.NUI.Scene3D
         /// 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);
@@ -221,8 +208,7 @@ namespace Tizen.NUI.Scene3D
         /// </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);
@@ -244,12 +230,11 @@ namespace Tizen.NUI.Scene3D
         }
 
         /// <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);
@@ -274,8 +259,7 @@ namespace Tizen.NUI.Scene3D
         /// 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)
@@ -290,8 +274,7 @@ namespace Tizen.NUI.Scene3D
         /// 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)
@@ -303,7 +286,7 @@ namespace Tizen.NUI.Scene3D
         }
 
         /// <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>
@@ -313,8 +296,7 @@ namespace Tizen.NUI.Scene3D
         /// <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)
@@ -328,7 +310,7 @@ namespace Tizen.NUI.Scene3D
         }
 
         /// <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>
@@ -338,8 +320,7 @@ namespace Tizen.NUI.Scene3D
         /// <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)
@@ -356,8 +337,7 @@ namespace Tizen.NUI.Scene3D
         /// 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);
@@ -384,8 +364,11 @@ namespace Tizen.NUI.Scene3D
         /// <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);