reparent node

Summary

The reparent node moves a node from its current parent node (e.g. the scene or a group) to another parent node.

For more information see the XML reference entry for reparent.

Constructor

reparent.new( object , endparent , [id] )

The object parameter is the node that will change parents.

The endparent parameter indicates the new parent for the object.

The parameter id is optional. If specified the node will be given this id.

Example C.48. Use of reparent constructor

<scene>
	<script type="text/x-lua">
	
		myobject = scene:getById("myobject")
		newparent = scene:getById("newparent")
	
		myreparent = reparent.new(myobject, newparent)
		myreparent:setLength(1000)
		
		scene:appendNode(myreparent)
	
	</script>

	<object type="..." id="myobject"/>
	
	<group id="newparent">
		<!-- THE OBJECT WILL RESIDE HERE AFTER THE CONSRUCTED
			 REPARENT HAS BEEN ACTIONED -->
	</group>

</scene>

Functions

node:setLength( time_milliseconds )

Indicates the number of milliseconds that the reparent should take. The object's position, scale and rotation will be transitioned over this time.

Example C.49. Use of setLength

<scene>
	<script type="text/x-lua">
	
		myobject = scene:getById("myobject")
		newparent = scene:getById("newparent")
	
		myreparent = reparent.new(myobject, newparent)
		myreparent:setLength(1000)
		
		scene:appendNode(myreparent)
	
	</script>

	<object type="..." id="myobject"/>
	
	<group id="newparent">
		<!-- THE OBJECT WILL RESIDE HERE AFTER THE CONSRUCTED
			 REPARENT HAS BEEN ACTIONED -->
	</group>

</scene>


node:setType( type )

Indicates the type of the interpolation used for the transition. Accepted values are reparent.LINEAR and reparent.SMOOTH.

Example C.50. Use of setType

<scene>
	<script type="text/x-lua">
	
		myobject = scene:getById("myobject")
		newparent = scene:getById("newparent")
	
		myreparent = reparent.new(myobject, newparent)
		myreparent:setLength(1000)
		myreparent:setType(reparent.SMOOTH)
		
		scene:appendNode(myreparent)
	
	</script>

	<object type="..." id="myobject"/>
	
	<group id="newparent">
		<!-- THE OBJECT WILL RESIDE HERE AFTER THE CONSRUCTED
			 REPARENT HAS BEEN ACTIONED -->
	</group>

</scene>


Functions common to action nodes

node:reset()

Resets this action such that it will occur again (from the beginning).

node:setNoTimes( val )

Sets the number of times this action should occur. Pass the value -1 to repeat indefinitely.

Example C.51. Use of setNoTimes

<scene>
	<script type="text/x-lua">
		
		mytransition = scene:getById("mytransition")
		
		mytransition:setNoTimes(10)
		
	</script>
	
	<transition id="mytransition"
				object="myplane" 
				what="position" 
				start="0 0 0" end="1 1 1" 
				length="1000 />

	<object id="myplane" type="primitives://plane.aro"/>
	
</scene>


Functions common to nodes

col graphnode:getColor()

Returns a table of 4 values - red, green, blue and alpha (transparency) between 0.0 and 1.0.

Example C.52. Use of getColor

<scene>
	<script type="text/x-lua">
		
		myplane = scene:getById("myplane")
		cols = myplace:getColor()
		red = cols[1]
		green = cols[2]
		blue = cols[3]
		alpha = cols[4]
		
	</script>
	<object id="myplane" type="primitives://plane.aro" color="0.5 1 1 0.75"/>
</scene>


boolean graphnode:isVisible()

Returns true if the node is set to visible, or false otherwise.

graphnode:setColor( col )

Sets the color of the node. Pass a 4-element table with entries { red, green, blue, alpha }. Values are expressed between 0.0 and 1.0.

Example C.53. Use of setColor

<scene>
	<script type="text/x-lua">
		
		myplane = scene:getById("myplane")
		
		--         r    g   b    a
		newcol = { 0.1, 1, 0.5, 0.25 } 
		myplane:setColor(newcol)
		
	</script>
	<object id="myplane" type="primitives://plane.aro"/>
</scene>


graphnode:setVisible( true or false )

Sets the visibility of the node. Invisible nodes are not displayed and do not respond to events e.g. onhover, onclickdown etc.