Search Results for

    Show / Hide Table of Contents

    Class FlexalonCurveLayout

    Use a curve layout to position children along a bézier curve.

    Inheritance
    object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    FlexalonComponent
    LayoutBase
    FlexalonCurveLayout
    Implements
    Layout
    Inherited Members
    LayoutBase.DoOnEnable()
    LayoutBase.DoOnDisable()
    LayoutBase.ResetProperties()
    LayoutBase.SetChildrenFillShrinkSize(FlexalonNode, Vector3, Vector3)
    FlexalonComponent._node
    FlexalonComponent.Node
    FlexalonComponent.MarkDirty()
    FlexalonComponent.ForceUpdate()
    FlexalonComponent.UpdateProperties()
    FlexalonComponent.DoUpdate()
    FlexalonComponent.Upgrade(int)
    Syntax
    [AddComponentMenu("Flexalon/Flexalon Curve Layout")]
    [HelpURL("https://www.flexalon.com/docs/curveLayout")]
    public class FlexalonCurveLayout : LayoutBase, Layout

    Fields

    EditorHovered

    Declaration
    public int EditorHovered
    Field Value
    Type Description
    int

    Properties

    AfterEnd

    Offsets all objects along the curve.

    Declaration
    public FlexalonCurveLayout.ExtendBehavior AfterEnd { get; set; }
    Property Value
    Type Description
    FlexalonCurveLayout.ExtendBehavior

    BeforeStart

    Offsets all objects along the curve.

    Declaration
    public FlexalonCurveLayout.ExtendBehavior BeforeStart { get; set; }
    Property Value
    Type Description
    FlexalonCurveLayout.ExtendBehavior

    CurveLength

    The length of the curve.

    Declaration
    public float CurveLength { get; }
    Property Value
    Type Description
    float

    CurvePositions

    Points along the curve used to position objects and can be used for visualization.

    Declaration
    public IReadOnlyList<Vector3> CurvePositions { get; }
    Property Value
    Type Description
    System.Collections.Generic.IReadOnlyList<T><UnityEngine.Vector3>

    LockPositions

    Prevents the position handles from appearing in the editor.

    Declaration
    public bool LockPositions { get; set; }
    Property Value
    Type Description
    bool

    LockTangents

    Prevents the tangent handles from appearing in the editor.

    Declaration
    public bool LockTangents { get; set; }
    Property Value
    Type Description
    bool

    Points

    The points that define the curve.

    Declaration
    public IReadOnlyList<FlexalonCurveLayout.CurvePoint> Points { get; }
    Property Value
    Type Description
    System.Collections.Generic.IReadOnlyList<T><FlexalonCurveLayout.CurvePoint>

    Rotation

    Determines how children should be rotated

    Declaration
    public FlexalonCurveLayout.RotationOptions Rotation { get; set; }
    Property Value
    Type Description
    FlexalonCurveLayout.RotationOptions

    Spacing

    Determines the fixed distance between children.

    Declaration
    public float Spacing { get; set; }
    Property Value
    Type Description
    float

    SpacingType

    Determines how the children will be spaced along the curve.

    Declaration
    public FlexalonCurveLayout.SpacingOptions SpacingType { get; set; }
    Property Value
    Type Description
    FlexalonCurveLayout.SpacingOptions

    StartAt

    Offsets all objects along the curve.

    Declaration
    public float StartAt { get; set; }
    Property Value
    Type Description
    float

    Methods

    AddPoint(CurvePoint)

    Adds a new point to the end of the curve.

    Declaration
    public void AddPoint(FlexalonCurveLayout.CurvePoint point)
    Parameters
    Type Name Description
    FlexalonCurveLayout.CurvePoint point

    The point to add.

    AddPoint(Vector3, Vector3)

    Adds a new point to the end of the curve.

    Declaration
    public void AddPoint(Vector3 position, Vector3 tangent)
    Parameters
    Type Name Description
    UnityEngine.Vector3 position

    The position of the point.

    UnityEngine.Vector3 tangent

    The tangent of the point.

    Arrange(FlexalonNode, Vector3)

    Position the children of node within the available bounds.

    Declaration
    public override void Arrange(FlexalonNode node, Vector3 layoutSize)
    Parameters
    Type Name Description
    FlexalonNode node
    UnityEngine.Vector3 layoutSize
    Overrides
    LayoutBase.Arrange(FlexalonNode, Vector3)

    Initialize()

    Declaration
    protected override void Initialize()
    Overrides
    LayoutBase.Initialize()

    InsertPoint(int, CurvePoint)

    Inserts a new point into the curve at the specified index.

    Declaration
    public void InsertPoint(int index, FlexalonCurveLayout.CurvePoint point)
    Parameters
    Type Name Description
    int index

    The index to insert the point at.

    FlexalonCurveLayout.CurvePoint point

    The point to insert.

    InsertPoint(int, Vector3, Vector3)

    Inserts a new point into the curve at the specified index.

    Declaration
    public void InsertPoint(int index, Vector3 position, Vector3 tangent)
    Parameters
    Type Name Description
    int index

    The index to insert the point at.

    UnityEngine.Vector3 position

    The position of the point.

    UnityEngine.Vector3 tangent

    The tangent of the point.

    Measure(FlexalonNode, Vector3, Vector3, Vector3)

    Perform minimal work to determine what the size of node and available size for node's children.

    Declaration
    public override Bounds Measure(FlexalonNode node, Vector3 size, Vector3 min, Vector3 max)
    Parameters
    Type Name Description
    FlexalonNode node
    UnityEngine.Vector3 size
    UnityEngine.Vector3 min
    UnityEngine.Vector3 max
    Returns
    Type Description
    UnityEngine.Bounds
    Overrides
    LayoutBase.Measure(FlexalonNode, Vector3, Vector3, Vector3)

    RemovePoint(int)

    Removes the point at the index.

    Declaration
    public void RemovePoint(int index)
    Parameters
    Type Name Description
    int index

    The index of the point to remove.

    ReplacePoint(int, CurvePoint)

    Replaces the point at the index with a new point.

    Declaration
    public void ReplacePoint(int index, FlexalonCurveLayout.CurvePoint point)
    Parameters
    Type Name Description
    int index

    The index of the point to replace.

    FlexalonCurveLayout.CurvePoint point

    The new point.

    ReplacePoint(int, Vector3, Vector3)

    Replaces the point at the index with a new point.

    Declaration
    public void ReplacePoint(int index, Vector3 position, Vector3 tangent)
    Parameters
    Type Name Description
    int index

    The index of the point to replace.

    UnityEngine.Vector3 position

    The position of the point.

    UnityEngine.Vector3 tangent

    The tangent of the point.

    SetPoints(List<CurvePoint>)

    Replaces all points of the curve.

    Declaration
    public void SetPoints(List<FlexalonCurveLayout.CurvePoint> points)
    Parameters
    Type Name Description
    System.Collections.Generic.List<T><FlexalonCurveLayout.CurvePoint> points

    The new points.

    Implements

    Layout
    In This Article
    Back to top Flexalon 3D Layouts