<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.crumbledworld.com/index.php?action=history&amp;feed=atom&amp;title=SceneNode</id>
	<title>SceneNode - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.crumbledworld.com/index.php?action=history&amp;feed=atom&amp;title=SceneNode"/>
	<link rel="alternate" type="text/html" href="https://wiki.crumbledworld.com/index.php?title=SceneNode&amp;action=history"/>
	<updated>2026-04-21T23:08:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.4</generator>
	<entry>
		<id>https://wiki.crumbledworld.com/index.php?title=SceneNode&amp;diff=189&amp;oldid=prev</id>
		<title>Anders: /* Functions */</title>
		<link rel="alternate" type="text/html" href="https://wiki.crumbledworld.com/index.php?title=SceneNode&amp;diff=189&amp;oldid=prev"/>
		<updated>2025-08-12T18:18:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Functions&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:18, 12 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l100&quot;&gt;Line 100:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 100:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[SceneNode:getAllScript()|getAllScript]]()&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[SceneNode:getAllScript()|getAllScript]]()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Return all script from this node.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Return all script from this node.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|number&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|[[SceneNode:countAllNodeInTree()|countAllNodeInTree]]()&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|Return a number counting all nodes&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[LuaScript]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|[[LuaScript]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-30:rev-189:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Anders</name></author>
	</entry>
	<entry>
		<id>https://wiki.crumbledworld.com/index.php?title=SceneNode&amp;diff=30&amp;oldid=prev</id>
		<title>Anders: Created page with &quot;{{:SceneNodeExampleCode}}  ==Static functions== {| class=&quot;wikitable&quot; !|return !|function !|description |- |SceneNode |new() |Create a new Instance of the the SceneNode |- |SceneNode |new(string name) |Create a new Instance of the the SceneNode |- |SceneNode |newNil() |return a null pointer of type SceneNode |- |}  ==Functions== {| class=&quot;wikitable&quot; !|return !|function !|description...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.crumbledworld.com/index.php?title=SceneNode&amp;diff=30&amp;oldid=prev"/>
		<updated>2025-07-05T13:04:21Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{:SceneNodeExampleCode}}  ==Static functions== {| class=&amp;quot;wikitable&amp;quot; !|return !|function !|description |- |&lt;a href=&quot;/index.php/SceneNode&quot; title=&quot;SceneNode&quot;&gt;SceneNode&lt;/a&gt; |&lt;a href=&quot;/index.php?title=SceneNode:new()&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;SceneNode:new() (page does not exist)&quot;&gt;new&lt;/a&gt;() |Create a new Instance of the the SceneNode |- |&lt;a href=&quot;/index.php/SceneNode&quot; title=&quot;SceneNode&quot;&gt;SceneNode&lt;/a&gt; |&lt;a href=&quot;/index.php?title=SceneNode:new(string_name)&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;SceneNode:new(string name) (page does not exist)&quot;&gt;new&lt;/a&gt;(&lt;a href=&quot;/index.php/String&quot; title=&quot;String&quot;&gt;string&lt;/a&gt; name) |Create a new Instance of the the SceneNode |- |&lt;a href=&quot;/index.php/SceneNode&quot; title=&quot;SceneNode&quot;&gt;SceneNode&lt;/a&gt; |&lt;a href=&quot;/index.php?title=SceneNode:newNil()&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;SceneNode:newNil() (page does not exist)&quot;&gt;newNil&lt;/a&gt;() |return a null pointer of type SceneNode |- |}  ==Functions== {| class=&amp;quot;wikitable&amp;quot; !|return !|function !|description...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{:SceneNodeExampleCode}}&lt;br /&gt;
&lt;br /&gt;
==Static functions==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|return&lt;br /&gt;
!|function&lt;br /&gt;
!|description&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:new()|new]]()&lt;br /&gt;
|Create a new Instance of the the SceneNode&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:new(string name)|new]]([[string]] name)&lt;br /&gt;
|Create a new Instance of the the SceneNode&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:newNil()|newNil]]()&lt;br /&gt;
|return a null pointer of type SceneNode&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|return&lt;br /&gt;
!|function&lt;br /&gt;
!|description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:destroy()|destroy]]()&lt;br /&gt;
|Destroy this node.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:destroyTree()|destroyTree]]()&lt;br /&gt;
|Destroy this node and all nodes towards leaf nodes.&lt;br /&gt;
This is the only way to a node completely.&lt;br /&gt;
|-&lt;br /&gt;
|[[NodeId]]&lt;br /&gt;
|[[SceneNode:getNodeType()|getNodeType]]()&lt;br /&gt;
|Returns the node id, Check [[NodeId]].&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:toSceneNode()|toSceneNode]]()&lt;br /&gt;
|Converts the pointer to a sceneNode.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:getRootNode()|getRootNode]]()&lt;br /&gt;
|Returns root node of the scene tree.&lt;br /&gt;
|-&lt;br /&gt;
|[[string]]&lt;br /&gt;
|[[SceneNode:getSceneName()|getSceneName]]()&lt;br /&gt;
|Returns this nodes scene name.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:getParent()|getParent]]()&lt;br /&gt;
|Returns this nodes parent. If this node is a [[rootNode]] null is returned.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|[[SceneNode:getId()|getId]]()&lt;br /&gt;
|Returns this nodes unique id.&lt;br /&gt;
|-&lt;br /&gt;
|[[PlayerNode]]&lt;br /&gt;
|[[SceneNode:getPlayerNode()|getPlayerNode]]()&lt;br /&gt;
|Returns the player node. The player node is only returned if the parent to this node is of the type [[PlayerNode]].&lt;br /&gt;
This should always return a node except when this function is called from [[Camera]] or [[rootNode]]&lt;br /&gt;
|-&lt;br /&gt;
|[[BoundType]]&lt;br /&gt;
|[[SceneNode:getBoundType()|getBoundType]]()&lt;br /&gt;
|Returns the Bounding type.&lt;br /&gt;
|-&lt;br /&gt;
|[[Vec3]]&lt;br /&gt;
|[[SceneNode:getGlobalPosition()|getGlobalPosition]]()&lt;br /&gt;
|Returns the [[global]] position.&lt;br /&gt;
|-&lt;br /&gt;
|[[Vec3]]&lt;br /&gt;
|[[SceneNode:getLocalPosition()|getLocalPosition]]()&lt;br /&gt;
|Returns the local position.&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]&lt;br /&gt;
|[[SceneNode:getGlobalMatrix()|getGlobalMatrix]]()&lt;br /&gt;
|Returns the [[global]] [[matrix]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Matrix]]&lt;br /&gt;
|[[SceneNode:getLocalMatrix()|getLocalMatrix]]()&lt;br /&gt;
|Returns the local [[matrix]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Box]]&lt;br /&gt;
|[[SceneNode:getGlobalBoundingBox()|getGlobalBoundingBox]]()&lt;br /&gt;
|Returns the [[global]] [[box]].&lt;br /&gt;
|-&lt;br /&gt;
|[[Sphere]]&lt;br /&gt;
|[[SceneNode:getGlobalBoundingSphere()|getGlobalBoundingSphere]]()&lt;br /&gt;
|Returns the [[global]] [[sphere]].&lt;br /&gt;
|-&lt;br /&gt;
|[[LuaScript]]&lt;br /&gt;
|[[SceneNode:getScriptByName(string scriptName)|getScriptByName]]([[string]] scriptName)&lt;br /&gt;
|Returns the script with the given name.&lt;br /&gt;
|-&lt;br /&gt;
|{LuaScript()}&lt;br /&gt;
|[[SceneNode:getAllScript()|getAllScript]]()&lt;br /&gt;
|Return all script from this node.&lt;br /&gt;
|-&lt;br /&gt;
|[[LuaScript]]&lt;br /&gt;
|[[SceneNode:getCurrentScript()|getCurrentScript]]()&lt;br /&gt;
|Returns the current running script.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|[[SceneNode:getisUpdatedEnabled()|getisUpdatedEnabled]]()&lt;br /&gt;
|Returns if this node accepts update.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|[[SceneNode:getVisibleInCamera()|getVisibleInCamera]]()&lt;br /&gt;
|Returns true is this sceneNode was visible in any camera during last frame.&lt;br /&gt;
|-&lt;br /&gt;
|[[Work]]&lt;br /&gt;
|[[SceneNode:getWork()|getWork]]()&lt;br /&gt;
|Returns this nodes worker. &lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|[[SceneNode:getCollisionEnabled()|getCollisionEnabled]]()&lt;br /&gt;
|Returns true if collision is enabled on this node. &lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|[[SceneNode:getVisible()|getVisible]]()&lt;br /&gt;
|Returns this nodes visible variable set by setVisible().&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:findAllNodeByNameTowardsLeaf(string sceneName)|findAllNodeByNameTowardsLeaf]]([[string]] sceneName)&lt;br /&gt;
|Returns all nodes with the given name towards the leafNodes.&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:findAllNodeByNameTowardsLeaf(table sceneNames)|findAllNodeByNameTowardsLeaf]]([[table]] sceneNames)&lt;br /&gt;
|Returns all nodes with the given name towards the leafNodes.&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:findAllNodeByNameTowardsRoot(string sceneName)|findAllNodeByNameTowardsRoot]]([[string]] sceneName)&lt;br /&gt;
|Returns all nodes with the given name towards the root node.&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:findAllNodeByNameTowardsRoot(table sceneNames)|findAllNodeByNameTowardsRoot]]([[table]] sceneNames)&lt;br /&gt;
|Returns all nodes with the given name towards the root node.&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:findAllNodeByTypeTowardsLeaf(NodeId id)|findAllNodeByTypeTowardsLeaf]]([[NodeId]] id)&lt;br /&gt;
|Returns all nodes with the given nodeId towards the leaf node.&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:findAllNodeByTypeTowardsLeaf(table idList)|findAllNodeByTypeTowardsLeaf]]([[table]] idList)&lt;br /&gt;
|Returns all nodes with the given nodeIds towards the leaf node.&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:getAllNodeByTypeTowardsLeafWithinSphere(NodeId id, Sphere aSphere)|getAllNodeByTypeTowardsLeafWithinSphere]]([[NodeId]] id, [[Sphere]] aSphere)&lt;br /&gt;
|Returns all nodes with the given nodeId within the sphere towards the leaf node.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:findNodeByName(string sceneName)|findNodeByName]]([[string]] sceneName)&lt;br /&gt;
|Returns the first node with the given name.&lt;br /&gt;
Looks first towards the leafNodes then look toward the root node&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:findNodeByType(NodeId id)|findNodeByType]]([[NodeId]] id)&lt;br /&gt;
|Returns the first node with the given nodeId.&lt;br /&gt;
Looks first towards the leafNodes then look toward the root node&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:findNodeByTypeTowardsLeafe(NodeId id)|findNodeByTypeTowardsLeafe]]([[NodeId]] id)&lt;br /&gt;
|Returns the first node with the given nodeId towards leaf nodes.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:findNodeByTypeTowardsRoot(NodeId id)|findNodeByTypeTowardsRoot]]([[NodeId]] id)&lt;br /&gt;
|Returns the first node with the given nodeId towards root node.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setSceneName(string name)|setSceneName]]([[string]] name)&lt;br /&gt;
|Set the name of the sceneNode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setLocalMatrix(Matrix mat)|setLocalMatrix]]([[Matrix]] mat)&lt;br /&gt;
|Set local [[matrix]].&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setLocalPosition(Vec3 position)|setLocalPosition]]([[Vec3]] position)&lt;br /&gt;
|Set local position.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setVisible(bool visible)|setVisible]](bool visible)&lt;br /&gt;
|Set if node should be visible.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setParent(SceneNode parent)|setParent]](SceneNode parent)&lt;br /&gt;
|Set the parent.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setEnableUpdates(bool enabled)|setEnableUpdates]](bool enabled)&lt;br /&gt;
|Set if this node should be updated. if this nodes update is disabeld all children will not ether get updated.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setCollisionEnabled(bool enabled)|setCollisionEnabled]](bool enabled)&lt;br /&gt;
|Set if this node should have collision enabled, by default all node has collision enabled.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:DisableBoundingVolumesDynamicUpdates()|DisableBoundingVolumesDynamicUpdates]]()&lt;br /&gt;
|changing position rotation and scale should not effect parrent bounding volume. &lt;br /&gt;
This is an optimization for dynamic object that changes it&amp;#039;s local matrix but not actually it&amp;#039;s position.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setBoundingVolumeCanShrink(bool canShrink)|setBoundingVolumeCanShrink]](bool canShrink)&lt;br /&gt;
|Config the bounding volume never to shrink. this is useful to increase performance on object that may move around internal but have a somewhat constant bounding volume. &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:createBoundVolumeGroup()|createBoundVolumeGroup]]()&lt;br /&gt;
|Force create a bound volume group.&lt;br /&gt;
|-&lt;br /&gt;
|[[Work]]&lt;br /&gt;
|[[SceneNode:createWork()|createWork]]()&lt;br /&gt;
|create a [[work]] from this node.&lt;br /&gt;
This function is not needed at all. It&amp;#039;s used to make some very specific optimization.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:collision(Line3D line)|collision]]([[Line3D]] line)&lt;br /&gt;
|Perform [[collision]] against this node. Return this sceneNode if [[collision]] was found.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:collision(Line3D line, Vec3 normal)|collision]]([[Line3D]] line, [[Vec3]] normal)&lt;br /&gt;
|Perform [[collision]] against this node. Return this sceneNode if [[collision]] was found and the normal of the [[collision]].&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:collisionTree(Line3D line)|collisionTree]]([[Line3D]] line)&lt;br /&gt;
|Perform collision against this node and all nodes towards the leaf nodes. Return the sceneNode from the closest [[collision]]. if no [[collision]] was detected return null.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:collisionTree(Line3D line, Vec3 normal)|collisionTree]]([[Line3D]] line, [[Vec3]] normal)&lt;br /&gt;
|Perform [[collision]] against this node and all nodes towards the leaf nodes. Return the sceneNode from the closest [[collision]] and the normal. if no [[collision]] was detected return null.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:collisionTree(Line3D line, NodeId id)|collisionTree]]([[Line3D]] line, [[NodeId]] id)&lt;br /&gt;
|Perform [[collision]] against this node and all towards the leaf nodes with the same [[nodeId]]. Return the sceneNode from the closest [[collision]]. if no [[collision]] was detected return null.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:collisionTree(Line3D line, table whiteListedNodeIds)|collisionTree]]([[Line3D]] line, table whiteListedNodeIds)&lt;br /&gt;
|Perform collision against this node and all towards the leaf nodes if the NodeId of the sceneNode is contained in the table.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:collisionTree(Line3D line, Vec3 normal, table whiteListedNodeIds)|collisionTree]]([[Line3D]] line, [[Vec3]] normal, table whiteListedNodeIds)&lt;br /&gt;
|Perform collision against this node and all towards the leaf nodes if the NodeId of the sceneNode is contained in the table.&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|[[SceneNode:collisionTree(Frustrum aFrustrum, table whiteListedNodeIds)|collisionTree]]([[Frustrum]] aFrustruml, table whiteListedNodeIds)&lt;br /&gt;
|Perform collision against this node and all towards the leaf nodes if the NodeId of the sceneNode is contained in the table.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:addChild(SceneNode child)|addChild]](SceneNode child)&lt;br /&gt;
|Add the node as a child to this one&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|[[SceneNode:removeChild(SceneNode child)|removeChild]](SceneNode child)&lt;br /&gt;
|Remove the child. Returns true if the child was removed else false. &lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:getChildNode(int index)|getChildNode]](int index)&lt;br /&gt;
|Get child by index.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|[[SceneNode:getChildSize()|getChildSize]]()&lt;br /&gt;
|Get number of children.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:getVisibleChildNode(int index)|getVisibleChildNode]](int index)&lt;br /&gt;
|Get visible child by index.&lt;br /&gt;
|-&lt;br /&gt;
|int&lt;br /&gt;
|[[SceneNode:getVisibleChildSize()|getVisibleChildSize]]()&lt;br /&gt;
|Get number of visible children.&lt;br /&gt;
|-&lt;br /&gt;
|bool&lt;br /&gt;
|[[SceneNode:getCanBeSaved()|getCanBeSaved]]()&lt;br /&gt;
|Get if the this scene can be saved by the saveScene() function.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:loadLuaScriptAndRunOnce(String scriptName)|loadLuaScriptAndRunOnce]]([[String]] scriptName)&lt;br /&gt;
|Try to load a new script from file and immediately execute the script and then destroy the script.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:loadLuaScriptAndRunOnce(string scriptName)|loadLuaScriptAndRunOnce]]([[string]] scriptName)&lt;br /&gt;
|Try to load a new script from file and immediately execute the script and then destroy the script.&lt;br /&gt;
|-&lt;br /&gt;
|[[LuaScript]]&lt;br /&gt;
|[[SceneNode:loadLuaScript(String scriptName)|loadLuaScript]]([[String]] scriptName)&lt;br /&gt;
|Try to load a new script from file. return null if failed&lt;br /&gt;
|-&lt;br /&gt;
|[[LuaScript]]&lt;br /&gt;
|[[SceneNode:loadLuaScript(string scriptName)|loadLuaScript]](string scriptName)&lt;br /&gt;
|Try to load a new script from file. return null if failed&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:removeScript(String scriptName)|removeScript]]([[String]] scriptName)&lt;br /&gt;
|Removes a script with the given name.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:removeScript(string scriptName)|removeScript]]([[string]] scriptName)&lt;br /&gt;
|Removes a script with the given name.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:update()|update]]()&lt;br /&gt;
|Update node. This function is automatically called by the game if the nood is connected to the main sceneNode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:setCanBeSaved(bool canBeSaved)|setCanBeSaved]](bool canBeSaved)&lt;br /&gt;
|Set if the this scene can be saved by the saveScene() function.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|[[SceneNode:saveScene(string fileName)|saveScene]](string fileName)&lt;br /&gt;
|Save the tree hierarchy from this scene node. This will save all nodes and some local state. &lt;br /&gt;
Used to create save and load functionality for map editor.&lt;br /&gt;
This is NOT a in game save functionality.&lt;br /&gt;
|-&lt;br /&gt;
|[[SceneNode]]&lt;br /&gt;
|[[SceneNode:loadScene(string fileName)|loadScene]](string fileName)&lt;br /&gt;
|Load a scene node hierarchy as a child to this node.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Overloaded returns==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|return&lt;br /&gt;
!|function&lt;br /&gt;
!|Parameter&lt;br /&gt;
|-&lt;br /&gt;
|SceneNode&lt;br /&gt;
|findNodeByType&lt;br /&gt;
|id&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|findAllNodeByTypeTowardsLeaf&lt;br /&gt;
|id&lt;br /&gt;
|-&lt;br /&gt;
|SceneNode&lt;br /&gt;
|findNodeByTypeTowardsLeafe&lt;br /&gt;
|id&lt;br /&gt;
|-&lt;br /&gt;
|SceneNode&lt;br /&gt;
|findNodeByTypeTowardsRoot&lt;br /&gt;
|id&lt;br /&gt;
|-&lt;br /&gt;
|{SceneNode()}&lt;br /&gt;
|getAllNodeByTypeTowardsLeafWithinSphere&lt;br /&gt;
|id&lt;br /&gt;
|-&lt;br /&gt;
|SceneNode&lt;br /&gt;
|addChild&lt;br /&gt;
|child&lt;br /&gt;
|-&lt;br /&gt;
|SceneNode&lt;br /&gt;
|[[collision]]&lt;br /&gt;
|id&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Anders</name></author>
	</entry>
</feed>