<!DOCTYPE html> <!--[if IE]><![endif]--> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Class FlexalonShapeLayout | Flexalon 3D Layouts </title> <meta name="viewport" content="width=device-width"> <meta name="title" content="Class FlexalonShapeLayout | Flexalon 3D Layouts "> <meta name="generator" content="docfx "> <link rel="shortcut icon" href="images/favicon.svg"> <link rel="stylesheet" href="styles/docfx.vendor.css"> <link rel="stylesheet" href="styles/docfx.css"> <link rel="stylesheet" href="styles/main.css"> <meta property="docfx:navrel" content="tochead.html"> <meta property="docfx:tocrel" content="toc.html"> <meta property="docfx:rel" content=""> </head> <body data-spy="scroll" data-target="#affix" data-offset="120"> <div id="wrapper"> <header> <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="https://www.flexalon.com/"> <img id="logo" class="svg" src="images/logo_32x32.png" alt=""> </a> </div> <div class="collapse navbar-collapse" id="navbar"> <form class="navbar-form navbar-right" role="search" id="search"> <div class="form-group"> <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off"> </div> </form> </div> </div> </nav> <div class="subnav navbar navbar-default"> <div class="container hide-when-search" id="breadcrumb"> <ul class="breadcrumb"> <li></li> </ul> </div> </div> </header> <div class="container body-content"> <div id="search-results"> <div class="search-list">Search Results for <span></span></div> <div class="sr-items"> <p><i class="glyphicon glyphicon-refresh index-loading"></i></p> </div> <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></ul> </div> </div> <div role="main" class="container body-content hide-when-search"> <div class="sidenav hide-when-search"> <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a> <div class="sidetoggle collapse" id="sidetoggle"> <div id="sidetoc"></div> </div> </div> <div class="article row grid-right"> <div class="col-md-10"> <article class="content wrap" id="_content" data-uid="Flexalon.FlexalonShapeLayout"> <h1 id="Flexalon_FlexalonShapeLayout" data-uid="Flexalon.FlexalonShapeLayout" class="text-break">Class FlexalonShapeLayout </h1> <div class="markdown level0 summary"><p>Use a shape layout to position children in a shape formation with a specified number of sides. The first child is placed in the center, and subsequent children are placed in concentric layers around the center, with each layer forming the desired shape.</p> </div> <div class="markdown level0 conceptual"></div> <div class="inheritance"> <h5>Inheritance</h5> <div class="level0"><span class="xref">object</span></div> <div class="level1"><span class="xref">UnityEngine.Object</span></div> <div class="level2"><span class="xref">UnityEngine.Component</span></div> <div class="level3"><span class="xref">UnityEngine.Behaviour</span></div> <div class="level4"><span class="xref">UnityEngine.MonoBehaviour</span></div> <div class="level5"><a class="xref" href="Flexalon.FlexalonComponent.html">FlexalonComponent</a></div> <div class="level6"><a class="xref" href="Flexalon.LayoutBase.html">LayoutBase</a></div> <div class="level7"><span class="xref">FlexalonShapeLayout</span></div> </div> <div class="implements"> <h5>Implements</h5> <div><a class="xref" href="Flexalon.Layout.html">Layout</a></div> </div> <div class="inheritedMembers"> <h5>Inherited Members</h5> <div> <a class="xref" href="Flexalon.LayoutBase.html#Flexalon_LayoutBase_DoOnEnable">LayoutBase.DoOnEnable()</a> </div> <div> <a class="xref" href="Flexalon.LayoutBase.html#Flexalon_LayoutBase_DoOnDisable">LayoutBase.DoOnDisable()</a> </div> <div> <a class="xref" href="Flexalon.LayoutBase.html#Flexalon_LayoutBase_ResetProperties">LayoutBase.ResetProperties()</a> </div> <div> <a class="xref" href="Flexalon.LayoutBase.html#Flexalon_LayoutBase_Initialize">LayoutBase.Initialize()</a> </div> <div> <a class="xref" href="Flexalon.LayoutBase.html#Flexalon_LayoutBase_SetChildrenFillShrinkSize_Flexalon_FlexalonNode_UnityEngine_Vector3_UnityEngine_Vector3_">LayoutBase.SetChildrenFillShrinkSize(FlexalonNode, Vector3, Vector3)</a> </div> <div> <a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent__node">FlexalonComponent._node</a> </div> <div> <a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_Node">FlexalonComponent.Node</a> </div> <div> <a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_MarkDirty">FlexalonComponent.MarkDirty()</a> </div> <div> <a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_ForceUpdate">FlexalonComponent.ForceUpdate()</a> </div> <div> <a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_UpdateProperties">FlexalonComponent.UpdateProperties()</a> </div> <div> <a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_DoUpdate">FlexalonComponent.DoUpdate()</a> </div> <div> <a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_Upgrade_System_Int32_">FlexalonComponent.Upgrade(int)</a> </div> </div> <h5 id="Flexalon_FlexalonShapeLayout_syntax">Syntax</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">[AddComponentMenu("Flexalon/Flexalon Shape Layout")] [HelpURL("https://www.flexalon.com/docs/shapeLayout")] public class FlexalonShapeLayout : LayoutBase, Layout</code></pre> </div> <h3 id="properties">Properties </h3> <a id="Flexalon_FlexalonShapeLayout_Plane_" data-uid="Flexalon.FlexalonShapeLayout.Plane*"></a> <h4 id="Flexalon_FlexalonShapeLayout_Plane" data-uid="Flexalon.FlexalonShapeLayout.Plane">Plane</h4> <div class="markdown level1 summary"><p>Determines on which plane to create the shape.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public Plane Plane { get; set; }</code></pre> </div> <h5 class="propertyValue">Property Value</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a class="xref" href="Flexalon.Plane.html">Plane</a></td> <td></td> </tr> </tbody> </table> <a id="Flexalon_FlexalonShapeLayout_PlaneAlign_" data-uid="Flexalon.FlexalonShapeLayout.PlaneAlign*"></a> <h4 id="Flexalon_FlexalonShapeLayout_PlaneAlign" data-uid="Flexalon.FlexalonShapeLayout.PlaneAlign">PlaneAlign</h4> <div class="markdown level1 summary"><p>Determines how each child aligns within the size of the parent along the axis perpendicular to the Plane</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public Align PlaneAlign { get; set; }</code></pre> </div> <h5 class="propertyValue">Property Value</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a class="xref" href="Flexalon.Align.html">Align</a></td> <td></td> </tr> </tbody> </table> <a id="Flexalon_FlexalonShapeLayout_ShapeRotationDegrees_" data-uid="Flexalon.FlexalonShapeLayout.ShapeRotationDegrees*"></a> <h4 id="Flexalon_FlexalonShapeLayout_ShapeRotationDegrees" data-uid="Flexalon.FlexalonShapeLayout.ShapeRotationDegrees">ShapeRotationDegrees</h4> <div class="markdown level1 summary"><p>Rotates the shape around the specified Plane without rotating the children.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public float ShapeRotationDegrees { get; set; }</code></pre> </div> <h5 class="propertyValue">Property Value</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><span class="xref">float</span></td> <td></td> </tr> </tbody> </table> <a id="Flexalon_FlexalonShapeLayout_Sides_" data-uid="Flexalon.FlexalonShapeLayout.Sides*"></a> <h4 id="Flexalon_FlexalonShapeLayout_Sides" data-uid="Flexalon.FlexalonShapeLayout.Sides">Sides</h4> <div class="markdown level1 summary"><p>Determines how many sides the shape should have.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public int Sides { get; set; }</code></pre> </div> <h5 class="propertyValue">Property Value</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><span class="xref">int</span></td> <td></td> </tr> </tbody> </table> <a id="Flexalon_FlexalonShapeLayout_Spacing_" data-uid="Flexalon.FlexalonShapeLayout.Spacing*"></a> <h4 id="Flexalon_FlexalonShapeLayout_Spacing" data-uid="Flexalon.FlexalonShapeLayout.Spacing">Spacing</h4> <div class="markdown level1 summary"><p>Determines the space between each layer of the shape.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public float Spacing { get; set; }</code></pre> </div> <h5 class="propertyValue">Property Value</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><span class="xref">float</span></td> <td></td> </tr> </tbody> </table> <h3 id="methods">Methods </h3> <a id="Flexalon_FlexalonShapeLayout_Arrange_" data-uid="Flexalon.FlexalonShapeLayout.Arrange*"></a> <h4 id="Flexalon_FlexalonShapeLayout_Arrange_Flexalon_FlexalonNode_UnityEngine_Vector3_" data-uid="Flexalon.FlexalonShapeLayout.Arrange(Flexalon.FlexalonNode,UnityEngine.Vector3)">Arrange(FlexalonNode, Vector3)</h4> <div class="markdown level1 summary"><p>Position the children of node within the available bounds.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public override void Arrange(FlexalonNode node, Vector3 layoutSize)</code></pre> </div> <h5 class="parameters">Parameters</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a class="xref" href="Flexalon.FlexalonNode.html">FlexalonNode</a></td> <td><span class="parametername">node</span></td> <td></td> </tr> <tr> <td><span class="xref">UnityEngine.Vector3</span></td> <td><span class="parametername">layoutSize</span></td> <td></td> </tr> </tbody> </table> <h5 class="overrides">Overrides</h5> <div><a class="xref" href="Flexalon.LayoutBase.html#Flexalon_LayoutBase_Arrange_Flexalon_FlexalonNode_UnityEngine_Vector3_">LayoutBase.Arrange(FlexalonNode, Vector3)</a></div> <a id="Flexalon_FlexalonShapeLayout_Measure_" data-uid="Flexalon.FlexalonShapeLayout.Measure*"></a> <h4 id="Flexalon_FlexalonShapeLayout_Measure_Flexalon_FlexalonNode_UnityEngine_Vector3_UnityEngine_Vector3_UnityEngine_Vector3_" data-uid="Flexalon.FlexalonShapeLayout.Measure(Flexalon.FlexalonNode,UnityEngine.Vector3,UnityEngine.Vector3,UnityEngine.Vector3)">Measure(FlexalonNode, Vector3, Vector3, Vector3)</h4> <div class="markdown level1 summary"><p>Perform minimal work to determine what the size of node and available size for node's children.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">public override Bounds Measure(FlexalonNode node, Vector3 size, Vector3 min, Vector3 max)</code></pre> </div> <h5 class="parameters">Parameters</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Name</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a class="xref" href="Flexalon.FlexalonNode.html">FlexalonNode</a></td> <td><span class="parametername">node</span></td> <td></td> </tr> <tr> <td><span class="xref">UnityEngine.Vector3</span></td> <td><span class="parametername">size</span></td> <td></td> </tr> <tr> <td><span class="xref">UnityEngine.Vector3</span></td> <td><span class="parametername">min</span></td> <td></td> </tr> <tr> <td><span class="xref">UnityEngine.Vector3</span></td> <td><span class="parametername">max</span></td> <td></td> </tr> </tbody> </table> <h5 class="returns">Returns</h5> <table class="table table-bordered table-striped table-condensed"> <thead> <tr> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><span class="xref">UnityEngine.Bounds</span></td> <td></td> </tr> </tbody> </table> <h5 class="overrides">Overrides</h5> <div><a class="xref" href="Flexalon.LayoutBase.html#Flexalon_LayoutBase_Measure_Flexalon_FlexalonNode_UnityEngine_Vector3_UnityEngine_Vector3_UnityEngine_Vector3_">LayoutBase.Measure(FlexalonNode, Vector3, Vector3, Vector3)</a></div> <h3 id="implements">Implements</h3> <div> <a class="xref" href="Flexalon.Layout.html">Layout</a> </div> </article> </div> <div class="hidden-sm col-md-2" role="complementary"> <div class="sideaffix"> <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix"> <h5>In This Article</h5> <div></div> </nav> </div> </div> </div> </div> <footer> <div class="grad-bottom"></div> <div class="footer"> <div class="container"> <span class="pull-right"> <a href="#top">Back to top</a> </span> Flexalon 3D Layouts </div> </div> </footer> </div> </body> </html>