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
-
objectFlexalonCircleLayout
- Implements
- Inherited Members
Properties
InitialRadius
Determines the initial radius of the circle.
public FlexalonCircleLayout.InitialRadiusOptions InitialRadius { get; set; }
Property Value
Plane
Determines on which plane to create the circle.
public Plane Plane { get; set; }
Property Value
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
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
Rotate
Determines how children should be rotated.
public FlexalonCircleLayout.RotateOptions Rotate { get; set; }
Property Value
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
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
nodeFlexalonNodelayoutSizeVector3
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
nodeFlexalonNodesizeVector3minVector3maxVector3
Returns
- Bounds
ShrinkFillChildrenToCircleHeight(FlexalonNode, float, int)
public void ShrinkFillChildrenToCircleHeight(FlexalonNode node, float height, int heightAxis)
Parameters
nodeFlexalonNodeheightfloatheightAxisint
ShrinkFillChildrenToDiameter(FlexalonNode, float, int, int, Vector3)
public void ShrinkFillChildrenToDiameter(FlexalonNode node, float spacing, int circleAxis1, int circleAxis2, Vector3 size)
Parameters
nodeFlexalonNodespacingfloatcircleAxis1intcircleAxis2intsizeVector3
ShrinkFillChildrenToSpiralHeight(FlexalonNode, float, int, float)
public void ShrinkFillChildrenToSpiralHeight(FlexalonNode node, float height, int heightAxis, float size)
Parameters
nodeFlexalonNodeheightfloatheightAxisintsizefloat
Upgrade(int)
protected override void Upgrade(int fromVersion)
Parameters
fromVersionint