From: Eunki Hong Date: Mon, 25 Sep 2023 16:31:44 +0000 (+0900) Subject: [NUI.Scene3D] CodeSync MotionData API and documents X-Git-Tag: accepted/tizen/7.0/unified/20230927.090513~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a4e90dd7cd57ea98148d304d29d8894b86daca9a;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [NUI.Scene3D] CodeSync MotionData API and documents 1. Fix TCT error #5576 2. Follow some comments fix up as #5452 Signed-off-by: Eunki, Hong --- diff --git a/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.MotionIndex.cs b/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.MotionIndex.cs index b0ae286..78086c3 100755 --- a/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.MotionIndex.cs +++ b/src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.MotionIndex.cs @@ -95,13 +95,13 @@ namespace Tizen.NUI.Scene3D [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_MotionPropertyIndex_Assign")] public static extern global::System.IntPtr MotionPropertyIndexAssign(global::System.Runtime.InteropServices.HandleRef motionPropertyIndex, global::System.Runtime.InteropServices.HandleRef sourceMotionPropertyIndex); - [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_MotionTransformIndex_DownCast")] + [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_MotionPropertyIndex_DownCast")] public static extern global::System.IntPtr MotionPropertyIndexDownCast(global::System.Runtime.InteropServices.HandleRef motionPropertyIndex); - [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_MotionTransformIndex_SetTransformType")] + [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_MotionPropertyIndex_SetPropertyId")] public static extern void SetPropertyId(global::System.Runtime.InteropServices.HandleRef motionPropertyIndex, global::System.Runtime.InteropServices.HandleRef propertyKey); - [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_MotionTransformIndex_GetTransformType")] + [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_MotionPropertyIndex_GetPropertyId")] public static extern global::System.IntPtr GetPropertyId(global::System.Runtime.InteropServices.HandleRef motionPropertyIndex); #endregion diff --git a/src/Tizen.NUI.Scene3D/src/public/Controls/Model.cs b/src/Tizen.NUI.Scene3D/src/public/Controls/Model.cs index 5c217fb..c830773 100755 --- a/src/Tizen.NUI.Scene3D/src/public/Controls/Model.cs +++ b/src/Tizen.NUI.Scene3D/src/public/Controls/Model.cs @@ -512,9 +512,8 @@ namespace Tizen.NUI.Scene3D /// Generate animation by MotionData. /// If there is no animatable item for MotionData, return null. /// - /// Inputed list of pair of MotionIndex and MotionValue, and duration. - /// Generated animation by input motion data, or null if there is no animatable item exist about inputed motionData - // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API) + /// Source motion data. + /// Generated animation from then given motion data, or null if there is no animatable item in [EditorBrowsable(EditorBrowsableState.Never)] public Animation GenerateMotionDataAnimation(MotionData motionData) { @@ -545,12 +544,11 @@ namespace Tizen.NUI.Scene3D } /// - /// Prototype of MotionData setter. - /// Note that this API didn't apply KeyFrames animation. + /// Set values from MotionData. + /// Note that this method doesn not apply KeyFrames animation. /// If you want to apply the animation, please use and play the result. /// - /// Inputed list of pair of MotionIndex and MotionValue. - // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API) + /// Source motion data. [EditorBrowsable(EditorBrowsableState.Never)] public void SetMotionData(MotionData motionData) { diff --git a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionData.cs b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionData.cs index 30cc0b8..a8e338d 100644 --- a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionData.cs +++ b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionData.cs @@ -26,8 +26,13 @@ namespace Tizen.NUI.Scene3D /// List of model motion definitions. /// Each motion has pair of and . /// MotionIndex is abstract class that specify the target of motion. - /// MotionValue is target value of motion. It can be KeyFrames. - /// + /// MotionValue is destination value of target for the motion. It can be expressed with or . + /// + /// + /// We don't check duplicated MotionIndex internally. + /// We don't check MotionValue type is matched with MotionIndex. + /// + /// /// We can generate list of motions by MotionIndex and MotionValue classes. /// /// @@ -47,7 +52,8 @@ namespace Tizen.NUI.Scene3D /// // Make MotionIndex with BlendShapeIndex /// motionData.Add(new BlendShapeIndex(new PropertyKey("nodeName"), new PropertyKey("blendShapeName")), motionData.GetValue(1u)); /// - /// + /// + /// /// We can request to load MotionData from file or buffer asynchronously. /// If load completed, event will be invoked. /// If we try to load before LoadCompleted event invoked, previous load request cancel and only latest request loaded. @@ -65,7 +71,8 @@ namespace Tizen.NUI.Scene3D /// /// Do something. /// } /// - /// + /// + /// /// We can generate animation of Scene3D.Model from MotionData class. /// Or, just set values. /// @@ -77,11 +84,7 @@ namespace Tizen.NUI.Scene3D /// // Set values from loaded Model. /// model2.SetMotionData(motionData); /// - /// - /// - /// We don't check duplicated MotionIndex internally. - /// We don't check MotionValue type is matched with MotionIndex. - /// + /// [EditorBrowsable(EditorBrowsableState.Never)] public class MotionData : BaseHandle { @@ -91,7 +94,7 @@ namespace Tizen.NUI.Scene3D private delegate void LoadCompletedCallbackType(IntPtr motionData); /// - /// Create an initialized motion data. + /// Create an initialized, empty motion data. /// [EditorBrowsable(EditorBrowsableState.Never)] public MotionData() : this(Interop.MotionData.MotionDataNew(), true) @@ -102,9 +105,9 @@ namespace Tizen.NUI.Scene3D /// /// Create an initialized motion data with duration. /// - /// Duration of this motion data when it be generated as Animation in milliseconds. + /// Duration of an Animation generated from this motion data, in milliseconds. [EditorBrowsable(EditorBrowsableState.Never)] - public MotionData(int durationMilliSeconds) : this(Interop.MotionData.MotionDataNew(MilliSecondsToSeconds(durationMilliSeconds)), true) + public MotionData(int durationMilliseconds) : this(Interop.MotionData.MotionDataNew(MillisecondsToSeconds(durationMilliseconds)), true) { if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); } @@ -136,25 +139,25 @@ namespace Tizen.NUI.Scene3D } /// - /// Get or set the duration of this motion data in milliseconds. + /// Get or set the duration of this motion data in milliseconds. /// [EditorBrowsable(EditorBrowsableState.Never)] public int Duration { get { - return SecondsToMilliSeconds(GetDuration()); + return SecondsToMilliseconds(GetDuration()); } set { - SetDuration(MilliSecondsToSeconds(value)); + SetDuration(MillisecondsToSeconds(value)); } } /// - /// Get the number of MotionIndex / MotionValue pair list what this hold. + /// Get the number of contained MotionIndex / MotionValue pair what this hold. /// - /// The number of motions what this hold. + /// The number of contained motions. [EditorBrowsable(EditorBrowsableState.Never)] public uint GetMotionCount() { @@ -164,7 +167,7 @@ namespace Tizen.NUI.Scene3D } /// - /// Append pair of MotionIndex and MotionValue end of list. + /// Append pair of MotionIndex and MotionValue to the list. /// /// MotionIndex to be added /// MotionValue to be added @@ -176,10 +179,10 @@ namespace Tizen.NUI.Scene3D } /// - /// Get MotionIndex at index'th. null if invalid index inputed + /// Get MotionIndex at position, or null if invalid index was given. /// /// The index of motion data list - /// The index'th MotionIndex. Or empty handle that doesn't have body + /// The MotionIndex at position. Or null. [EditorBrowsable(EditorBrowsableState.Never)] public MotionIndex GetIndex(uint index) { @@ -198,14 +201,20 @@ namespace Tizen.NUI.Scene3D handle = new HandleRef(null, IntPtr.Zero); } if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + + if (!ret.HasBody()) + { + ret.Dispose(); + ret = null; + } return ret; } /// - /// Get MotionValue at index'th. null if invalid index inputed + /// Get MotionValue at position, or null if invalid index was given. /// /// The index of motion data list - /// The index'th MotionValue. Or empty handle that doesn't have body + /// The MotionValue at position. Or null. [EditorBrowsable(EditorBrowsableState.Never)] public MotionValue GetValue(uint index) { @@ -224,21 +233,28 @@ namespace Tizen.NUI.Scene3D handle = new HandleRef(null, IntPtr.Zero); } if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + + if (!ret.HasBody()) + { + ret.Dispose(); + ret = null; + } return ret; } /// /// Load motion capture animation. - /// Scale is additional scale factor of motion capture animation. It is possible that - /// Model's scale may not matched with motion capture animation scale. - /// If scale is null, default use as Vector3.ONE /// We support bvh format. - /// After load completed, event will be invoked. + /// After load completes, event will be invoked. /// + /// + /// Scale is additional scale factor of motion capture animation. It is possible that + /// Model's scale may not match with motion capture animation scale. + /// If scale is null, default value will be used: + /// /// Name of motion capture format file. /// Scale value of motion capture animation match with model. /// Load synchronously or not. Default is async load. - // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API) [EditorBrowsable(EditorBrowsableState.Never)] public void LoadMotionCaptureAnimation(string motionCaptureFilename, Vector3 scale = null, bool synchronousLoad = false) { @@ -247,17 +263,18 @@ namespace Tizen.NUI.Scene3D } /// - /// Load motion capture animation. - /// Scale is additional scale factor of motion capture animation. It is possible that - /// Model's scale may not matched with motion capture animation scale. - /// If scale is null, default use as Vector3.ONE + /// Load motion capture animation from string. /// We support bvh format. - /// After load completed, event will be invoked. + /// After load completes, event will be invoked. /// - /// Contents of motion capture format file. + /// + /// Scale is additional scale factor of motion capture animation. It is possible that + /// Model's scale may not match with motion capture animation scale. + /// If scale is null, default value will be used: + /// + /// Contents of motion capture format string. /// Scale value of motion capture animation match with model. /// Load synchronously or not. Default is async load. - // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API) [EditorBrowsable(EditorBrowsableState.Never)] public void LoadMotionCaptureAnimationFromBuffer(string motionCaptureBuffer, Vector3 scale = null, bool synchronousLoad = false) { @@ -271,7 +288,6 @@ namespace Tizen.NUI.Scene3D /// /// Name of json format file what we predefined. /// Load synchronously or not. Default is async load. - // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API) [EditorBrowsable(EditorBrowsableState.Never)] public void LoadBlendShapeAnimation(string blendShapeFilename, bool synchronousLoad = false) { @@ -285,7 +301,6 @@ namespace Tizen.NUI.Scene3D /// /// Contents of json format file what we predefined. /// Load synchronously or not. Default is async load. - // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API) [EditorBrowsable(EditorBrowsableState.Never)] public void LoadBlendShapeAnimationFromBuffer(string blendShapeBuffer, bool synchronousLoad = false) { @@ -332,7 +347,7 @@ namespace Tizen.NUI.Scene3D } /// - /// Clear all inputed values. + /// Removes all stored motions. /// [EditorBrowsable(EditorBrowsableState.Never)] public void Clear() @@ -354,12 +369,12 @@ namespace Tizen.NUI.Scene3D return ret; } - private static float MilliSecondsToSeconds(int millisec) + private static float MillisecondsToSeconds(int millisec) { return (float)millisec / 1000.0f; } - private static int SecondsToMilliSeconds(float sec) + private static int SecondsToMilliseconds(float sec) { return (int)(sec * 1000); } diff --git a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/BlendShapeIndex.cs b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/BlendShapeIndex.cs index de59586..f01023e 100644 --- a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/BlendShapeIndex.cs +++ b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/BlendShapeIndex.cs @@ -26,9 +26,11 @@ namespace Tizen.NUI.Scene3D /// Specialized to control blend shape. /// We can control the blend shape by index (when we set BlendShapeId as IndexKey), /// or by name (when we set BlendShapeId as StringKey). - /// + /// + /// /// should be float type. - /// + /// + /// /// /// BlendShapeIndex blendShapeIndex0 = new BlendShapeIndex(new PropertyKey("nodeName"), new PropertyKey(0u)); /// BlendShapeIndex blendShapeIndex1 = new BlendShapeIndex(new PropertyKey("nodeName"), new PropertyKey("Target_1")); @@ -38,7 +40,8 @@ namespace Tizen.NUI.Scene3D /// blendShapeIndex2.ModelNodeId = new PropertyKey("nodeName"); /// blendShapeIndex2.BlendShapeId = new PropertyKey("Target_2"); /// - /// + /// + /// /// Specially, if ModelNodeId is invalid and BlendShapeId is StringKey, /// It will control all ModelNode that has the inputed blend shape name. /// @@ -50,7 +53,7 @@ namespace Tizen.NUI.Scene3D /// BlendShapeIndex blendShapeIndex0 = new BlendShapeIndex(new PropertyKey("node0"), new PropertyKey("Smile")); /// BlendShapeIndex blendShapeIndex1 = new BlendShapeIndex(new PropertyKey("node1"), new PropertyKey("Smile")); /// - /// + /// [EditorBrowsable(EditorBrowsableState.Never)] public class BlendShapeIndex : MotionIndex { @@ -64,8 +67,9 @@ namespace Tizen.NUI.Scene3D } /// - /// Create an initialized blend shape index with invalid node id, and input blend shape id. + /// Create an initialized blend shape index with invalid node ID, and given blend shape ID. /// + /// Blend shape ID for this motion index [EditorBrowsable(EditorBrowsableState.Never)] public BlendShapeIndex(PropertyKey blendShapeId) : this(Interop.MotionIndex.BlendShapeIndexNew(PropertyKey.getCPtr(blendShapeId)), true) { @@ -73,8 +77,10 @@ namespace Tizen.NUI.Scene3D } /// - /// Create an initialized blend shape index with input node id, and input blend shape id. + /// Create an initialized blend shape index with given node ID and blend shape ID. /// + /// Node ID for this motion index + /// Blend shape ID for this motion index [EditorBrowsable(EditorBrowsableState.Never)] public BlendShapeIndex(PropertyKey modelNodeId, PropertyKey blendShapeId) : this(Interop.MotionIndex.BlendShapeIndexNew(PropertyKey.getCPtr(modelNodeId), PropertyKey.getCPtr(blendShapeId)), true) { @@ -82,6 +88,27 @@ namespace Tizen.NUI.Scene3D } /// + /// Create an initialized blend shape index with invalid node ID, and given blend shape string ID. + /// + /// Blend shape string ID for this motion index + [EditorBrowsable(EditorBrowsableState.Never)] + public BlendShapeIndex(string blendShapeName) : this(Interop.MotionIndex.BlendShapeIndexNew(PropertyKey.getCPtr(new PropertyKey(blendShapeName))), true) + { + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + /// + /// Create an initialized blend shape index with given node string ID and blend shape string ID. + /// + /// Node string ID for this motion index + /// Blend shape string ID for this motion index + [EditorBrowsable(EditorBrowsableState.Never)] + public BlendShapeIndex(string modelNodeName, string blendShapeName) : this(Interop.MotionIndex.BlendShapeIndexNew(PropertyKey.getCPtr(new PropertyKey(modelNodeName)), PropertyKey.getCPtr(new PropertyKey(blendShapeName))), true) + { + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + /// /// Copy constructor. /// /// Source object to copy. diff --git a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionIndex.cs b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionIndex.cs index 8d02401..c03d380 100644 --- a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionIndex.cs +++ b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionIndex.cs @@ -24,24 +24,23 @@ namespace Tizen.NUI.Scene3D { /// /// Index of motion value. It will be used to specify the target of motion applied. - /// /// There are three kinds of MotionIndex : , and . - /// MotionPropertyIndex will be used for control whole kind of properties. + /// MotionPropertyIndex will be used for control all kind of properties. /// The loaded from files / buffer will have this kind of MotionIndex. - /// /// MotionTransformIndex will be used for control the 's Position / Orientation / Scale, or each components. /// BlendShapeIndex will be used for control some blend shape animation. - /// - /// We can use this class below cases - /// - ModelNodeId (string key) , MotionTransformIndex : Target is ModelNode's transform property - /// - ModelNodeId (int key) , MotionTransformIndex : Target is ModelNode's transform property [not implemented yet] - /// - ModelNodeId (string key) , BlendShapeIndex (int key) : Target is ModelNode's BlendShape - /// - ModelNodeId (string key) , BlendShapeIndex (string key) : Target is ModelNode's BlendShape - /// - ModelNodeId (int key) , BlendShapeIndex (int key) : Target is ModelNode's BlendShape [not implemented yet] - /// - ModelNodeId (int key) , BlendShapeIndex (string key) : Target is ModelNode's BlendShape [not implemented yet] - /// - ModelNodeId (null) , BlendShapeIndex (string key) : Target is all ModelNode's BlendShape - /// All other cases are invalid. /// + /// + /// We can use below cases. + /// + /// + /// + /// + /// + /// + ///
ModelNodeId KeyTypeMotionIndex class Description
KeyType.String MotionTransformIndex Target is ModelNode's transform property
KeyType.String BlendShapeIndex (with BlendShapeId KeyType.Index) Target is ModelNode's BlendShape
KeyType.String BlendShapeIndex (with BlendShapeId KeyType.String)Target is ModelNode's BlendShape
(null) BlendShapeIndex (with BlendShapeId KeyType.String)Target is all ModelNode's BlendShape
+ /// All other cases are invalid. + ///
[EditorBrowsable(EditorBrowsableState.Never)] public class MotionIndex : BaseHandle { @@ -72,9 +71,9 @@ namespace Tizen.NUI.Scene3D } /// - /// The id of ModelNode. If you want to apply to all ModelNodes who has BlendShape string, let this value as null. + /// The ID of ModelNode. If you want to apply to all ModelNodes who has BlendShape string, assign null. /// - [EditorBrowsable(EditorBrowsableState.Never)] + [EditorBrowsable(EditorBrowsableState.Never)] public PropertyKey ModelNodeId { get diff --git a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionPropertyIndex.cs b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionPropertyIndex.cs index f892c35..253c394 100644 --- a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionPropertyIndex.cs +++ b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionPropertyIndex.cs @@ -23,7 +23,7 @@ using Tizen.NUI; namespace Tizen.NUI.Scene3D { /// - /// Basic to control Dali's Property. + /// Basic to control Property. /// It can control more general case. /// /// @@ -46,7 +46,7 @@ namespace Tizen.NUI.Scene3D public class MotionPropertyIndex : MotionIndex { /// - /// Create an initialized blend shape index. + /// Create an initialized motion property index. /// [EditorBrowsable(EditorBrowsableState.Never)] public MotionPropertyIndex() : this(Interop.MotionIndex.MotionPropertyIndexNew(), true) @@ -55,8 +55,10 @@ namespace Tizen.NUI.Scene3D } /// - /// Create an initialized blend shape index with input node id, and property id. + /// Create an initialized motion property index with given node ID and property ID. /// + /// Node ID for this motion index + /// Property ID for this motion index [EditorBrowsable(EditorBrowsableState.Never)] public MotionPropertyIndex(PropertyKey modelNodeId, PropertyKey propertyId) : this(Interop.MotionIndex.MotionPropertyIndexNew(PropertyKey.getCPtr(modelNodeId), PropertyKey.getCPtr(propertyId)), true) { @@ -64,6 +66,17 @@ namespace Tizen.NUI.Scene3D } /// + /// Create an initialized motion property index with given node string ID and property string ID. + /// + /// Node string ID for this motion index + /// Property string ID for this motion index + [EditorBrowsable(EditorBrowsableState.Never)] + public MotionPropertyIndex(string modelNodeName, string propertyName) : this(Interop.MotionIndex.MotionPropertyIndexNew(PropertyKey.getCPtr(new PropertyKey(modelNodeName)), PropertyKey.getCPtr(new PropertyKey(propertyName))), true) + { + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + /// /// Copy constructor. /// /// Source object to copy. diff --git a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionTransformIndex.cs b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionTransformIndex.cs index 76b9db4..ee2924c 100644 --- a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionTransformIndex.cs +++ b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionIndex/MotionTransformIndex.cs @@ -24,11 +24,12 @@ namespace Tizen.NUI.Scene3D { /// /// Specialized to control transform. - /// It will be used when app developer don't care about Property index list, + /// It will be used when app developer doesn't care about Property index list, /// but want to change the transform properties anyway fast enough. - /// - /// Each TransformTypes has their own matched type. /// + /// + /// Each TransformTypes has their own matched type. + /// /// /// /// MotionTransformIndex position = new MotionTransformIndex(new PropertyKey("nodeName"), MotionTransformIndex.TransformTypes.Position); @@ -43,10 +44,9 @@ namespace Tizen.NUI.Scene3D public class MotionTransformIndex : MotionIndex { /// - /// The list of component types what this MotionIndex can control. + /// The list of transform property types what this MotionTransformIndex can control. /// [EditorBrowsable(EditorBrowsableState.Never)] - [global::System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1717:Only FlagsAttribute enums should have plural names")] public enum TransformTypes { /// @@ -111,7 +111,7 @@ namespace Tizen.NUI.Scene3D } /// - /// Create an initialized blend shape index. + /// Create an initialized motion transform index. /// [EditorBrowsable(EditorBrowsableState.Never)] public MotionTransformIndex() : this(Interop.MotionIndex.MotionTransformIndexNew(), true) @@ -120,8 +120,10 @@ namespace Tizen.NUI.Scene3D } /// - /// Create an initialized blend shape index with input node id, and transform type. + /// Create an initialized motion transform index with given node ID and transform type. /// + /// Node ID for this motion index + /// Transform property type for this motion index [EditorBrowsable(EditorBrowsableState.Never)] public MotionTransformIndex(PropertyKey modelNodeId, TransformTypes transformType) : this(Interop.MotionIndex.MotionTransformIndexNew(PropertyKey.getCPtr(modelNodeId), (int)transformType), true) { @@ -129,6 +131,17 @@ namespace Tizen.NUI.Scene3D } /// + /// Create an initialized motion transform index with given node string ID, and transform type. + /// + /// Node string ID for this motion index + /// Transform property type for this motion index + [EditorBrowsable(EditorBrowsableState.Never)] + public MotionTransformIndex(string modelNodeName, TransformTypes transformType) : this(Interop.MotionIndex.MotionTransformIndexNew(PropertyKey.getCPtr(new PropertyKey(modelNodeName)), (int)transformType), true) + { + if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve(); + } + + /// /// Copy constructor. /// /// Source object to copy. @@ -155,7 +168,7 @@ namespace Tizen.NUI.Scene3D } /// - /// The component type what this MotionIndex want to control. + /// The transform property type what this MotionIndex want to control. /// [EditorBrowsable(EditorBrowsableState.Never)] public TransformTypes TransformType diff --git a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionValue.cs b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionValue.cs index f9a1627..ff43451 100644 --- a/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionValue.cs +++ b/src/Tizen.NUI.Scene3D/src/public/ModelMotion/MotionValue.cs @@ -24,13 +24,12 @@ using Tizen.NUI; namespace Tizen.NUI.Scene3D { /// - /// This MotionValue be used for target value of each . + /// This MotionValue will be used for target value of each . /// We can get and set MotionValue as 2 types : PropertyValue and KeyFrames. - /// - /// Each types will be cross-converted internally. - /// For example, when we set PropertyValue, we can get KeyFrames with 2 frames, and target value is set. /// /// + /// Each type will be cross-converted internally. + /// For example, when we set PropertyValue, we can get KeyFrames with 2 frames, and target value is set. /// The type of property should be matched with MotionIndex required. /// [EditorBrowsable(EditorBrowsableState.Never)] @@ -62,7 +61,7 @@ namespace Tizen.NUI.Scene3D } /// - /// Create an initialized motion value with invalid. + /// Create an initialized invalid motion value. /// [EditorBrowsable(EditorBrowsableState.Never)] public MotionValue() : this(Interop.MotionValue.MotionValueNew(), true) @@ -73,6 +72,7 @@ namespace Tizen.NUI.Scene3D /// /// Create an initialized motion value with PropertyValue. /// + /// PropertyValue for this motion value [EditorBrowsable(EditorBrowsableState.Never)] public MotionValue(PropertyValue propertyValue) : this(Interop.MotionValue.MotionValueNewPropertyValue(PropertyValue.getCPtr(propertyValue)), true) { @@ -82,6 +82,7 @@ namespace Tizen.NUI.Scene3D /// /// Create an initialized motion value with KeyFrames. /// + /// KeyFrameValue for this motion value [EditorBrowsable(EditorBrowsableState.Never)] public MotionValue(KeyFrames keyFrames) : this(Interop.MotionValue.MotionValueNewKeyFrames(KeyFrames.getCPtr(keyFrames)), true) { @@ -116,8 +117,8 @@ namespace Tizen.NUI.Scene3D /// - /// Get or set the value as PropertyValue type. - /// If ValueType is ValueType.KeyFrames, it will return last value of stored KeyFrames. + /// Get or set the PropertyValue. + /// If Type is ValueType.KeyFrames, getter will return last PropertyValue instance of stored KeyFrames. /// [EditorBrowsable(EditorBrowsableState.Never)] public PropertyValue PropertyValue @@ -133,8 +134,8 @@ namespace Tizen.NUI.Scene3D } /// - /// Get or set the value as KeyFrames type. - /// If ValueType is ValueType.PropertyValue, it will create new KeyFrames by stored PropertyValue. + /// Get or set the KeyFrames. + /// If Type is ValueType.PropertyValue, getter will create new KeyFrames from stored PropertyValue. /// [EditorBrowsable(EditorBrowsableState.Never)] public KeyFrames KeyFramesValue @@ -150,7 +151,7 @@ namespace Tizen.NUI.Scene3D } /// - /// Get the type of value what we set. + /// Get the type of value which we set. /// [EditorBrowsable(EditorBrowsableState.Never)] public ValueType Type @@ -162,7 +163,7 @@ namespace Tizen.NUI.Scene3D } /// - /// Invalidate the value what we set. + /// Invalidate the value which we set. /// [EditorBrowsable(EditorBrowsableState.Never)] public void Invalidate()