<!DOCTYPE html> <!--[if IE]><![endif]--> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Class LayoutBase | Flexalon 3D Layouts </title> <meta name="viewport" content="width=device-width"> <meta name="title" content="Class LayoutBase | 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.LayoutBase"> <h1 id="Flexalon_LayoutBase" data-uid="Flexalon.LayoutBase" class="text-break">Class LayoutBase </h1> <div class="markdown level0 summary"><p>Base class for all layout componets. See <a href="..\../docs/customLayout.html">custom layout</a> for details on how to extend this class. Assigns the Layout method to FlexalonNode and keeps the node's children up to date.</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"><span class="xref">LayoutBase</span></div> <div class="level7"><a class="xref" href="Flexalon.FlexalonAlignLayout.html">FlexalonAlignLayout</a></div> <div class="level7"><a class="xref" href="Flexalon.FlexalonCircleLayout.html">FlexalonCircleLayout</a></div> <div class="level7"><a class="xref" href="Flexalon.FlexalonCurveLayout.html">FlexalonCurveLayout</a></div> <div class="level7"><a class="xref" href="Flexalon.FlexalonFlexibleLayout.html">FlexalonFlexibleLayout</a></div> <div class="level7"><a class="xref" href="Flexalon.FlexalonGridLayout.html">FlexalonGridLayout</a></div> <div class="level7"><a class="xref" href="Flexalon.FlexalonRandomLayout.html">FlexalonRandomLayout</a></div> <div class="level7"><a class="xref" href="Flexalon.FlexalonShapeLayout.html">FlexalonShapeLayout</a></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.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_LayoutBase_syntax">Syntax</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">[DisallowMultipleComponent] [RequireComponent(typeof(FlexalonObject))] public abstract class LayoutBase : FlexalonComponent, Layout</code></pre> </div> <h3 id="methods">Methods </h3> <a id="Flexalon_LayoutBase_Arrange_" data-uid="Flexalon.LayoutBase.Arrange*"></a> <h4 id="Flexalon_LayoutBase_Arrange_Flexalon_FlexalonNode_UnityEngine_Vector3_" data-uid="Flexalon.LayoutBase.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 virtual 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> <a id="Flexalon_LayoutBase_DoOnDisable_" data-uid="Flexalon.LayoutBase.DoOnDisable*"></a> <h4 id="Flexalon_LayoutBase_DoOnDisable" data-uid="Flexalon.LayoutBase.DoOnDisable">DoOnDisable()</h4> <div class="markdown level1 summary"><p>Called when the component is disabled.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">protected override void DoOnDisable()</code></pre> </div> <h5 class="overrides">Overrides</h5> <div><a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_DoOnDisable">FlexalonComponent.DoOnDisable()</a></div> <a id="Flexalon_LayoutBase_DoOnEnable_" data-uid="Flexalon.LayoutBase.DoOnEnable*"></a> <h4 id="Flexalon_LayoutBase_DoOnEnable" data-uid="Flexalon.LayoutBase.DoOnEnable">DoOnEnable()</h4> <div class="markdown level1 summary"><p>Called when the component is enabled.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">protected override void DoOnEnable()</code></pre> </div> <h5 class="overrides">Overrides</h5> <div><a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_DoOnEnable">FlexalonComponent.DoOnEnable()</a></div> <a id="Flexalon_LayoutBase_Initialize_" data-uid="Flexalon.LayoutBase.Initialize*"></a> <h4 id="Flexalon_LayoutBase_Initialize" data-uid="Flexalon.LayoutBase.Initialize">Initialize()</h4> <div class="markdown level1 summary"></div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">protected override void Initialize()</code></pre> </div> <h5 class="overrides">Overrides</h5> <div><a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_Initialize">FlexalonComponent.Initialize()</a></div> <a id="Flexalon_LayoutBase_Measure_" data-uid="Flexalon.LayoutBase.Measure*"></a> <h4 id="Flexalon_LayoutBase_Measure_Flexalon_FlexalonNode_UnityEngine_Vector3_UnityEngine_Vector3_UnityEngine_Vector3_" data-uid="Flexalon.LayoutBase.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 virtual 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> <a id="Flexalon_LayoutBase_ResetProperties_" data-uid="Flexalon.LayoutBase.ResetProperties*"></a> <h4 id="Flexalon_LayoutBase_ResetProperties" data-uid="Flexalon.LayoutBase.ResetProperties">ResetProperties()</h4> <div class="markdown level1 summary"><p>Called when the component is destroyed to reset properties on the FlexalonNode.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">protected override void ResetProperties()</code></pre> </div> <h5 class="overrides">Overrides</h5> <div><a class="xref" href="Flexalon.FlexalonComponent.html#Flexalon_FlexalonComponent_ResetProperties">FlexalonComponent.ResetProperties()</a></div> <a id="Flexalon_LayoutBase_SetChildrenFillShrinkSize_" data-uid="Flexalon.LayoutBase.SetChildrenFillShrinkSize*"></a> <h4 id="Flexalon_LayoutBase_SetChildrenFillShrinkSize_Flexalon_FlexalonNode_UnityEngine_Vector3_UnityEngine_Vector3_" data-uid="Flexalon.LayoutBase.SetChildrenFillShrinkSize(Flexalon.FlexalonNode,UnityEngine.Vector3,UnityEngine.Vector3)">SetChildrenFillShrinkSize(FlexalonNode, Vector3, Vector3)</h4> <div class="markdown level1 summary"><p>Helper to assign the fill and shrink size for all children.</p> </div> <div class="markdown level1 conceptual"></div> <h5 class="decalaration">Declaration</h5> <div class="codewrapper"> <pre><code class="lang-csharp hljs">protected void SetChildrenFillShrinkSize(FlexalonNode node, Vector3 childSize, 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">childSize</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> <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>