UNPKG

starling-framework

Version:

A fast, productive library for 2D cross-platform development.

833 lines 71.1 kB
<!doctype html> <html class="default no-js"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>IndexData | starling-framework</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="../assets/css/main.css"> </head> <body> <header> <div class="tsd-page-toolbar"> <div class="container"> <div class="table-wrap"> <div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base=".."> <div class="field"> <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label> <input id="tsd-search-field" type="text" /> </div> <ul class="results"> <li class="state loading">Preparing search index...</li> <li class="state failure">The search index is not available</li> </ul> <a href="../index.html" class="title">starling-framework</a> </div> <div class="table-cell" id="tsd-widgets"> <div id="tsd-filter"> <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a> <div class="tsd-filter-group"> <div class="tsd-select" id="tsd-filter-visibility"> <span class="tsd-select-label">All</span> <ul class="tsd-select-list"> <li data-value="public">Public</li> <li data-value="protected">Public/Protected</li> <li data-value="private" class="selected">All</li> </ul> </div> <input type="checkbox" id="tsd-filter-inherited" checked /> <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label> <input type="checkbox" id="tsd-filter-externals" checked /> <label class="tsd-widget" for="tsd-filter-externals">Externals</label> <input type="checkbox" id="tsd-filter-only-exported" /> <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label> </div> </div> <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a> </div> </div> </div> </div> <div class="tsd-page-title"> <div class="container"> <ul class="tsd-breadcrumb"> <li> <a href="../index.html">starling</a> </li> <li> <a href="../modules/starling.rendering.html">rendering</a> </li> <li> <a href="starling.rendering.indexdata.html">IndexData</a> </li> </ul> <h1>Class IndexData</h1> </div> </div> </header> <div class="container container-main"> <div class="row"> <div class="col-8 col-content"> <section class="tsd-panel tsd-comment"> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The IndexData class manages a raw list of vertex indices, allowing direct upload to Stage3D index buffers. <em>You only have to work with this class if you&#39;re writing your own rendering code (e.g. if you create custom display objects).</em></p> </div> <p>To render objects with Stage3D, you have to organize vertices and indices in so-called vertex- and index-buffers. Vertex buffers store the coordinates of the vertices that make up an object; index buffers reference those vertices to determine which vertices spawn up triangles. Those buffers reside in graphics memory and can be accessed very efficiently by the GPU.</p> <p>Before you can move data into the buffers, you have to set it up in conventional memory — that is, in a Vector or a ByteArray. Since it&#39;s quite cumbersome to manually create and manipulate those data structures, the IndexData and VertexData classes provide a simple way to do just that. The data is stored in a ByteArray (one index or vertex after the other) that can easily be uploaded to a buffer.</p> <p> <strong>Basic Quad Layout</strong></p> <p>In many cases, the indices we are working with will reference just quads, i.e. triangles composing rectangles. That means that many IndexData instances will contain similar or identical data — a great opportunity for optimization!</p> <p>If an IndexData instance follows a specific layout, it will be recognized automatically and many operations can be executed much faster. In Starling, that layout is called &quot;basic quad layout&quot;. In order to recognize this specific sequence, the indices of each quad have to use the following order:</p> <pre>n, n+1, n+2, n+1, n+3, n+2</pre> <p>The subsequent quad has to use <code>n+4</code> as starting value, the next one <code>n+8</code>, etc. Here is an example with 3 quads / 6 triangles:</p> <pre>0, 1, 2, 1, 3, 2, 4, 5, 6, 5, 7, 6, 8, 9, 10, 9, 11, 10</pre> <p>If you are describing quad-like meshes, make sure to always use this layout.</p> <p> @see VertexData</p> </div> </section> <section class="tsd-panel tsd-hierarchy"> <h3>Hierarchy</h3> <ul class="tsd-hierarchy"> <li> <span class="target">IndexData</span> </li> </ul> </section> <section class="tsd-panel-group tsd-index-group"> <h2>Index</h2> <section class="tsd-panel tsd-index-panel"> <div class="tsd-index-content"> <section class="tsd-index-section tsd-is-external"> <h3>Constructors</h3> <ul class="tsd-index-list"> <li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#constructor" class="tsd-kind-icon">constructor</a></li> </ul> </section> <section class="tsd-index-section tsd-is-external"> <h3>Properties</h3> <ul class="tsd-index-list"> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#indexsizeinbytes" class="tsd-kind-icon">index<wbr>Size<wbr>InBytes</a></li> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#numindices" class="tsd-kind-icon">num<wbr>Indices</a></li> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#numquads" class="tsd-kind-icon">num<wbr>Quads</a></li> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#numtriangles" class="tsd-kind-icon">num<wbr>Triangles</a></li> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#rawdata" class="tsd-kind-icon">raw<wbr>Data</a></li> <li class="tsd-kind-property tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#usequadlayout" class="tsd-kind-icon">use<wbr>Quad<wbr>Layout</a></li> </ul> </section> <section class="tsd-index-section tsd-is-external"> <h3>Methods</h3> <ul class="tsd-index-list"> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#addquad" class="tsd-kind-icon">add<wbr>Quad</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#addtriangle" class="tsd-kind-icon">add<wbr>Triangle</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#clear" class="tsd-kind-icon">clear</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#clone" class="tsd-kind-icon">clone</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#copyto" class="tsd-kind-icon">copy<wbr>To</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#createindexbuffer" class="tsd-kind-icon">create<wbr>Index<wbr>Buffer</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#getindex" class="tsd-kind-icon">get<wbr>Index</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#get_indexsizeinbytes" class="tsd-kind-icon">get_<wbr>index<wbr>Size<wbr>InBytes</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#get_numindices" class="tsd-kind-icon">get_<wbr>num<wbr>Indices</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#get_numquads" class="tsd-kind-icon">get_<wbr>num<wbr>Quads</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#get_numtriangles" class="tsd-kind-icon">get_<wbr>num<wbr>Triangles</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#get_rawdata" class="tsd-kind-icon">get_<wbr>raw<wbr>Data</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#get_usequadlayout" class="tsd-kind-icon">get_<wbr>use<wbr>Quad<wbr>Layout</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#offsetindices" class="tsd-kind-icon">offset<wbr>Indices</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#setindex" class="tsd-kind-icon">set<wbr>Index</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#set_numindices" class="tsd-kind-icon">set_<wbr>num<wbr>Indices</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#set_numquads" class="tsd-kind-icon">set_<wbr>num<wbr>Quads</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#set_numtriangles" class="tsd-kind-icon">set_<wbr>num<wbr>Triangles</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"><a href="starling.rendering.indexdata.html#set_usequadlayout" class="tsd-kind-icon">set_<wbr>use<wbr>Quad<wbr>Layout</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#tostring" class="tsd-kind-icon">to<wbr>String</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#tovector" class="tsd-kind-icon">to<wbr>Vector</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#trim" class="tsd-kind-icon">trim</a></li> <li class="tsd-kind-method tsd-parent-kind-class tsd-is-external"><a href="starling.rendering.indexdata.html#uploadtoindexbuffer" class="tsd-kind-icon">upload<wbr>ToIndex<wbr>Buffer</a></li> </ul> </section> </div> </section> </section> <section class="tsd-panel-group tsd-member-group tsd-is-external"> <h2>Constructors</h2> <section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class tsd-is-external"> <a name="constructor" class="tsd-anchor"></a> <h3>constructor</h3> <ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">new <wbr>Index<wbr>Data<span class="tsd-signature-symbol">(</span>initialCapacity<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="starling.rendering.indexdata.html" class="tsd-signature-type">IndexData</a></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L52">lib/starling/rendering/IndexData.d.ts:52</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Creates an empty IndexData instance with the given capacity (in indices).</p> </div> <p> @param initialCapacity</p> <p> The initial capacity affects just the way the internal ByteArray is allocated, not the <code>numIndices</code> value, which will always be zero when the constructor returns. The reason for this behavior is the peculiar way in which ByteArrays organize their memory:</p> <p>The first time you set the length of a ByteArray, it will adhere to that: a ByteArray with length 20 will take up 20 bytes (plus some overhead). When you change it to a smaller length, it will stick to the original value, e.g. with a length of 10 it will still take up 20 bytes. However, now comes the weird part: change it to anything above the original length, and it will allocate 4096 bytes!</p> <p>Thus, be sure to always make a generous educated guess, depending on the planned usage of your IndexData instances.</p> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> initialCapacity: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <a href="starling.rendering.indexdata.html" class="tsd-signature-type">IndexData</a></h4> </li> </ul> </section> </section> <section class="tsd-panel-group tsd-member-group tsd-is-external"> <h2>Properties</h2> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external"> <a name="indexsizeinbytes" class="tsd-anchor"></a> <h3>index<wbr>Size<wbr>InBytes</h3> <div class="tsd-signature tsd-kind-icon">index<wbr>Size<wbr>InBytes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L166">lib/starling/rendering/IndexData.d.ts:166</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The number of bytes required for each index value.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external"> <a name="numindices" class="tsd-anchor"></a> <h3>num<wbr>Indices</h3> <div class="tsd-signature tsd-kind-icon">num<wbr>Indices<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L149">lib/starling/rendering/IndexData.d.ts:149</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The total number of indices.</p> </div> <p>If this instance contains only standardized, basic quad indices, resizing will automatically fill up with appropriate quad indices. Otherwise, it will fill up with zeroes.</p> <p>If you set the number of indices to zero, quad layout will be restored.</p> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external"> <a name="numquads" class="tsd-anchor"></a> <h3>num<wbr>Quads</h3> <div class="tsd-signature tsd-kind-icon">num<wbr>Quads<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L161">lib/starling/rendering/IndexData.d.ts:161</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The number of quads that can be spawned up with the contained indices. (In other words: the number of triangles divided by two.)</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external"> <a name="numtriangles" class="tsd-anchor"></a> <h3>num<wbr>Triangles</h3> <div class="tsd-signature tsd-kind-icon">num<wbr>Triangles<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L155">lib/starling/rendering/IndexData.d.ts:155</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The number of triangles that can be spawned up with the contained indices. (In other words: the number of indices divided by three.)</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external"> <a name="rawdata" class="tsd-anchor"></a> <h3>raw<wbr>Data</h3> <div class="tsd-signature tsd-kind-icon">raw<wbr>Data<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ByteArray</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L190">lib/starling/rendering/IndexData.d.ts:190</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>The raw index data; not a copy! Beware: the referenced ByteArray may change any time. Never store a reference to it, and never modify its contents manually.</p> </div> </div> </section> <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-external"> <a name="usequadlayout" class="tsd-anchor"></a> <h3>use<wbr>Quad<wbr>Layout</h3> <div class="tsd-signature tsd-kind-icon">use<wbr>Quad<wbr>Layout<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L184">lib/starling/rendering/IndexData.d.ts:184</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Indicates if all indices are following the basic quad layout.</p> </div> <p>This property is automatically updated if an index is set to a value that violates basic quad layout. Once the layout was violated, the instance will always stay that way, even if you fix that violating value later. Only calling <code>clear</code> or manually enabling the property will restore quad layout.</p> <p>If you enable this property on an instance, all indices will immediately be replaced with indices following standard quad layout.</p> <p>Please look at the class documentation for more information about that kind of layout, and why it is important.</p> <p> @default true</p> </div> </section> </section> <section class="tsd-panel-group tsd-member-group tsd-is-external"> <h2>Methods</h2> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="addquad" class="tsd-anchor"></a> <h3>add<wbr>Quad</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">add<wbr>Quad<span class="tsd-signature-symbol">(</span>a<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, b<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, c<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, d<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L115">lib/starling/rendering/IndexData.d.ts:115</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Appends two triangles spawning up the quad with the given indices. The indices of the vertices are arranged like this:</p> </div> <pre> a - b | / | c - d </pre> <p>To make sure the indices will follow the basic quad layout, make sure each parameter increments the one before it (e.g. <code>0, 1, 2, 3</code>).</p> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>a: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>b: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>c: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>d: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="addtriangle" class="tsd-anchor"></a> <h3>add<wbr>Triangle</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">add<wbr>Triangle<span class="tsd-signature-symbol">(</span>a<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, b<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, c<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L101">lib/starling/rendering/IndexData.d.ts:101</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Appends three indices representing a triangle. Reference the vertices clockwise, as this defines the front side of the triangle.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>a: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>b: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>c: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="clear" class="tsd-anchor"></a> <h3>clear</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">clear<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L75">lib/starling/rendering/IndexData.d.ts:75</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Explicitly frees up the memory used by the ByteArray, thus removing all indices. Quad layout will be restored (until adding data violating that layout).</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="clone" class="tsd-anchor"></a> <h3>clone</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">clone<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="starling.rendering.indexdata.html" class="tsd-signature-type">IndexData</a></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L78">lib/starling/rendering/IndexData.d.ts:78</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Creates a duplicate of the IndexData object.</p> </div> </div> <h4 class="tsd-returns-title">Returns <a href="starling.rendering.indexdata.html" class="tsd-signature-type">IndexData</a></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="copyto" class="tsd-anchor"></a> <h3>copy<wbr>To</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">copy<wbr>To<span class="tsd-signature-symbol">(</span>target<span class="tsd-signature-symbol">: </span><a href="starling.rendering.indexdata.html" class="tsd-signature-type">IndexData</a>, targetIndexID<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, offset<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, indexID<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, numIndices<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L87">lib/starling/rendering/IndexData.d.ts:87</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Copies the index data (or a range of it, defined by &#39;indexID&#39; and &#39;numIndices&#39;) of this instance to another IndexData object, starting at a certain target index. If the target is not big enough, it will grow to fit all the new indices.</p> </div> <p>By passing a non-zero <code>offset</code>, you can raise all copied indices by that value in the target object.</p> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>target: <a href="starling.rendering.indexdata.html" class="tsd-signature-type">IndexData</a></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> targetIndexID: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> offset: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> indexID: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> numIndices: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="createindexbuffer" class="tsd-anchor"></a> <h3>create<wbr>Index<wbr>Buffer</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">create<wbr>Index<wbr>Buffer<span class="tsd-signature-symbol">(</span>upload<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, bufferUsage<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">IndexBuffer3D</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L129">lib/starling/rendering/IndexData.d.ts:129</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Creates an index buffer object with the right size to fit the complete data. Optionally, the current data is uploaded right away.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> upload: <span class="tsd-signature-type">boolean</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> bufferUsage: <span class="tsd-signature-type">string</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">IndexBuffer3D</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="getindex" class="tsd-anchor"></a> <h3>get<wbr>Index</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">get<wbr>Index<span class="tsd-signature-symbol">(</span>indexID<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L94">lib/starling/rendering/IndexData.d.ts:94</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Reads the index from the specified position.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>indexID: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="get_indexsizeinbytes" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>index<wbr>Size<wbr>InBytes</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">get_<wbr>index<wbr>Size<wbr>InBytes<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L167">lib/starling/rendering/IndexData.d.ts:167</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="get_numindices" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>num<wbr>Indices</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">get_<wbr>num<wbr>Indices<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L150">lib/starling/rendering/IndexData.d.ts:150</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="get_numquads" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>num<wbr>Quads</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">get_<wbr>num<wbr>Quads<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L162">lib/starling/rendering/IndexData.d.ts:162</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="get_numtriangles" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>num<wbr>Triangles</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">get_<wbr>num<wbr>Triangles<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L156">lib/starling/rendering/IndexData.d.ts:156</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="get_rawdata" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>raw<wbr>Data</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">get_<wbr>raw<wbr>Data<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">ByteArray</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L191">lib/starling/rendering/IndexData.d.ts:191</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ByteArray</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="get_usequadlayout" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> get_<wbr>use<wbr>Quad<wbr>Layout</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">get_<wbr>use<wbr>Quad<wbr>Layout<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L185">lib/starling/rendering/IndexData.d.ts:185</a></li> </ul> </aside> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="offsetindices" class="tsd-anchor"></a> <h3>offset<wbr>Indices</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">offset<wbr>Indices<span class="tsd-signature-symbol">(</span>offset<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, indexID<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span>, numIndices<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L97">lib/starling/rendering/IndexData.d.ts:97</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Adds an offset to all indices in the specified range.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>offset: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> indexID: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5><span class="tsd-flag ts-flagOptional">Optional</span> numIndices: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="setindex" class="tsd-anchor"></a> <h3>set<wbr>Index</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">set<wbr>Index<span class="tsd-signature-symbol">(</span>indexID<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span>, index<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L91">lib/starling/rendering/IndexData.d.ts:91</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Sets an index at the specified position.</p> </div> </div> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>indexID: <span class="tsd-signature-type">number</span></h5> </li> <li> <h5>index: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="set_numindices" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> set_<wbr>num<wbr>Indices</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">set_<wbr>num<wbr>Indices<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L151">lib/starling/rendering/IndexData.d.ts:151</a></li> </ul> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>value: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="set_numquads" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> set_<wbr>num<wbr>Quads</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">set_<wbr>num<wbr>Quads<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L163">lib/starling/rendering/IndexData.d.ts:163</a></li> </ul> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>value: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="set_numtriangles" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> set_<wbr>num<wbr>Triangles</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">set_<wbr>num<wbr>Triangles<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L157">lib/starling/rendering/IndexData.d.ts:157</a></li> </ul> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>value: <span class="tsd-signature-type">number</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <a name="set_usequadlayout" class="tsd-anchor"></a> <h3><span class="tsd-flag ts-flagProtected">Protected</span> set_<wbr>use<wbr>Quad<wbr>Layout</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected tsd-is-external"> <li class="tsd-signature tsd-kind-icon">set_<wbr>use<wbr>Quad<wbr>Layout<span class="tsd-signature-symbol">(</span>value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L186">lib/starling/rendering/IndexData.d.ts:186</a></li> </ul> </aside> <h4 class="tsd-parameters-title">Parameters</h4> <ul class="tsd-parameters"> <li> <h5>value: <span class="tsd-signature-type">boolean</span></h5> </li> </ul> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="tostring" class="tsd-anchor"></a> <h3>to<wbr>String</h3> <ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-external"> <li class="tsd-signature tsd-kind-icon">to<wbr>String<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></li> </ul> <ul class="tsd-descriptions"> <li class="tsd-description"> <aside class="tsd-sources"> <ul> <li>Defined in <a href="https://github.com/openfl/starling/blob/bce2af2/lib/starling/rendering/IndexData.d.ts#L123">lib/starling/rendering/IndexData.d.ts:123</a></li> </ul> </aside> <div class="tsd-comment tsd-typography"> <div class="lead"> <p>Returns a string representation of the IndexData object, including a comma-separated list of all indices.</p> </div> </div> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4> </li> </ul> </section> <section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-external"> <a name="tovector" class="tsd-anchor"></a> <h3>to<wbr>Vector</h3> <ul class="tsd-signatures tsd-kind-me