concurrent node

Summary

The concurrent node groups action nodes and actions all its immediate children at the same time.

For more information see the XML reference entry for concurrent.

Constructor

concurrent.new( [id] )

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

Example C.1. Use of concurrent constructor

<scene>
	<script type="text/x-lua">

		-- create a new concurrent node
		myconcurrent = concurrent.new()
		
		-- OMITTED create and add actions to the concurrent node
		
		scene:appendNode(myconcurrent)
		
	</script>
	
</scene>

Functions

Functions common to nodes that group actions

node:appendAction( action_node )

Adds the passed node as a child of this action node.

Example C.2. Use of appendAction

<scene>
	<script type="text/x-lua">
		
		myconcurrent = scene:getById("myconcurrent")
		
		mytransition = transition.new(...)
		-- OMITTED set up transition
		
		myconcurrent:appendAction(mytransition)
		
	</script>
	
	<concurrent id="myconcurrent">
		<!-- transition will be added here by script -->
	</concurrent>
	
</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.3. 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.4. 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.5. 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.