Table of Contents

Class FlexalonCircleLayout

Namespace
Flexalon
Assembly
Flexalon.dll

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

public class FlexalonCircleLayout : LayoutBase, Layout
Inheritance
object
FlexalonCircleLayout
Implements
Inherited Members

Properties

InitialRadius

Determines the initial radius of the circle.

public FlexalonCircleLayout.InitialRadiusOptions InitialRadius { get; set; }

Property Value

FlexalonCircleLayout.InitialRadiusOptions

Plane

Determines on which plane to create the circle.

public Plane Plane { get; set; }

Property Value

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.

public Align PlaneAlign { get; set; }

Property Value

Align

Radius

Initial radius of the circle.

public float Radius { get; set; }

Property Value

float

RadiusStep

Determines how much the radius should change at each interval.

public float RadiusStep { get; set; }

Property Value

float

RadiusType

Determines if and how the radius changes.

public FlexalonCircleLayout.RadiusOptions RadiusType { get; set; }

Property Value

FlexalonCircleLayout.RadiusOptions

Rotate

Determines how children should be rotated.

public FlexalonCircleLayout.RotateOptions Rotate { get; set; }

Property Value

FlexalonCircleLayout.RotateOptions

SpacingDegrees

public float SpacingDegrees { get; set; }

Property Value

float

SpacingType

Determines how the space between children is distributed.

public FlexalonCircleLayout.SpacingOptions SpacingType { get; set; }

Property Value

FlexalonCircleLayout.SpacingOptions

Spiral

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

public bool Spiral { get; set; }

Property Value

bool

SpiralSpacing

Vertical spacing between objects in the spiral.

public float SpiralSpacing { get; set; }

Property Value

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.

public float StartAtDegrees { get; set; }

Property Value

float

Methods

Arrange(FlexalonNode, Vector3)

Position the children of node within the available bounds.

public override void Arrange(FlexalonNode node, Vector3 layoutSize)

Parameters

node FlexalonNode
layoutSize Vector3

Initialize()

protected override void Initialize()

Measure(FlexalonNode, Vector3, Vector3, Vector3)

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

public override Bounds Measure(FlexalonNode node, Vector3 size, Vector3 min, Vector3 max)

Parameters

node FlexalonNode
size Vector3
min Vector3
max Vector3

Returns

Bounds

ShrinkFillChildrenToCircleHeight(FlexalonNode, float, int)

public void ShrinkFillChildrenToCircleHeight(FlexalonNode node, float height, int heightAxis)

Parameters

node FlexalonNode
height float
heightAxis int

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

public void ShrinkFillChildrenToDiameter(FlexalonNode node, float spacing, int circleAxis1, int circleAxis2, Vector3 size)

Parameters

node FlexalonNode
spacing float
circleAxis1 int
circleAxis2 int
size Vector3

ShrinkFillChildrenToSpiralHeight(FlexalonNode, float, int, float)

public void ShrinkFillChildrenToSpiralHeight(FlexalonNode node, float height, int heightAxis, float size)

Parameters

node FlexalonNode
height float
heightAxis int
size float

Upgrade(int)

protected override void Upgrade(int fromVersion)

Parameters

fromVersion int