JD2022-TU1/main/tools/framework/Shuttle.Api/AfterEffectsDTO/Properties/Property.cs

179 lines
7.9 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using Newtonsoft.Json;
namespace Shuttle.Api.AfterEffectsDTO.Properties
{
/// <summary>
/// The Property object contains value, keyframe, and expression information about a particular AE
/// property of a layer. An AE property is an value, often animatable, of an effect, mask, or transform
/// within an individual layer. For examples of how to access properties, see PropertyBase object and
/// PropertyGroup.property().
/// </summary>
public class Property : PropertyBase
{
/// <summary>
/// When true, the named property is of a type whose expression can be set by a script. See also
/// Property expression attribute.
/// </summary>
[JsonProperty("canSetExpression")]
public bool CanSetExpression { get; private set; }
/// <summary>
/// When true, the named property can vary over time—that is, keyframe values or expressions can be
/// written to this property.
/// </summary>
[JsonProperty("canVaryOverTime")]
public bool CanVaryOverTime { get; private set; }
/// <summary>
/// When true, the property’s dimensions are represented as separate properties. For example, if the
/// layer’s position is represented as X Position and Y Position properties in the Timeline panel, the
/// Position property has this attribute set to true.
/// </summary>
[JsonProperty("dimensionsSeparated")]
public bool DimensionsSeparated { get; set; }
/// <summary>
/// The expression for the named property. Writeable only when canSetExpression for the named property
/// is true. When you specify a value for this attribute, the string is evaluated.
/// </summary>
[JsonProperty("expression")]
public string Expression { get; set; }
/// <summary>
/// When true, the named property uses its associated expression to generate a value. When false, the
/// keyframe information or static value of the property is used. This attribute can be set to true only
/// if canSetExpression for the named property is true and expression contains a valid expression
/// string.
/// </summary>
[JsonProperty("expressionEnabled")]
public bool ExpressionEnabled { get; set; }
/// <summary>
/// Contains the error, if any, generated by evaluation of the string most recently set in expression.
/// If no expression string has been specified, or if the last expression string evaluated without
/// error, contains the empty string (&quot;&quot;).
/// </summary>
[JsonProperty("expressionError")]
public string ExpressionError { get; private set; }
/// <summary>
/// When true, there is a maximum permitted value for the named property; otherwise false.
/// </summary>
[JsonProperty("hasMax")]
public bool HasMax { get; private set; }
/// <summary>
/// When true, there is a minimum permitted value for the named property; otherwise false.
/// </summary>
[JsonProperty("hasMin")]
public bool HasMin { get; private set; }
/// <summary>
/// When true, the property represents one of the separated dimensions for a multidimensional
/// property. For example, the X Position property has this attribute set to true.
/// </summary>
[JsonProperty("isSeparationFollower")]
public bool IsSeparationFollower { get; private set; }
/// <summary>
/// When true, the property is multidimensional and can be separated. For example, the Position
/// property has this attribute set to true.
/// </summary>
[JsonProperty("isSeparationLeader")]
public bool IsSeparationLeader { get; private set; }
/// <summary>
/// When true, the named property defines a spatial value. Examples are position and effect point
/// controls.
/// </summary>
[JsonProperty("isSpatial")]
public bool IsSpatial { get; private set; }
/// <summary>
/// When true, the named property is time varying—that is, it has keyframes or an enabled expression.
/// When this attribute is true, the attribute canVaryOverTimemust also be true.
/// </summary>
[JsonProperty("isTimeVarying")]
public bool IsTimeVarying { get; private set; }
/// <summary>
/// The maximum permitted value of the named property. If the hasMax attribute is false, an exception
/// occurs, and an error is generated.
/// </summary>
[JsonProperty("maxValue")]
public float MaxValue { get; private set; }
/// <summary>
/// The minimum permitted value of the named property. If the hasMin attribute is false, an exception
/// occurs, and an error is generated.
/// </summary>
[JsonProperty("minValue")]
public float MinValue { get; private set; }
/// <summary>
/// The number of keyframes in the named property. If the value is 0, the property is not being
/// keyframed.
/// </summary>
[JsonProperty("numKeys")]
public int NumKeys { get; private set; }
/// <summary>
/// The type of value stored in the named property. The PropertyValueType enumeration has one value
/// for each type of data that can be stored in or retrieved from a property. Each type of data is stored
/// and retrieved in a different kind of structure. All property objects store data according to one of
/// these categories. For example, a 3D spatial property (such as a layer’s position) is stored as an
/// array of three floating point values. When setting a value for position, pass in such an array, as
/// follows: mylayer.property(&quot;position&quot;).setValue([10, 20, 0]);
/// </summary>
[JsonProperty("propertyValueType")]
public int PropertyValueType { get; set; }
/// <summary>
/// The indices of all the selected keyframes in the named property. If no keyframes are selected, or
/// if the property has no keyframes, returns an empty array.
/// </summary>
[JsonProperty("selectedKeys")]
public int[] SelectedKeys { get; private set; }
/// <summary>
/// For a separated follower, the dimension number it represents in the multidimensional leader. The
/// first dimension starts at 0. For example, the Y Position property has a separationDimension value of
/// 1; X Position has a value of 0.
/// </summary>
[JsonProperty("separationDimension")]
public int SeparationDimension { get; private set; }
/// <summary>
/// The original multidimensional property for this separated follower. For example, if the current
/// property is Y Position, this attribute’s value points to the Position property.
/// </summary>
[JsonProperty("separationLeader")]
public Property SeparationLeader { get; private set; }
/// <summary>
/// The text description of the units in which the value is expressed.
/// </summary>
[JsonProperty("unitsText")]
public string UnitsText { get; private set; }
/// <summary>
/// The value of the named property at the current time.
/// </summary>
[JsonProperty("value")]
public object Value { get; private set; }
public override string ToString()
{
return Name;
}
}
}