Class FlexalonCurveLayout
Use a curve layout to position children along a bézier curve.
Inheritance
Implements
Inherited Members
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
Initialize()
Declaration
protected override void Initialize()
Overrides
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
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. |