Search Results for

    Show / Hide Table of Contents

    Class FlexalonCircleLayout

    Use a circle layout to position children along a circle or spiral.

    Inheritance
    object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    FlexalonComponent
    LayoutBase
    FlexalonCircleLayout
    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()
    Syntax
    [AddComponentMenu("Flexalon/Flexalon Circle Layout")]
    [HelpURL("https://www.flexalon.com/docs/circleLayout")]
    public class FlexalonCircleLayout : LayoutBase, Layout

    Properties

    InitialRadius

    Determines the initial radius of the circle.

    Declaration
    public FlexalonCircleLayout.InitialRadiusOptions InitialRadius { get; set; }
    Property Value
    Type Description
    FlexalonCircleLayout.InitialRadiusOptions

    Plane

    Determines on which plane to create the circle.

    Declaration
    public Plane Plane { get; set; }
    Property Value
    Type Description
    Plane

    PlaneAlign

    Aligns the layout with the size set by the Flexalon Object Component. For a circle, this will align each individual object in the layout. For a spiral, this will align the entire spiral.

    Declaration
    public Align PlaneAlign { get; set; }
    Property Value
    Type Description
    Align

    Radius

    Initial radius of the circle.

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

    RadiusStep

    Determines how much the radius should change at each interval.

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

    RadiusType

    Determines if and how the radius changes.

    Declaration
    public FlexalonCircleLayout.RadiusOptions RadiusType { get; set; }
    Property Value
    Type Description
    FlexalonCircleLayout.RadiusOptions

    Rotate

    Determines how children should be rotated.

    Declaration
    public FlexalonCircleLayout.RotateOptions Rotate { get; set; }
    Property Value
    Type Description
    FlexalonCircleLayout.RotateOptions

    SpacingDegrees

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

    SpacingType

    Determines how the space between children is distributed.

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

    Spiral

    If checked, positions each object at increasing heights to form a spiral.

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

    SpiralSpacing

    Vertical spacing between objects in the spiral.

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

    StartAtDegrees

    By default, the first child will be placed at (radius, 0, 0). Start At Degrees value will add an offset all children around the circle.

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

    Methods

    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()

    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)

    ShrinkFillChildrenToCircleHeight(FlexalonNode, float, int)

    Declaration
    public void ShrinkFillChildrenToCircleHeight(FlexalonNode node, float height, int heightAxis)
    Parameters
    Type Name Description
    FlexalonNode node
    float height
    int heightAxis

    ShrinkFillChildrenToDiameter(FlexalonNode, float, int, int, Vector3)

    Declaration
    public void ShrinkFillChildrenToDiameter(FlexalonNode node, float spacing, int circleAxis1, int circleAxis2, Vector3 size)
    Parameters
    Type Name Description
    FlexalonNode node
    float spacing
    int circleAxis1
    int circleAxis2
    UnityEngine.Vector3 size

    ShrinkFillChildrenToSpiralHeight(FlexalonNode, float, int, float)

    Declaration
    public void ShrinkFillChildrenToSpiralHeight(FlexalonNode node, float height, int heightAxis, float size)
    Parameters
    Type Name Description
    FlexalonNode node
    float height
    int heightAxis
    float size

    Upgrade(int)

    Declaration
    protected override void Upgrade(int fromVersion)
    Parameters
    Type Name Description
    int fromVersion
    Overrides
    FlexalonComponent.Upgrade(int)

    Implements

    Layout
    In This Article
    Back to top Flexalon 3D Layouts