Class FlexalonCircleLayout
  Use a circle layout to position children along a circle or spiral.
    Inheritance
    object
    UnityEngine.Object
    UnityEngine.Component
    UnityEngine.Behaviour
    UnityEngine.MonoBehaviour
    
    
    FlexalonCircleLayout
   
  
  
  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
  
  
  Plane
  Determines on which plane to create the circle.
Declaration
  
    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.
Declaration
  
    public Align PlaneAlign { get; set; }
   
  Property Value
  
  
  Radius
  Initial radius of the circle.
Declaration
  
    public float Radius { get; set; }
   
  Property Value
  
  
  RadiusStep
  Determines how much the radius should change at each interval.
Declaration
  
    public float RadiusStep { get; set; }
   
  Property Value
  
  
  RadiusType
  Determines if and how the radius changes.
Declaration
  
    public FlexalonCircleLayout.RadiusOptions RadiusType { get; set; }
   
  Property Value
  
  
  Rotate
  Determines how children should be rotated.
Declaration
  
    public FlexalonCircleLayout.RotateOptions Rotate { get; set; }
   
  Property Value
  
  
  SpacingDegrees
  
  
  Declaration
  
    public float SpacingDegrees { get; set; }
   
  Property Value
  
  
  SpacingType
  Determines how the space between children is distributed.
Declaration
  
    public FlexalonCircleLayout.SpacingOptions SpacingType { get; set; }
   
  Property Value
  
  
  Spiral
  If checked, positions each object at increasing heights to form a spiral.
Declaration
  
    public bool Spiral { get; set; }
   
  Property Value
  
  
  SpiralSpacing
  Vertical spacing between objects in the spiral.
Declaration
  
    public float SpiralSpacing { get; set; }
   
  Property Value
  
  
  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
  
  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
  
  
  Initialize()
  
  
  Declaration
  
    protected override void Initialize()
   
  Overrides
  
  
  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
  
  
  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
  
  Implements