/// Generate animation by MotionData.
/// If there is no animatable item for MotionData, return null.
/// </summary>
- /// <param name="motionData">Inputed list of pair of MotionIndex and MotionValue, and duration.</param>
- /// <returns>Generated animation by input motion data, or null if there is no animatable item exist about inputed motionData</returns>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="motionData">Source motion data.</param>
+ /// <returns>Generated animation from then given motion data, or null if there is no animatable item in <paramref name="motionData"/></returns>
+ /// <since_tizen> 11 </since_tizen>
public Animation GenerateMotionDataAnimation(MotionData motionData)
{
global::System.IntPtr cPtr = Interop.Model.GenerateMotionDataAnimation(SwigCPtr, MotionData.getCPtr(motionData));
}
/// <summary>
- /// 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 <see cref="GenerateMotionDataAnimation(MotionData)"/> and play the result.
/// </summary>
- /// <param name="motionData">Inputed list of pair of MotionIndex and MotionValue.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="motionData">Source motion data.</param>
+ /// <since_tizen> 11 </since_tizen>
public void SetMotionData(MotionData motionData)
{
Interop.Model.SetMotionData(SwigCPtr, MotionData.getCPtr(motionData));
/// List of model motion definitions.
/// Each motion has pair of <see cref="MotionIndex"/> and <see cref="MotionValue"/>.
/// 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 <see cref="Tizen.NUI.PropertyValue"/> or <see cref="Tizen.NUI.KeyFrames"/>.
+ /// </summary>
+ /// <remarks>
+ /// We don't check duplicated MotionIndex internally.
+ /// We don't check MotionValue type is matched with MotionIndex.
+ /// </remarks>
+ /// <example>
/// We can generate list of motions by MotionIndex and MotionValue classes.
///
/// <code>
/// // Make MotionIndex with BlendShapeIndex
/// motionData.Add(new BlendShapeIndex(new PropertyKey("nodeName"), new PropertyKey("blendShapeName")), motionData.GetValue(1u));
/// </code>
- ///
+ /// </example>
+ /// <example>
/// We can request to load MotionData from file or buffer asynchronously.
/// If load completed, <see cref="LoadCompleted"/> event will be invoked.
/// If we try to load before LoadCompleted event invoked, previous load request cancel and only latest request loaded.
/// /// Do something.
/// }
/// </code>
- ///
+ /// </example>
+ /// <example>
/// We can generate animation of Scene3D.Model from MotionData class.
/// Or, just set values.
///
/// // Set values from loaded Model.
/// model2.SetMotionData(motionData);
/// </code>
- /// </summary>
- /// <remark>
- /// We don't check duplicated MotionIndex internally.
- /// We don't check MotionValue type is matched with MotionIndex.
- /// </remark>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// </example>
+ /// <since_tizen> 11 </since_tizen>
public class MotionData : BaseHandle
{
private EventHandler loadCompletedEventHandler;
private delegate void LoadCompletedCallbackType(IntPtr motionData);
/// <summary>
- /// Create an initialized motion data.
+ /// Create an initialized, empty motion data.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionData() : this(Interop.MotionData.MotionDataNew(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
/// Create an initialized motion data with duration.
/// </summary>
- /// <param name="durationMilliSeconds">Duration of this motion data when it be generated as Animation in milliseconds.</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
- public MotionData(int durationMilliSeconds) : this(Interop.MotionData.MotionDataNew(MilliSecondsToSeconds(durationMilliSeconds)), true)
+ /// <param name="durationMilliseconds">Duration of an Animation generated from this motion data, in milliseconds.</param>
+ /// <since_tizen> 11 </since_tizen>
+ public MotionData(int durationMilliseconds) : this(Interop.MotionData.MotionDataNew(MillisecondsToSeconds(durationMilliseconds)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// Copy constructor.
/// </summary>
/// <param name="motionData">Source object to copy.</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionData(MotionData motionData) : this(Interop.MotionData.NewMotionData(MotionData.getCPtr(motionData)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
- /// Get or set the duration of this motion data in milliseconds.
+ /// Get or set the duration of this motion data in milliseconds.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public int Duration
{
get
{
- return SecondsToMilliSeconds(GetDuration());
+ return SecondsToMilliseconds(GetDuration());
}
set
{
- SetDuration(MilliSecondsToSeconds(value));
+ SetDuration(MillisecondsToSeconds(value));
}
}
/// <summary>
- /// Get the number of MotionIndex / MotionValue pair list what this hold.
+ /// Get the number of contained MotionIndex / MotionValue pair what this hold.
/// </summary>
- /// <returns>The number of motions what this hold.</returns>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <returns>The number of contained motions.</returns>
+ /// <since_tizen> 11 </since_tizen>
public uint GetMotionCount()
{
uint ret = Interop.MotionData.GetMotionCount(SwigCPtr);
}
/// <summary>
- /// Append pair of MotionIndex and MotionValue end of list.
+ /// Append pair of MotionIndex and MotionValue to the list.
/// </summary>
/// <param name="index">MotionIndex to be added</param>
/// <param name="value">MotionValue to be added</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public void Add(MotionIndex index, MotionValue value)
{
Interop.MotionData.Add(SwigCPtr, MotionIndex.getCPtr(index), MotionValue.getCPtr(value));
}
/// <summary>
- /// Get MotionIndex at index'th. null if invalid index inputed
+ /// Get MotionIndex at position, or null if invalid index was given.
/// </summary>
/// <param name="index">The index of motion data list</param>
- /// <returns>The index'th MotionIndex. Or empty handle that doesn't have body</returns>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <returns>The MotionIndex at position. Or null.</returns>
+ /// <since_tizen> 11 </since_tizen>
public MotionIndex GetIndex(uint index)
{
IntPtr cPtr = Interop.MotionData.GetIndex(SwigCPtr, index);
handle = new HandleRef(null, IntPtr.Zero);
}
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ if (!ret.HasBody())
+ {
+ ret.Dispose();
+ ret = null;
+ }
return ret;
}
/// <summary>
- /// Get MotionValue at index'th. null if invalid index inputed
+ /// Get MotionValue at position, or null if invalid index was given.
/// </summary>
/// <param name="index">The index of motion data list</param>
- /// <returns>The index'th MotionValue. Or empty handle that doesn't have body</returns>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <returns>The MotionValue at position. Or null.</returns>
+ /// <since_tizen> 11 </since_tizen>
public MotionValue GetValue(uint index)
{
IntPtr cPtr = Interop.MotionData.GetValue(SwigCPtr, index);
handle = new HandleRef(null, IntPtr.Zero);
}
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ if (!ret.HasBody())
+ {
+ ret.Dispose();
+ ret = null;
+ }
return ret;
}
/// <summary>
/// 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, <see cref="LoadCompleted"/> event will be invoked.
+ /// After load completes, <see cref="LoadCompleted"/> event will be invoked.
/// </summary>
+ /// <remarks>
+ /// 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: <cref name="Vector3.ONE"/>
+ /// </remarks>
/// <param name="motionCaptureFilename">Name of motion capture format file.</param>
/// <param name="scale">Scale value of motion capture animation match with model.</param>
/// <param name="synchronousLoad">Load synchronously or not. Default is async load.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public void LoadMotionCaptureAnimation(string motionCaptureFilename, Vector3 scale = null, bool synchronousLoad = false)
{
Interop.MotionData.LoadMotionCaptureAnimation(SwigCPtr, motionCaptureFilename, Vector3.getCPtr(scale), synchronousLoad);
}
/// <summary>
- /// 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, <see cref="LoadCompleted"/> event will be invoked.
+ /// After load completes, <see cref="LoadCompleted"/> event will be invoked.
/// </summary>
- /// <param name="motionCaptureBuffer">Contents of motion capture format file.</param>
+ /// <remarks>
+ /// 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: <cref name="Vector3.ONE"/>
+ /// </remarks>
+ /// <param name="motionCaptureBuffer">Contents of motion capture format string.</param>
/// <param name="scale">Scale value of motion capture animation match with model.</param>
/// <param name="synchronousLoad">Load synchronously or not. Default is async load.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public void LoadMotionCaptureAnimationFromBuffer(string motionCaptureBuffer, Vector3 scale = null, bool synchronousLoad = false)
{
Interop.MotionData.LoadMotionCaptureAnimationFromBuffer(SwigCPtr, motionCaptureBuffer, motionCaptureBuffer.Length, Vector3.getCPtr(scale), synchronousLoad);
/// </summary>
/// <param name="blendShapeFilename">Name of json format file what we predefined.</param>
/// <param name="synchronousLoad">Load synchronously or not. Default is async load.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public void LoadBlendShapeAnimation(string blendShapeFilename, bool synchronousLoad = false)
{
Interop.MotionData.LoadBlendShapeAnimation(SwigCPtr, blendShapeFilename, synchronousLoad);
/// </summary>
/// <param name="blendShapeBuffer">Contents of json format file what we predefined.</param>
/// <param name="synchronousLoad">Load synchronously or not. Default is async load.</param>
- // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public void LoadBlendShapeAnimationFromBuffer(string blendShapeBuffer, bool synchronousLoad = false)
{
Interop.MotionData.LoadBlendShapeAnimationFromBuffer(SwigCPtr, blendShapeBuffer, blendShapeBuffer.Length, synchronousLoad);
/// LoadCompleted event.
/// It will be invoked only for latest load request.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public event EventHandler LoadCompleted
{
add
}
/// <summary>
- /// Clear all inputed values.
+ /// Removes all stored motions.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public void Clear()
{
Interop.MotionData.Clear(SwigCPtr);
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);
}
/// Specialized <see cref="MotionIndex"/> 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).
- ///
+ /// </summary>
+ /// <remarks>
/// <see cref="MotionValue"/> should be float type.
- ///
+ /// </remarks>
+ /// <example>
/// <code>
/// BlendShapeIndex blendShapeIndex0 = new BlendShapeIndex(new PropertyKey("nodeName"), new PropertyKey(0u));
/// BlendShapeIndex blendShapeIndex1 = new BlendShapeIndex(new PropertyKey("nodeName"), new PropertyKey("Target_1"));
/// blendShapeIndex2.ModelNodeId = new PropertyKey("nodeName");
/// blendShapeIndex2.BlendShapeId = new PropertyKey("Target_2");
/// </code>
- ///
+ /// </example>
+ /// <example>
/// Specially, if ModelNodeId is invalid and BlendShapeId is StringKey,
/// It will control all ModelNode that has the inputed blend shape name.
///
/// BlendShapeIndex blendShapeIndex0 = new BlendShapeIndex(new PropertyKey("node0"), new PropertyKey("Smile"));
/// BlendShapeIndex blendShapeIndex1 = new BlendShapeIndex(new PropertyKey("node1"), new PropertyKey("Smile"));
/// </code>
- /// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// </example>
+ /// <since_tizen> 11 </since_tizen>
public class BlendShapeIndex : MotionIndex
{
/// <summary>
/// Create an initialized blend shape index.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public BlendShapeIndex() : this(Interop.MotionIndex.BlendShapeIndexNew(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
- /// 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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="blendShapeId">Blend shape ID for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
public BlendShapeIndex(PropertyKey blendShapeId) : this(Interop.MotionIndex.BlendShapeIndexNew(PropertyKey.getCPtr(blendShapeId)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
- /// 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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="modelNodeId">Node ID for this motion index</param>
+ /// <param name="blendShapeId">Blend shape ID for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
public BlendShapeIndex(PropertyKey modelNodeId, PropertyKey blendShapeId) : this(Interop.MotionIndex.BlendShapeIndexNew(PropertyKey.getCPtr(modelNodeId), PropertyKey.getCPtr(blendShapeId)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
+ /// Create an initialized blend shape index with invalid node ID, and given blend shape string ID.
+ /// </summary>
+ /// <param name="blendShapeName">Blend shape string ID for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
+ public BlendShapeIndex(string blendShapeName) : this(Interop.MotionIndex.BlendShapeIndexNew(PropertyKey.getCPtr(new PropertyKey(blendShapeName))), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Create an initialized blend shape index with given node string ID and blend shape string ID.
+ /// </summary>
+ /// <param name="modelNodeName">Node string ID for this motion index</param>
+ /// <param name="blendShapeName">Blend shape string ID for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
+ 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();
+ }
+
+ /// <summary>
/// Copy constructor.
/// </summary>
/// <param name="blendShapeIndex">Source object to copy.</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public BlendShapeIndex(BlendShapeIndex blendShapeIndex) : this(Interop.MotionIndex.NewBlendShapeIndex(BlendShapeIndex.getCPtr(blendShapeIndex)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
/// The key of blend shape.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public PropertyKey BlendShapeId
{
get
{
/// <summary>
/// Index of motion value. It will be used to specify the target of motion applied.
- ///
/// There are three kinds of MotionIndex : <see cref="MotionPropertyIndex"/>, <see cref="MotionTransformIndex"/> and <see cref="BlendShapeIndex"/>.
- /// MotionPropertyIndex will be used for control whole kind of properties.
+ /// MotionPropertyIndex will be used for control all kind of properties.
/// The <see cref="MotionData"/> loaded from files / buffer will have this kind of MotionIndex.
- ///
/// MotionTransformIndex will be used for control the <see cref="ModelNode"/>'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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <remarks>
+ /// We can use below cases.
+ /// <table>
+ /// <tr><td>ModelNodeId KeyType</td><td>MotionIndex class </td><td>Description </td></tr>
+ /// <tr><td>KeyType.String </td><td>MotionTransformIndex </td><td>Target is ModelNode's transform property</td></tr>
+ /// <tr><td>KeyType.String </td><td>BlendShapeIndex (with BlendShapeId KeyType.Index) </td><td>Target is ModelNode's BlendShape </td></tr>
+ /// <tr><td>KeyType.String </td><td>BlendShapeIndex (with BlendShapeId KeyType.String)</td><td>Target is ModelNode's BlendShape </td></tr>
+ /// <tr><td>(null) </td><td>BlendShapeIndex (with BlendShapeId KeyType.String)</td><td>Target is all ModelNode's BlendShape </td></tr>
+ /// </table>
+ /// All other cases are invalid.
+ /// </remarks>
+ /// <since_tizen> 11 </since_tizen>
public class MotionIndex : BaseHandle
{
/// <summary>
/// Copy constructor.
/// </summary>
/// <param name="motionIndex">Source object to copy.</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionIndex(MotionIndex motionIndex) : this(Interop.MotionIndex.NewMotionIndex(MotionIndex.getCPtr(motionIndex)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
- /// 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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public PropertyKey ModelNodeId
{
get
namespace Tizen.NUI.Scene3D
{
/// <summary>
- /// Basic <see cref="MotionIndex"/> to control Dali's Property.
+ /// Basic <see cref="MotionIndex"/> to control Property.
/// It can control more general case.
/// </summary>
/// <example>
///
/// </code>
/// </example>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public class MotionPropertyIndex : MotionIndex
{
/// <summary>
- /// Create an initialized blend shape index.
+ /// Create an initialized motion property index.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionPropertyIndex() : this(Interop.MotionIndex.MotionPropertyIndexNew(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
- /// 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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="modelNodeId">Node ID for this motion index</param>
+ /// <param name="propertyId">Property ID for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
public MotionPropertyIndex(PropertyKey modelNodeId, PropertyKey propertyId) : this(Interop.MotionIndex.MotionPropertyIndexNew(PropertyKey.getCPtr(modelNodeId), PropertyKey.getCPtr(propertyId)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
+ /// Create an initialized motion property index with given node string ID and property string ID.
+ /// </summary>
+ /// <param name="modelNodeName">Node string ID for this motion index</param>
+ /// <param name="propertyName">Property string ID for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
+ 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();
+ }
+
+ /// <summary>
/// Copy constructor.
/// </summary>
/// <param name="motionPropertyIndex">Source object to copy.</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionPropertyIndex(MotionPropertyIndex motionPropertyIndex) : this(Interop.MotionIndex.NewMotionPropertyIndex(MotionPropertyIndex.getCPtr(motionPropertyIndex)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
/// The key of property
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public PropertyKey PropertyId
{
get
{
/// <summary>
/// Specialized <see cref="MotionIndex"/> 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 <see cref="MotionValue"/> type.
/// </summary>
+ /// <remarks>
+ /// Each TransformTypes has their own matched <see cref="MotionValue"/> type.
+ /// </remarks>
/// <example>
/// <code>
/// MotionTransformIndex position = new MotionTransformIndex(new PropertyKey("nodeName"), MotionTransformIndex.TransformTypes.Position);
/// orientation.TransformType = MotionTransformIndex.TransformTypes.Orientation;
/// </code>
/// </example>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public class MotionTransformIndex : MotionIndex
{
/// <summary>
- /// The list of component types what this MotionIndex can control.
+ /// The list of transform property types what this MotionTransformIndex can control.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
- [global::System.Diagnostics.CodeAnalysis.SuppressMessage("Naming", "CA1717:Only FlagsAttribute enums should have plural names")]
+ /// <since_tizen> 11 </since_tizen>
public enum TransformTypes
{
/// <summary>
/// Invalid type.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
Invalid = -1,
/// <summary>
/// The position of ModelNode. MotionValue should be Vector3.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
Position = 0,
/// <summary>
/// The x position of ModelNode. MotionValue should be float.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
PositionX,
/// <summary>
/// The y position of ModelNode. MotionValue should be float.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
PositionY,
/// <summary>
/// The z position of ModelNode. MotionValue should be float.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
PositionZ,
/// <summary>
/// The orientation of ModelNode. MotionValue should be Rotation.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
Orientation,
/// <summary>
/// The scale of ModelNode. MotionValue should be Vector3.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
Scale,
/// <summary>
/// The x scale of ModelNode. MotionValue should be float.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
ScaleX,
/// <summary>
/// The y scale of ModelNode. MotionValue should be float.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
ScaleY,
/// <summary>
/// The z scale of ModelNode. MotionValue should be float.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
ScaleZ,
}
/// <summary>
- /// Create an initialized blend shape index.
+ /// Create an initialized motion transform index.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionTransformIndex() : this(Interop.MotionIndex.MotionTransformIndexNew(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
- /// 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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="modelNodeId">Node ID for this motion index</param>
+ /// <param name="transformType">Transform property type for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
public MotionTransformIndex(PropertyKey modelNodeId, TransformTypes transformType) : this(Interop.MotionIndex.MotionTransformIndexNew(PropertyKey.getCPtr(modelNodeId), (int)transformType), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <summary>
+ /// Create an initialized motion transform index with given node string ID, and transform type.
+ /// </summary>
+ /// <param name="modelNodeName">Node string ID for this motion index</param>
+ /// <param name="transformType">Transform property type for this motion index</param>
+ /// <since_tizen> 11 </since_tizen>
+ 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();
+ }
+
+ /// <summary>
/// Copy constructor.
/// </summary>
/// <param name="motionTransformIndex">Source object to copy.</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
- public MotionTransformIndex(BlendShapeIndex motionTransformIndex) : this(Interop.MotionIndex.NewMotionTransformIndex(MotionTransformIndex.getCPtr(motionTransformIndex)), true)
+ /// <since_tizen> 11 </since_tizen>
+ public MotionTransformIndex(MotionTransformIndex motionTransformIndex) : this(Interop.MotionIndex.NewMotionTransformIndex(MotionTransformIndex.getCPtr(motionTransformIndex)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
}
/// <summary>
- /// The component type what this MotionIndex want to control.
+ /// The transform property type what this MotionIndex want to control.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public TransformTypes TransformType
{
get
namespace Tizen.NUI.Scene3D
{
/// <summary>
- /// This MotionValue be used for target value of each <see cref="MotionIndex"/>.
+ /// This MotionValue will be used for target value of each <see cref="MotionIndex"/>.
/// 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.
/// </summary>
/// <remarks>
+ /// 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.
/// </remarks>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public class MotionValue : BaseHandle
{
/// <summary>
/// Determine whether current stored value is PropertyValue, or KeyFrames.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public enum ValueType
{
/// <summary>
/// Value is null, or invalid class.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
Invalid = -1,
/// <summary>
/// Value is PropertyValue.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
Property = 0,
/// <summary>
/// Value is KeyFrames.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
KeyFrames,
}
/// <summary>
- /// Create an initialized motion value with invalid.
+ /// Create an initialized invalid motion value.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionValue() : this(Interop.MotionValue.MotionValueNew(), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
/// Create an initialized motion value with PropertyValue.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="propertyValue">PropertyValue for this motion value</param>
+ /// <since_tizen> 11 </since_tizen>
public MotionValue(PropertyValue propertyValue) : this(Interop.MotionValue.MotionValueNewPropertyValue(PropertyValue.getCPtr(propertyValue)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
/// Create an initialized motion value with KeyFrames.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <param name="keyFrames">KeyFrameValue for this motion value</param>
+ /// <since_tizen> 11 </since_tizen>
public MotionValue(KeyFrames keyFrames) : this(Interop.MotionValue.MotionValueNewKeyFrames(KeyFrames.getCPtr(keyFrames)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// Copy constructor.
/// </summary>
/// <param name="motionValue">Source object to copy.</param>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public MotionValue(MotionValue motionValue) : this(Interop.MotionValue.NewMotionValue(MotionValue.getCPtr(motionValue)), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <summary>
- /// 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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public PropertyValue PropertyValue
{
get
}
/// <summary>
- /// 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.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public KeyFrames KeyFramesValue
{
get
}
/// <summary>
- /// Get the type of value what we set.
+ /// Get the type of value which we set.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public ValueType Type
{
get
}
/// <summary>
- /// Invalidate the value what we set.
+ /// Invalidate the value which we set.
/// </summary>
- [EditorBrowsable(EditorBrowsableState.Never)]
+ /// <since_tizen> 11 </since_tizen>
public void Invalidate()
{
Interop.MotionValue.Clear(SwigCPtr);