<?xml version="1.0" encoding="utf-8" standalone="no"?>
<scriptBinding>
    <function name="addAudioSourceSampleElement" desc="Add an element to an AudioSource" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="filename" type="string" desc="filename"/>
            <param name="probability" type="float" desc="probability"/>
        </input>
        <output/>
    </function>
    <function name="addDifferential" desc="Add differential" category="Physics">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="diff0Index" type="integer" desc="diff0Index"/>
            <param name="diffIndex0IsWheel" type="boolean" desc="diffIndex0IsWheel"/>
            <param name="diff1Index" type="integer" desc="diff1Index"/>
            <param name="diffIndex1IsWheel" type="boolean" desc="diffIndex1IsWheel"/>
            <param name="ratio" type="float" desc="ratio"/>
            <param name="bias" type="float" desc="bias"/>
        </input>
        <output/>
    </function>
    <function name="addFoliageTypFromXML" desc="Load a new foliage type from an XML file, creating a new multilayer if a new density map is used" category="Foliage">
        <input>
            <param name="dmId" type="integer" desc="id for density map to use for the foliage layer, or a dataplane that shares this density map"/>
            <param name="name" type="string" desc="name of new layer"/>
            <param name="xmlFilename" type="string" desc="XML filename containing the layer definition"/>
            <param name="" type="string" desc=""/>
        </input>
        <output>
            <param name="densityMapTypeId" type="integer" desc="the type ID the density map will use for this layer, or 0 if the call failed"/>
        </output>
    </function>
    <function name="addForce" desc="Add force to object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="forceX" type="float" desc="forceX"/>
            <param name="forceY" type="float" desc="forceY"/>
            <param name="forceZ" type="float" desc="forceZ"/>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
            <param name="isPositionLocal" type="boolean" desc="isPositionLocal"/>
        </input>
        <output/>
    </function>
    <function name="addImpulse" desc="Add impulse to object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="impulseX" type="float" desc="impulseX"/>
            <param name="impulseY" type="float" desc="impulseY"/>
            <param name="impulseZ" type="float" desc="impulseZ"/>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
            <param name="isPositionLocal" type="boolean" desc="isPositionLocal"/>
        </input>
        <output/>
    </function>
    <function name="addParticleSystemSimulationTime" desc="Add particle system simulation time" category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="dt" type="float" desc="dt"/>
        </input>
        <output/>
    </function>
    <function name="addTerrainUpdateConnection" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="addToPhysics" desc="Add to physics" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output/>
    </function>
    <function name="addTorque" desc="Adds torque to a collision" category="Physics">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="addTorqueImpulse" desc="Adds torque impulse to a collision" category="Physics">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="addTrackPoint" desc="Adds a tire track position" category="Tire Track">
        <input>
            <param name="systemId" type="integer" desc="systemId"/>
            <param name="trackId" type="integer" desc="trackId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="r" type="float" desc="r"/>
            <param name="g" type="float" desc="g"/>
            <param name="b" type="float" desc="b"/>
            <param name="a" type="float" desc="a"/>
            <param name="uw" type="float" desc="uw"/>
            <param name="dTheta" type="float" desc="dTheta"/>
            <param name="" type="unknown" desc=""/>
        </input>
        <output/>
    </function>
    <function name="addVehicleLink" desc="Add vehicle link" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="transformId2" type="integer" desc="transformId2"/>
        </input>
        <output/>
    </function>
    <function name="aimCamera" desc="Aim camera (spring/damper)" category="Camera">
        <input>
            <param name="cameraId" type="integer" desc="cameraId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="distance" type="float" desc="distance"/>
            <param name="dt" type="float" desc="dt"/>
            <param name="springStrength" type="float" desc="springStrength"/>
        </input>
        <output/>
    </function>
    <function name="asciiToUtf8" desc="Converts an ascii latin1 (ISO 88859-1) encoded string to an utf8 string" category="String">
        <input>
            <param name="asciiString" type="string" desc="asciiString"/>
        </input>
        <output>
            <param name="utf8string" type="string" desc="utf8string"/>
        </output>
    </function>
    <function name="assignAnimTrackClip" desc="Assign clip to animation track" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
            <param name="clipIndex" type="integer" desc="clipIndex"/>
        </input>
        <output/>
    </function>
    <function name="base64Decode" desc="base64 decode" category="Math">
        <input>
            <param name="input" type="string" desc="input"/>
        </input>
        <output>
            <param name="output" type="bytearray" desc="output"/>
        </output>
    </function>
    <function name="base64Encode" desc="base64 encode" category="Math">
        <input>
            <param name="input" type="bytearray" desc="input"/>
        </input>
        <output>
            <param name="output" type="string" desc="output"/>
        </output>
    </function>
    <function name="bitAND" desc="bit AND-Operation" category="Math">
        <input>
            <param name="value1" type="integer" desc="value1"/>
            <param name="value2" type="integer" desc="value2"/>
        </input>
        <output>
            <param name="result" type="integer" desc="result"/>
        </output>
    </function>
    <function name="bitHighestSet" desc="bit HighestSet-Operation" category="Math">
        <input>
            <param name="input" type="integer" desc="input"/>
        </input>
        <output>
            <param name="highestBit" type="integer" desc="highestBit"/>
        </output>
    </function>
    <function name="bitOR" desc="bit OR-Operation" category="Math">
        <input>
            <param name="value1" type="integer" desc="value1"/>
            <param name="value2" type="integer" desc="value2"/>
        </input>
        <output>
            <param name="result" type="integer" desc="result"/>
        </output>
    </function>
    <function name="bitShiftRight" desc="bit ShiftRight-Operation" category="Math">
        <input>
            <param name="value1" type="integer" desc="value1"/>
            <param name="value2" type="integer" desc="value2"/>
        </input>
        <output>
            <param name="result" type="integer" desc="result"/>
        </output>
    </function>
    <function name="buildNavMesh" desc="Build the navigation mesh based on the specified world data" category="AI">
        <input>
            <param name="navMeshId" type="integer" desc="navMeshId"/>
            <param name="worldNode" type="integer" desc="worldNode"/>
            <param name="cellSize" type="float" desc="cellSize"/>
            <param name="cellHeight" type="float" desc="cellHeight"/>
            <param name="agentHeight" type="float" desc="agentHeight"/>
            <param name="agentRadius" type="float" desc="agentRadius"/>
            <param name="agentMaxClimb" type="float" desc="agentMaxClimb"/>
            <param name="agentMaxSlope" type="float" desc="agentMaxSlope"/>
            <param name="minRegionSize" type="float" desc="minRegionSize"/>
            <param name="mergeRegionSize" type="float" desc="mergeRegionSize"/>
            <param name="maxEdgeLength" type="float" desc="maxEdgeLength"/>
            <param name="maxSimplificationError" type="float" desc="maxSimplificationError"/>
            <param name="navMeshBuildMask" type="integer" desc="navMeshBuildMask"/>
            <param name="terrainDetail" type="float" desc="terrainDetail"/>
            <param name="terrainCullInfoLayer" type="string" desc="terrainCullInfoLayer"/>
            <param name="terrainCullInfoLayerChannels" type="integer" desc="terrainCullInfoLayerChannels"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="calcDistanceFrom" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="calcDistanceSquaredFrom" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="cancelStreamI3DFile" desc="Cancel streaming I3D file" category="I3D">
        <input>
            <param name="requestId" type="integer" desc="request id from streamI3DFile"/>
        </input>
        <output/>
    </function>
    <function name="clearAnimTrackClip" desc="Clear animation track clip assignment" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output/>
    </function>
    <function name="clearEntireSharedI3DFileCache" desc="Clears the shared i3d cache, deleting all data and calling finish callbacks on all pending loads with failedReason = Cancelled." category="I3D">
        <input/>
        <output/>
    </function>
    <function name="clearOverlayArea" desc="Clears all overlays in the given area" category="Overlays">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="width" type="float" desc="width"/>
            <param name="height" type="float" desc="height"/>
            <param name="rotation" type="float" desc="rotation"/>
            <param name="rotCenterX" type="float" desc="center of rotation x"/>
            <param name="rotCenterY" type="float" desc="center of rotation y"/>
        </input>
        <output/>
    </function>
    <function name="clone" desc="Clone scenegraph object" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="groupUnderParent" type="boolean" desc="groupUnderParent"/>
            <param name="callOnCreate" type="boolean" desc="callOnCreate (optional)"/>
            <param name="addPhysics" type="boolean" desc="addPhysics (optional)"/>
        </input>
        <output>
            <param name="cloneId" type="integer" desc="cloneId"/>
        </output>
    </function>
    <function name="cloneAnimCharacterSet" desc="Clone anim character set" category="Animation">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="targetId" type="integer" desc="targetId"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="computeWheelShapeTireForces" desc="Calculate wheel shape tire forces" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
            <param name="longSlipRatio" type="float" desc="longSlipRatio"/>
            <param name="latSlipAngle" type="float" desc="latSlipAngle"/>
            <param name="tireLoad" type="float" desc="tireLoad"/>
        </input>
        <output>
            <param name="longForce" type="float" desc="longForce"/>
            <param name="latForce" type="float" desc="latForce"/>
        </output>
    </function>
    <function name="conditionalAnimationDebugDraw" desc="Debug draw" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="conditionalAnimationRegisterParameter" desc="Register parameter" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="parameterId" type="integer" desc=""/>
            <param name="parameterType" type="integer" desc=""/>
            <param name="parameterLabel" type="string" desc=""/>
        </input>
        <output/>
    </function>
    <function name="conditionalAnimationZeroiseTrackTimes" desc="Zeroise track times" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
        </input>
        <output/>
    </function>
    <function name="controlVehicle" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="createAudioSource" desc="Create audio source object for 3D sounds" category="">
        <input>
            <param name="audioSourceName" type="string" desc="audioSourceName"/>
            <param name="sampleFilename" type="string" desc="sampleFilename"/>
            <param name="radius" type="float" desc="radius"/>
            <param name="innerRadius" type="float" desc="innerRadius"/>
            <param name="volume" type="float" desc="volume"/>
            <param name="loops" type="integer" desc="loops"/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="createCamera" desc="Create camera" category="">
        <input>
            <param name="cameraName" type="string" desc="cameraName"/>
            <param name="fovy" type="float" desc="fovy"/>
            <param name="nearClip" type="float" desc="nearClip"/>
            <param name="farClip" type="float" desc="farClip"/>
        </input>
        <output>
            <param name="cameraId" type="integer" desc="cameraId"/>
        </output>
    </function>
    <function name="createCCT" desc="Create character controller (y axis capsule based)" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="radius" type="float" desc="radius"/>
            <param name="height" type="float" desc="height"/>
            <param name="stepOffset" type="float" desc="stepOffset"/>
            <param name="slopeLimit" type="float" desc="slopeLimit"/>
            <param name="skinWidth" type="float" desc="skinWidth"/>
            <param name="collisionMask" type="integer" desc="collisionMask"/>
            <param name="mass" type="float" desc="mass"/>
        </input>
        <output>
            <param name="characterIndex" type="integer" desc="characterIndex"/>
        </output>
    </function>
    <function name="createConditionalAnimation" desc="Create conditional animation" category="Animation">
        <input/>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="createFillPlaneShape" desc="Creates a fill plane shape based on shapeId" category="Fillplanes">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="shapeName" type="string" desc="shapeName"/>
            <param name="volume" type="float" desc="volume"/>
            <param name="deltaMax" type="float" desc="deltaMax"/>
            <param name="maxSurfaceAngle" type="float" desc="maxSurfaceAngle"/>
            <param name="maxPhysicalSurfaceAngle" type="float" desc="maxPhysicalSurfaceAngle"/>
            <param name="maxSurfaceDistanceError" type="float" desc="maxSurfaceDistanceError"/>
            <param name="maxSubDivEdgeLength" type="float" desc="maxSubDivEdgeLength"/>
            <param name="syncMaxSubDivEdgeLength" type="float" desc="syncMaxSubDivEdgeLength"/>
            <param name="createSidePlanes" type="boolean" desc="createSidePlanes"/>
            <param name="retessellateTop" type="boolean" desc="retessellateTop"/>
        </input>
        <output>
            <param name="fillPlaneShapeId" type="integer" desc="fillPlaneShapeId"/>
        </output>
    </function>
    <function name="createFoliageBendingRectangle" desc="" category="">
        <input>
            <param name="foliageBendingSystemId" type="integer" desc=""/>
            <param name="minX" type="float" desc=""/>
            <param name="maxX" type="float" desc=""/>
            <param name="minZ" type="float" desc=""/>
            <param name="maxZ" type="float" desc=""/>
            <param name="yOffset" type="float" desc=""/>
            <param name="centerTransformid" type="integer" desc=""/>
        </input>
        <output>
            <param name="rectangleId" type="integer" desc=""/>
        </output>
    </function>
    <function name="createImageOverlay" desc="Create overlay object" category="">
        <input>
            <param name="textureFilename" type="string" desc="textureFilename"/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="createImageOverlayWithTexture" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="createLightSource" desc="" category="">
        <input>
            <param name="" type="string" desc=""/>
            <param name="" type="string" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="createLoopSynthesisSample" desc="Create a loop synthesis sample object" category="">
        <input>
            <param name="objectName" type="string" desc="objectName"/>
        </input>
        <output>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </output>
    </function>
    <function name="createNavMesh" desc="Create a navigation mesh node." category="">
        <input>
            <param name="name" type="string" desc="name"/>
        </input>
        <output>
            <param name="navMeshId" type="integer" desc="navMeshId"/>
        </output>
    </function>
    <function name="createNoteNode" desc="Create note node" category="NoteNode">
        <input>
            <param name="parentId" type="integer" desc="Parent ID [optional]"/>
            <param name="text" type="string" desc="Text [optional]"/>
            <param name="colorR" type="float" desc="R component of note color [optional, 0-1]"/>
            <param name="colorG" type="float" desc="G component of note color [optional, 0-1]"/>
            <param name="colorB" type="float" desc="B component of note color [optional, 0-1]"/>
            <param name="fixedSize" type="boolean" desc="Fixed size on screen [optional]"/>
        </input>
        <output>
            <param name="noteId" type="integer" desc=""/>
        </output>
    </function>
    <function name="createSample" desc="Create sample object" category="">
        <input>
            <param name="objectName" type="string" desc="objectName"/>
        </input>
        <output>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </output>
    </function>
    <function name="createSharedNetworkAttributes" desc="" category="">
        <input>
            <param name="" type="string" desc=""/>
            <param name="" type="string" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="boolean" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="createStreamedSample" desc="Create streamed sample object" category="">
        <input>
            <param name="objectName" type="string" desc="objectName"/>
            <param name="isBackgroundMusic" type="boolean" desc="isBackgroundMusic"/>
        </input>
        <output>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </output>
    </function>
    <function name="createTrack" desc="Creates a tire track system" category="Tire Track">
        <input>
            <param name="systemId" type="integer" desc="systemId"/>
            <param name="width" type="float" desc="width"/>
            <param name="atlasIndex" type="integer" desc="atlasIndex"/>
        </input>
        <output>
            <param name="trackid" type="integer" desc="trackid"/>
        </output>
    </function>
    <function name="createTransformGroup" desc="Create transform group" category="">
        <input>
            <param name="transformName" type="string" desc="transformName"/>
        </input>
        <output>
            <param name="transformId" type="integer" desc="transformId"/>
        </output>
    </function>
    <function name="createWheelShape" desc="Create wheel shape" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
            <param name="radius" type="float" desc="radius"/>
            <param name="suspensionTravel" type="float" desc="suspensionTravel"/>
            <param name="spring" type="float" desc="spring"/>
            <param name="damperCompressionLowSpeed" type="float" desc="damperCompressionLowSpeed"/>
            <param name="damperCompressionHighSpeed" type="float" desc="damperCompressionHighSpeed"/>
            <param name="damperCompressionLowSpeedThreshold" type="float" desc="damperCompressionLowSpeedThreshold"/>
            <param name="damperRelaxationLowSpeed" type="float" desc="damperRelaxationLowSpeed"/>
            <param name="damperRelaxationHighSpeed" type="float" desc="damperRelaxationHighSpeed"/>
            <param name="damperRelaxationLowSpeedThreshold" type="float" desc="damperRelaxationLowSpeedThreshold"/>
            <param name="mass" type="float" desc="mass"/>
            <param name="collisionMask" type="integer" desc="collisionMask"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex (if 0, will create a new wheel)"/>
        </input>
        <output>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </output>
    </function>
    <function name="createXMLFile" desc="Create an empty XML file" category="XML">
        <input>
            <param name="objectName" type="string" desc="objectName"/>
            <param name="filename" type="string" desc="filename"/>
            <param name="rootNodeName" type="string" desc="rootNodeName"/>
        </input>
        <output>
            <param name="xmlId" type="integer" desc="xmlId"/>
        </output>
    </function>
    <function name="cutTrack" desc="Relinquish Track Segments" category="Tire Track">
        <input>
            <param name="systemId" type="integer" desc="systemId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output/>
    </function>
    <function name="delete" desc="Delete Entity/Object" category="Entity">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output/>
    </function>
    <function name="destroyFoliageBendingObject" desc="" category="">
        <input>
            <param name="foliageBendingSystemId" type="integer" desc=""/>
            <param name="objectId" type="integer" desc="id of the bending object, such as returned by createFoliageBendingRectangle"/>
        </input>
        <output/>
    </function>
    <function name="destroyTrack" desc="Destroys a tire track system" category="Tire Track">
        <input>
            <param name="systemId" type="integer" desc="systemId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output/>
    </function>
    <function name="disableAnimTrack" desc="Disable animation track" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output/>
    </function>
    <function name="drawDebugArrow" desc="Render an arrow. Only use for debug rendering" category="General">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="dirX" type="float" desc="dirX"/>
            <param name="dirY" type="float" desc="dirY"/>
            <param name="dirZ" type="float" desc="dirZ"/>
            <param name="tangX" type="float" desc="tangX"/>
            <param name="tangY" type="float" desc="tangY"/>
            <param name="tangZ" type="float" desc="tangZ"/>
            <param name="r" type="float" desc="r"/>
            <param name="g" type="float" desc="g"/>
            <param name="b" type="float" desc="b"/>
            <param name="solid" type="boolean" desc="solid (optional, default=true)"/>
        </input>
        <output/>
    </function>
    <function name="drawDebugLine" desc="Render a line. Only use for debug rendering" category="General">
        <input>
            <param name="x0" type="float" desc="x0"/>
            <param name="y0" type="float" desc="y0"/>
            <param name="z0" type="float" desc="z0"/>
            <param name="r0" type="float" desc="r0"/>
            <param name="g0" type="float" desc="g0"/>
            <param name="b0" type="float" desc="b0"/>
            <param name="x1" type="float" desc="x1"/>
            <param name="y1" type="float" desc="y1"/>
            <param name="z1" type="float" desc="z1"/>
            <param name="r1" type="float" desc="r1"/>
            <param name="g1" type="float" desc="g1"/>
            <param name="b1" type="float" desc="b1"/>
            <param name="solid" type="boolean" desc="solid (optional, default=true)"/>
        </input>
        <output/>
    </function>
    <function name="drawDebugPoint" desc="Render a point. Only use for debug rendering" category="General">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="r" type="float" desc="r"/>
            <param name="g" type="float" desc="g"/>
            <param name="b" type="float" desc="b"/>
            <param name="a" type="float" desc="a"/>
            <param name="solid" type="boolean" desc="solid (optional, default=true)"/>
        </input>
        <output/>
    </function>
    <function name="enableAnimTrack" desc="Enable animation track" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output/>
    </function>
    <function name="eraseParallelogram" desc="Erase Segments Inside Parallelogram" category="Tire Track">
        <input>
            <param name="systemId" type="integer" desc="systemId"/>
            <param name="startWorldX" type="float" desc="startWorldX"/>
            <param name="startWorldZ" type="float" desc="startWorldZ"/>
            <param name="widthWorldX" type="float" desc="widthWorldX"/>
            <param name="widthWorldZ" type="float" desc="widthWorldZ"/>
            <param name="heightWorldX" type="float" desc="heightWorldX"/>
            <param name="heightWorldZ" type="float" desc="heightWorldZ"/>
        </input>
        <output/>
    </function>
    <function name="exportNoteNodes" desc="Export all script created notes to file" category="NoteNode">
        <input>
            <param name="filePth" type="string" desc=""/>
        </input>
        <output/>
    </function>
    <function name="fillPlaneAdd" desc="Add material/volume to a fill plane" category="Fillplanes">
        <input>
            <param name="fillPlaneId" type="integer" desc="fillPlaneId"/>
            <param name="dTvolume" type="float" desc="dTvolume"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="dx1" type="float" desc="dx1"/>
            <param name="dy1" type="float" desc="dy1"/>
            <param name="dz1" type="float" desc="dz1"/>
            <param name="dx2" type="float" desc="dx2"/>
            <param name="dy2" type="float" desc="dy2"/>
            <param name="dz2" type="float" desc="dz2"/>
        </input>
        <output/>
    </function>
    <function name="findPolyline" desc="find nearest polyline" category="Fillplanes">
        <input>
            <param name="fillPlaneId" type="integer" desc="fillPlaneId"/>
            <param name="x" type="float" desc="x"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="polyLineId" type="integer" desc="polyLineId"/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor.new" desc="" category="">
        <input/>
        <output>
            <param name="" type="object" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:allocateTypeIndex" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:createLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="string" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:createLodForShape" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:createMultiLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:createShapeForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:createStateForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getAtlasOffsetForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getAtlasSizeForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getBlocksPerUnitForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getCellSize" desc="" category="">
        <input/>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getDecalLayer" desc="" category="">
        <input/>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getDensityChannelsForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getDensityMapInfo" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getDistanceMapForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getHeightAndVarianceForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getMaxNumStatesForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getNameForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getNameForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getNumLayers" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getNumLodsForShape" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getNumShapesForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getNumStatesForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getObjectMask" desc="" category="">
        <input/>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getPositionVarianceForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getShapeForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getShapeSourceForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getTexCoordsForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getTypeIndexForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getViewDistanceForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:getWidthAndVarianceForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:loadFruitTypeFromXml" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="string" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="FoliageTransformGroupConstructor:setAtlasOffsetForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setAtlasSizeForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setBlocksPerUnitForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setCellSize" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setDecalLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setDensityChannelsForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setDistanceMapForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="string" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setHeightAndVarianceForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setNameForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setObjectMask" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setPositionVarianceForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setShapeForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setShapeSourceForLayer" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setTexCoordsForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setViewDistanceForLod" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="FoliageTransformGroupConstructor:setWidthAndVarianceForState" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="getAllSharedI3DFileRequestIds" desc="Get all shared I3D file request ids" category="I3D">
        <input/>
        <output>
            <param name="ids" type="intarray" desc="array of request ids"/>
        </output>
    </function>
    <function name="getAllStreamI3DFileRequestIds" desc="Get all streaming I3D file request ids" category="I3D">
        <input/>
        <output>
            <param name="ids" type="intarray" desc="array of request ids"/>
        </output>
    </function>
    <function name="getAngularDamping" desc="Get angular damping" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="angularDamping" type="float" desc="angularDamping"/>
        </output>
    </function>
    <function name="getAngularVelocity" desc="Get angular velocity of transform object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="velocityX" type="float" desc="velocityX"/>
            <param name="velocityY" type="float" desc="velocityY"/>
            <param name="velocityZ" type="float" desc="velocityZ"/>
        </output>
    </function>
    <function name="getAnimCharacterSet" desc="Get animation character set id" category="Animation">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
        </output>
    </function>
    <function name="getAnimClipDuration" desc="Get the duration of the clip at the given index" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="index" type="integer" desc="index"/>
        </input>
        <output>
            <param name="duration" type="float" desc="duration"/>
        </output>
    </function>
    <function name="getAnimClipIndex" desc="Return the index of the clip with the given name" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="clipName" type="string" desc="clipName"/>
        </input>
        <output>
            <param name="index" type="integer" desc="index"/>
        </output>
    </function>
    <function name="getAnimNumOfClips" desc="Get number of clips" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
        </input>
        <output>
            <param name="numClips" type="integer" desc="numClips"/>
        </output>
    </function>
    <function name="getAnimTrackAssignedClip" desc="Get animation track assigned clip index number" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output>
            <param name="clipIndex" type="integer" desc="clipIndex"/>
        </output>
    </function>
    <function name="getAnimTrackBlendWeight" desc="Get animation track blend weight" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output>
            <param name="weight" type="float" desc="weight"/>
        </output>
    </function>
    <function name="getAnimTrackTime" desc="Get animation track loop state" category="Animation">
        <input>
            <param name="trackId" type="integer" desc="trackId"/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="time" type="float" desc="time"/>
        </output>
    </function>
    <function name="getAudioSourceAutoPlay" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getAudioSourceInnerRange" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getAudioSourceMaxRetriggerDelay" desc="Get the AudioSource&apos;s max retrigger delay" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="maxRetriggerDelay" type="float" desc="maxRetriggerDelay"/>
        </output>
    </function>
    <function name="getAudioSourceMinRetriggerDelay" desc="Get the AudioSource&apos;s min retrigger delay" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="minRetriggerDelay" type="float" desc="minRetriggerDelay"/>
        </output>
    </function>
    <function name="getAudioSourceRandomPlayback" desc="Get the AudioSource&apos;s random playback state" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="randomPlayback" type="boolean" desc="randomPlayback"/>
        </output>
    </function>
    <function name="getAudioSourceRange" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getAudioSourceSample" desc="Gets the sample id of an audio source" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </output>
    </function>
    <function name="getAudioSourceSampleElementProbability" desc="Get the AudioSource&apos;s sample element&apos;s probability" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="index" type="integer" desc="index"/>
        </input>
        <output>
            <param name="probability" type="float" desc="probability"/>
        </output>
    </function>
    <function name="getAudioSourceTickInaudible" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getCamera" desc="Get camera" category="">
        <input/>
        <output>
            <param name="cameraId" type="integer" desc="cameraId"/>
        </output>
    </function>
    <function name="getCanRenderUnicode" desc="Get can render unicode" category="Text Rendering">
        <input>
            <param name="unicode" type="integer" desc="unicode"/>
        </input>
        <output>
            <param name="canRender" type="boolean" desc="canRender"/>
        </output>
    </function>
    <function name="getCCTCollisionFlags" desc="Get character controller collision flags" category="Physics">
        <input>
            <param name="characterIndex" type="integer" desc="characterIndex"/>
        </input>
        <output>
            <param name="side" type="boolean" desc="side"/>
            <param name="up" type="boolean" desc="up"/>
            <param name="down" type="boolean" desc="down"/>
        </output>
    </function>
    <function name="getCenterOfMass" desc="Get center of mass" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getChild" desc="Get child id" category="Node">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="childName" type="string" desc="childName"/>
        </input>
        <output>
            <param name="childId" type="integer" desc="childId"/>
        </output>
    </function>
    <function name="getChildAt" desc="Get child id at given index" category="Node">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="index" type="integer" desc="index"/>
        </input>
        <output>
            <param name="childId" type="integer" desc="childId"/>
        </output>
    </function>
    <function name="getChildIndex" desc="Get child index" category="">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="childIndex" type="integer" desc="childIndex"/>
        </output>
    </function>
    <function name="getClipDistance" desc="Get object clip distance" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="distance" type="float" desc="distance"/>
        </output>
    </function>
    <function name="getClipDistancesWithLOD" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getClosestSplinePosition" desc="Get closest world space position and time on spline to given world space position" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc=""/>
            <param name="worldX" type="float" desc=""/>
            <param name="worldY" type="float" desc=""/>
            <param name="worldZ" type="float" desc=""/>
            <param name="eps" type="float" desc="acceptable world space error"/>
        </input>
        <output>
            <param name="worldX" type="float" desc=""/>
            <param name="worldY" type="float" desc=""/>
            <param name="worldZ" type="float" desc=""/>
            <param name="time" type="float" desc=""/>
        </output>
    </function>
    <function name="getCollisionMask" desc="Get collision mask" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="mask" type="integer" desc="mask"/>
        </output>
    </function>
    <function name="getConditionalAnimationBoolValue" desc="Get boolean value" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="parameterId" type="integer" desc="parameterId"/>
        </input>
        <output>
            <param name="value" type="boolean" desc="value"/>
        </output>
    </function>
    <function name="getConditionalAnimationFloatValue" desc="Get float value" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="parameterId" type="integer" desc="parameterId"/>
        </input>
        <output>
            <param name="value" type="float" desc="value"/>
        </output>
    </function>
    <function name="getConditionalAnimationTime" desc="Get time" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc=""/>
        </input>
        <output>
            <param name="time" type="float" desc=""/>
        </output>
    </function>
    <function name="getCurrentMasterVolume" desc="Get current master volume" category="Sound">
        <input/>
        <output>
            <param name="volume" type="float" desc="volume"/>
        </output>
    </function>
    <function name="getDataPlaneAssociatedTransformGroup" desc="Get associated transform group (foliage or terrain fill) from a given dataplane" category="Terrain Detail">
        <input>
            <param name="dataPlaneId" type="integer" desc="dataplane ID"/>
        </input>
        <output>
            <param name="tgId" type="integer" desc="transform group ID"/>
        </output>
    </function>
    <function name="getDensity" desc="Get density" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="density" type="float" desc="density"/>
        </output>
    </function>
    <function name="getDensityAtWorldPos" desc="Get density at world position" category="Terrain Detail">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="density" type="integer" desc="density"/>
        </output>
    </function>
    <function name="getDensityHeightAtWorldPos" desc="Get height of the density map at the world position" category="Terrain Detail">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="height" type="float" desc=""/>
            <param name="delta" type="float" desc="height to terrain"/>
        </output>
    </function>
    <function name="getDensityMapSize" desc="Get density map file name" category="Terrain Detail">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="mapSize" type="integer" desc="mapSize"/>
        </output>
    </function>
    <function name="getDensityMapSyncerCellIndicesAtWorldPosition" desc="" category="Terrain Detail">
        <input>
            <param name="densityMapSyncer" type="integer" desc="id"/>
            <param name="densityMap" type="integer" desc="id"/>
            <param name="worldX" type="float" desc="world X coordinate"/>
            <param name="worldZ" type="float" desc="world Z coordinate"/>
        </input>
        <output>
            <param name="cellX" type="integer" desc="cell index"/>
            <param name="cellZ" type="integer" desc="cell index"/>
            <param name="inRangeFlag" type="boolean" desc="cell indices are in range"/>
        </output>
    </function>
    <function name="getDensityNormalAtWorldPos" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getDensityRegion" desc="Get density region" category="Terrain Detail">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="z" type="float" desc="z"/>
            <param name="width" type="float" desc="width"/>
            <param name="height" type="float" desc="height"/>
            <param name="firstChannel" type="integer" desc="firstChannel"/>
            <param name="numChannels" type="integer" desc="numChannels"/>
        </input>
        <output>
            <param name="density" type="integer" desc="sum density sum"/>
        </output>
    </function>
    <function name="getDensityRegionWorld" desc="Get density region world" category="Terrain Detail">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="z" type="float" desc="z"/>
            <param name="width" type="float" desc="width"/>
            <param name="height" type="float" desc="height"/>
            <param name="firstChannel" type="integer" desc="firstChannel"/>
            <param name="numChannels" type="integer" desc="numChannels"/>
        </input>
        <output>
            <param name="type" type="integer" desc="type"/>
        </output>
    </function>
    <function name="getEffectiveClipDistancesWithLOD" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getEffectiveVisibility" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getEmitStartTime" desc="Get emitter starting time." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
        </input>
        <output>
            <param name="emitStartTime" type="float" desc="emitStartTime"/>
        </output>
    </function>
    <function name="getEmitStopTime" desc="Get emitter stop time." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
        </input>
        <output>
            <param name="emitStopTime" type="float" desc="emitStopTime"/>
        </output>
    </function>
    <function name="getEmitterShape" desc="Returns the emitter shape of the particle system" category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
        </input>
        <output>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </output>
    </function>
    <function name="getEmitterShapeVelocityScale" desc="Returns the emitter shape velocity scale of the particle system" category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
        </input>
        <output>
            <param name="shape" type="float" desc="velocity scale"/>
        </output>
    </function>
    <function name="getFarClip" desc="Get the far clip distance" category="">
        <input>
            <param name="cameraId" type="integer" desc="cameraId"/>
        </input>
        <output>
            <param name="farClip" type="float" desc="farClip"/>
        </output>
    </function>
    <function name="getFillPlaneHeightAtLocalPos" desc="Get the fill plane height at a specific position" category="Fillplanes">
        <input>
            <param name="fillPlaneId" type="integer" desc="fillPlaneId"/>
            <param name="x" type="float" desc="x"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="height" type="float" desc="height"/>
        </output>
    </function>
    <function name="getFoliageBendingRectangleAttributes" desc="" category="">
        <input>
            <param name="foliageBendingSystemId" type="integer" desc=""/>
            <param name="rectangleId" type="integer" desc=""/>
        </input>
        <output>
            <param name="minX" type="float" desc=""/>
            <param name="maxX" type="float" desc=""/>
            <param name="minZ" type="float" desc=""/>
            <param name="maxZ" type="float" desc=""/>
            <param name="yOffset" type="float" desc=""/>
        </output>
    </function>
    <function name="getFoliageTransformGroupIdByFoliageName" desc="Get foliage transform group from foliage (dataplane) name" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
            <param name="detailName" type="string" desc="detailName"/>
        </input>
        <output>
            <param name="foliageTgId" type="integer" desc="foliageTgId"/>
        </output>
    </function>
    <function name="getFovY" desc="Get the vertical field of view angle" category="">
        <input>
            <param name="cameraId" type="integer" desc="id of the camera"/>
        </input>
        <output>
            <param name="fovY" type="float" desc="field of view angle (radian)"/>
        </output>
    </function>
    <function name="getGamepadAxisLabel" desc="Get joystick/gamepad axis label" category="Input">
        <input>
            <param name="axisNumber" type="integer" desc="axisNumber"/>
            <param name="gamepadIndex" type="integer" desc="gamepadIndex"/>
        </input>
        <output>
            <param name="axisLabel" type="string" desc="axisLabel"/>
        </output>
    </function>
    <function name="getGamepadAxisPhysicalName" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="getGamepadButtonLabel" desc="Get joystick/gamepad button label" category="Input">
        <input>
            <param name="buttonNumber" type="integer" desc="buttonNumber"/>
            <param name="gamepadIndex" type="integer" desc="gamepadIndex"/>
        </input>
        <output>
            <param name="buttonLabel" type="string" desc="buttonLabel"/>
        </output>
    </function>
    <function name="getGamepadButtonPhysicalName" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="getGamepadMappedUnknownAxis" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getGamepadMappedUnknownButton" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="getGamepadName" desc="Get name of joystick/gamepad" category="Input">
        <input>
            <param name="gamepadIndex" type="integer" desc="gamepadIndex"/>
        </input>
        <output>
            <param name="gamepadName" type="string" desc="gamepadName"/>
        </output>
    </function>
    <function name="getGamepadProductId" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="getGamepadVendorId" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="getGamepadVersionId" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="getGeometry" desc="Get shape geometry id" category="">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="geometryId" type="integer" desc="geometryId"/>
        </output>
    </function>
    <function name="getHasClassId" desc="Get has class id" category="Entity">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="classId" type="integer" desc="classId"/>
        </input>
        <output>
            <param name="hasClassId" type="boolean" desc="hasClassId"/>
        </output>
    </function>
    <function name="getHasShaderParameter" desc="Get has shader parameter" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="parameterName" type="string" desc="parameterName"/>
        </input>
        <output>
            <param name="hasParam" type="boolean" desc="hasParam"/>
        </output>
    </function>
    <function name="getHasTouchpad" desc="Get existence of a touchpad - this is dynamic (e.g. Switch has touchpad only when not docked)" category="Input">
        <input/>
        <output>
            <param name="hasTouchpad" type="boolean" desc="true iff the device has an active touchpad"/>
        </output>
    </function>
    <function name="getHasTrigger" desc="Get has trigger flag" category="Physics">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getInputAxis" desc="Get joystick/gamepad axis value" category="Input">
        <input>
            <param name="axisNumber" type="integer" desc="axisNumber"/>
            <param name="gamepadIndex" type="integer" desc="gamepadIndex"/>
        </input>
        <output>
            <param name="axisValue" type="float" desc="axisValue"/>
        </output>
    </function>
    <function name="getInputButton" desc="Get joystick/gamepad button value" category="Input">
        <input>
            <param name="buttonNumber" type="integer" desc="buttonNumber"/>
            <param name="gamepadIndex" type="integer" desc="gamepadIndex"/>
        </input>
        <output>
            <param name="buttonValue" type="float" desc="buttonValue"/>
        </output>
    </function>
    <function name="getIsCompound" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getIsCompoundChild" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getIsGamepadMappingReliable" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getIsLockedGroup" desc="Get transform object locked group flag" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="locked" type="boolean" desc="group locked group"/>
        </output>
    </function>
    <function name="getIsNonRenderable" desc="Get if shape is non-renderable" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="isNonRenderable" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getIsOrthographic" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getIsSplineClosed" desc="Checks if given spline has closed form" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="isClosed" type="boolean" desc="isClosed"/>
        </output>
    </function>
    <function name="getLevenshteinDistance" desc="Get levenshtein distance" category="Math">
        <input>
            <param name="value1" type="string" desc="value1"/>
            <param name="value2" type="string" desc="value2"/>
        </input>
        <output>
            <param name="distance" type="integer" desc="distance"/>
        </output>
    </function>
    <function name="getLightCastingShadowMap" desc="Returns whether the light source casts a shadow or not." category="Lighting">
        <input>
            <param name="lightId" type="integer" desc="lightId"/>
        </input>
        <output>
            <param name="doesCastShadowMap" type="boolean" desc="doesCastShadowMap"/>
        </output>
    </function>
    <function name="getLightRange" desc="Get range of a light" category="Lighting">
        <input>
            <param name="lightId" type="integer" desc="lightId"/>
        </input>
        <output>
            <param name="range" type="float" desc="range"/>
        </output>
    </function>
    <function name="getLightScatteringDirection" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getLightType" desc="Get light type" category="Lighting">
        <input>
            <param name="lightId" type="integer" desc="lightId"/>
        </input>
        <output>
            <param name="lightType" type="integer" desc="lightType"/>
        </output>
    </function>
    <function name="getLinearDamping" desc="Get linear damping" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="linearDamping" type="float" desc="linearDamping"/>
        </output>
    </function>
    <function name="getLinearVelocity" desc="Get linear velocity of transform object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="velocityX" type="float" desc="velocityX"/>
            <param name="velocityY" type="float" desc="velocityY"/>
            <param name="velocityZ" type="float" desc="velocityZ"/>
        </output>
    </function>
    <function name="getLocalClosestSplinePosition" desc="Get closest world space position and time on spline to given world space position" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="time" type="float" desc=""/>
            <param name="timeRange" type="float" desc="(searches in -/+ 0.5*range)"/>
            <param name="worldX" type="float" desc=""/>
            <param name="worldY" type="float" desc=""/>
            <param name="worldZ" type="float" desc=""/>
            <param name="eps" type="float" desc="world space error"/>
        </input>
        <output>
            <param name="worldX" type="float" desc=""/>
            <param name="worldY" type="float" desc=""/>
            <param name="worldZ" type="float" desc=""/>
            <param name="time" type="float" desc=""/>
        </output>
    </function>
    <function name="getLocalLinearVelocity" desc="Get local linear velocity of transform object (only for dynamic physics objects)" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="velocityX" type="float" desc="velocityX"/>
            <param name="velocityY" type="float" desc="velocityY"/>
            <param name="velocityZ" type="float" desc="velocityZ"/>
        </output>
    </function>
    <function name="getLODTransformGroup" desc="Returns the LOD transform group that this transform group belongs to" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId is either a shape, an audio source or a light source"/>
        </input>
        <output>
            <param name="lodTransformId" type="integer" desc=""/>
        </output>
    </function>
    <function name="getMass" desc="Get mass" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="mass" type="float" desc="mass"/>
        </output>
    </function>
    <function name="getMasterVolume" desc="Get master volume" category="Sound">
        <input/>
        <output>
            <param name="volume" type="float" desc="volume"/>
        </output>
    </function>
    <function name="getMaterial" desc="Get material by index" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="materialIdx" type="integer" desc="materialIdx"/>
        </input>
        <output>
            <param name="materialId" type="integer" desc="materialId"/>
        </output>
    </function>
    <function name="getMaterialCustomShaderFilename" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="customShaderFilename" type="string" desc="filename of the custom shader"/>
        </output>
    </function>
    <function name="getMaterialCustomShaderVariation" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="customShaderVariation" type="string" desc="name of the custom shader variation"/>
        </output>
    </function>
    <function name="getMaterialDiffuseMapFilename" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="filename" type="string" desc="filename"/>
        </output>
    </function>
    <function name="getMaterialDiffuseMapHasAlpha" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="hasAlphaChannel" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getMaterialEmissiveMapFilename" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="filename" type="string" desc="filename"/>
        </output>
    </function>
    <function name="getMaterialEmissiveMapHasAlpha" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="hasAlphaChannel" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getMaterialGlossMapFilename" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="filename" type="string" desc="filename"/>
        </output>
    </function>
    <function name="getMaterialHasRefractionMap" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="hasRefractionMap" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getMaterialIsAlphaBlended" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="isAlphaBlended" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getMaterialIsAlphaTested" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="isAlphaTested" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getMaterialNormalMapFilename" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="filename" type="string" desc="filename"/>
        </output>
    </function>
    <function name="getMaterialNormalMapFormat" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="normalFormat" type="integer" desc="format of enum NormalMapFormat"/>
        </output>
    </function>
    <function name="getMaterialReflectionMapScaling" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
        </input>
        <output>
            <param name="reflectionMapScaling" type="float" desc="scaling of reflection map. 0 if no reflection map."/>
        </output>
    </function>
    <function name="getMinClipDistance" desc="Get minimum clip distance" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="minDist" type="float" desc="minDist"/>
        </output>
    </function>
    <function name="getMotorRotationSpeed" desc="Set vehicle properties" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="motorRotSpeed" type="float" desc="motorRotSpeed"/>
            <param name="clutchRotSpeed" type="float" desc="clutchRotSpeed"/>
            <param name="motorLoad" type="float" desc="motorLoad"/>
        </output>
    </function>
    <function name="getMotorTorque" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getName" desc="Get object name" category="">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="objectName" type="string" desc="objectName"/>
        </output>
    </function>
    <function name="getNearClip" desc="Set the near clip distance" category="">
        <input>
            <param name="cameraId" type="integer" desc="cameraId"/>
        </input>
        <output>
            <param name="nearClip" type="float" desc="nearClip"/>
        </output>
    </function>
    <function name="getNoteNodeText" desc="Get note node text" category="NoteNode">
        <input>
            <param name="noteId" type="integer" desc="Id of the note node"/>
        </input>
        <output>
            <param name="text" type="string" desc=""/>
        </output>
    </function>
    <function name="getNumOfAudioSourceSampleElements" desc="Get the number of sample elements for an AudioSource" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="count" type="integer" desc="count"/>
        </output>
    </function>
    <function name="getNumOfChildren" desc="Get number of children" category="Node">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="numOfChildren" type="integer" desc="numOfChildren"/>
        </output>
    </function>
    <function name="getNumOfGamepads" desc="Get number of joysticks/gamepads" category="Input">
        <input/>
        <output>
            <param name="numOfGamepads" type="integer" desc="numOfGamepads"/>
        </output>
    </function>
    <function name="getNumOfMaterials" desc="Get number of materials" category="">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="numMaterials" type="integer" desc="numMaterials"/>
        </output>
    </function>
    <function name="getNumOfShapeBones" desc="" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="numOfBones" type="integer" desc=""/>
        </output>
    </function>
    <function name="getNumOfSharedI3DFiles" desc="Gets the number of shared I3d files" category="I3D">
        <input/>
        <output>
            <param name="fileCount" type="integer" desc="fileCount"/>
        </output>
    </function>
    <function name="getNumUserAttribute" desc="Get number of user attributes" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="numAttributes" type="integer" desc="numAttributes (optional)"/>
        </output>
    </function>
    <function name="getObjectMask" desc="Get object mask" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="mask" type="integer" desc="mask"/>
        </output>
    </function>
    <function name="getOrthographicHeight" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getParent" desc="Get parent id" category="">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="parentId" type="integer" desc="parentId"/>
        </output>
    </function>
    <function name="getParticleSystemAverageSpeed" desc="Get particle system average speed." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
        </input>
        <output>
            <param name="normalSpeed" type="float" desc="normalSpeed"/>
            <param name="tangentSpeed" type="float" desc="tangentSpeed"/>
        </output>
    </function>
    <function name="getParticleSystemLifespan" desc="Get particle system life span." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
        </input>
        <output>
            <param name="lifeSpan" type="float" desc="lifeSpan"/>
        </output>
    </function>
    <function name="getParticleSystemSpeed" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getProjectionOffset" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getQuaternion" desc="gets quaternion" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="w" type="float" desc="w"/>
        </output>
    </function>
    <function name="getRigidBodyType" desc="Get rigid body type" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="RIGID_BODY_TYPE" type="integer" desc=""/>
        </output>
    </function>
    <function name="getRootNode" desc="Get root node" category="">
        <input/>
        <output>
            <param name="objectId" type="integer" desc="objectId"/>
        </output>
    </function>
    <function name="getRotation" desc="Get rotation of a transform object" category="">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getSampleDuration" desc="Get sample duration" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="duration" type="float" desc="duration"/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisLoadFactor" desc="Get the loop synthesis sample load factor currently played" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="loadFactor" type="float" desc="loadFactor normalized between [-1;1]"/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisMaxRPM" desc="Get the loop synthesis sample max RPM" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="max" type="float" desc="RPM"/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisMinRPM" desc="Get the loop synthesis sample min RPM" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="min" type="float" desc="RPM"/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisRPM" desc="Get the loop synthesis sample RPM currently played" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="useNormalizedValue." type="boolean" desc="If true, return normalized value between [0;1]; else return real range value."/>
        </input>
        <output>
            <param name="rpm" type="float" desc="rpm"/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisStartDuration" desc="Get the loop synthesis sample start sound duration" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="startDuration" type="float" desc="duration [ms] of the loop synthesis start sound."/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisStopDuration" desc="Get the loop synthesis sample stop sound duration" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="stopDuration" type="float" desc="duration [ms] of the loop synthesis stop sound. Shoud be passed to the stopSample delay to make sure the stop sound can be played fully."/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisTargetLoadFactor" desc="Get the loop synthesis sample target load factor" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="loadFactor" type="float" desc="loadFactor normalized between [-1;1]"/>
        </output>
    </function>
    <function name="getSampleLoopSynthesisTargetRPM" desc="Get the loop synthesis sample target RPM " category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="useNormalizedValue." type="boolean" desc="If true, return normalized value between [0;1]; else return real range value."/>
        </input>
        <output>
            <param name="rpm" type="float" desc="rpm"/>
        </output>
    </function>
    <function name="getSamplePitch" desc="Set sample pitch" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="pitch" type="float" desc="pitch"/>
        </output>
    </function>
    <function name="getSamplePlayOffset" desc="Get sample play offset" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="offset" type="float" desc="offset"/>
        </output>
    </function>
    <function name="getSamplePlayTimeLeft" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getSampleVelocity" desc="Get velocity of a sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getSampleVolume" desc="Get sample volume" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="volume" type="float" desc="volume"/>
        </output>
    </function>
    <function name="getScale" desc="Get scale of a transform object" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getShaderParameter" desc="Get shader parameter" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="parameterName" type="string" desc="parameterName"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="w" type="float" desc="w"/>
        </output>
    </function>
    <function name="getShapeBone" desc="" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc=""/>
            <param name="boneIndex" type="integer" desc=""/>
        </input>
        <output>
            <param name="boneId" type="integer" desc=""/>
        </output>
    </function>
    <function name="getShapeBoundingSphere" desc="Returns bounding sphere of shape" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="localPosX" type="float" desc=""/>
            <param name="localPosY" type="float" desc=""/>
            <param name="localPosZ" type="float" desc=""/>
            <param name="radius" type="float" desc=""/>
        </output>
    </function>
    <function name="getShapeIsCPUMesh" desc="Get if shape is marked as CPU mesh" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="isCPUMesh" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getShapeIsSkinned" desc="Get if shape is skinned" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="isSkinned" type="boolean" desc=""/>
            <param name="isSkinnedSingleWeight" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getSharedI3DFileProgressInfo" desc="Get shared I3D file progress information" category="I3D">
        <input>
            <param name="requestId" type="integer" desc="request id from streamSharedI3DFile"/>
        </input>
        <output>
            <param name="progress" type="string" desc="a string describing the progress"/>
            <param name="elapsedTime" type="float" desc="the elapsed time in seconds since the request was made"/>
            <param name="filename" type="string" desc="the filename being loaded, or else &quot;&quot;"/>
            <param name="function" type="string" desc="the Lua callback name, or else the name of the C++ class that handles the callback, or else &quot;&quot;"/>
            <param name="target" type="object" desc="the Lua callback target, or nil"/>
            <param name="args" type="object" desc="the Lua callback arguments, or nil"/>
        </output>
    </function>
    <function name="getSharedI3DFileRefCount" desc="Gets the number references a shared I3D file has" category="I3D">
        <input>
            <param name="filename" type="string" desc=""/>
        </input>
        <output>
            <param name="refCount" type="integer" desc="Number of references for the shared i3d. Smaller than 0 if file is not loaded or loading. Can be 0 when the file is still loaded (e.g. due to a releaseSharedI3DFile call with autoDelete = false)."/>
        </output>
    </function>
    <function name="getSplineCV" desc="Get spline control vertex" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="index" type="integer" desc="index"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getSplineDirection" desc="Get spline direction" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="time" type="float" desc="time"/>
        </input>
        <output>
            <param name="dirX" type="float" desc="dirX"/>
            <param name="dirY" type="float" desc="dirY"/>
            <param name="dirZ" type="float" desc="dirZ"/>
        </output>
    </function>
    <function name="getSplineEP" desc="Get spline edit point" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="index" type="integer" desc="index"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getSplineLength" desc="Get spline length" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="length" type="float" desc="length"/>
        </output>
    </function>
    <function name="getSplineNumOfCV" desc="Get number of spline control vertices" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="num" type="integer" desc="num"/>
        </output>
    </function>
    <function name="getSplineOrientation" desc="Get spline orientation" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="time" type="float" desc="time"/>
            <param name="upDirX" type="float" desc="upDirX"/>
            <param name="upDirY" type="float" desc="upDirY"/>
            <param name="upDirZ" type="float" desc="upDirZ"/>
        </input>
        <output>
            <param name="rx" type="float" desc="rx"/>
            <param name="ry" type="float" desc="ry"/>
            <param name="rz" type="float" desc="rz"/>
        </output>
    </function>
    <function name="getSplinePosition" desc="Get spline position" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="time" type="float" desc="time"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getSplinePositionWithDistance" desc="Get world space position and time on spline that has the given world space distance to the position on the spline at the given" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="time" type="float" desc=""/>
            <param name="distance" type="float" desc=""/>
            <param name="positiveTimeOffset" type="boolean" desc="search in positive or negative direction of t"/>
            <param name="eps" type="float" desc="world space"/>
        </input>
        <output>
            <param name="worldX" type="float" desc=""/>
            <param name="worldY" type="float" desc=""/>
            <param name="worldZ" type="float" desc=""/>
            <param name="time" type="float" desc=""/>
        </output>
    </function>
    <function name="getSplitType" desc="Get split type" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output>
            <param name="splitType" type="integer" desc="splitType"/>
        </output>
    </function>
    <function name="getStreamedSampleVolume" desc="Get streamed sample volume" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output>
            <param name="volume" type="float" desc="volume"/>
        </output>
    </function>
    <function name="getStreamI3DFileProgressInfo" desc="Get streaming I3D file progress information" category="I3D">
        <input>
            <param name="requestId" type="integer" desc="request id from streamI3DFile"/>
        </input>
        <output>
            <param name="progress" type="string" desc="a string describing the progress"/>
            <param name="elapsedTime" type="float" desc="the elapsed time in seconds since the request was made"/>
            <param name="filename" type="string" desc="the filename being loaded, or else &quot;&quot;"/>
            <param name="function" type="string" desc="the Lua callback name, or else the name of the C++ class that handles the callback, or else &quot;&quot;"/>
            <param name="target" type="object" desc="the Lua callback target, or nil"/>
            <param name="args" type="object" desc="the Lua callback arguments, or nil"/>
        </output>
    </function>
    <function name="getTerrainAttributesAtWorldPos" desc="Get terrain attributes at world pos" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="xComb" type="boolean" desc="xComb"/>
            <param name="yComb" type="boolean" desc="yComb"/>
            <param name="zComb" type="boolean" desc="zComb"/>
            <param name="wComb" type="boolean" desc="wComb"/>
            <param name="uComb" type="boolean" desc="uComb"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="w" type="float" desc="w"/>
            <param name="u" type="float" desc="u"/>
        </output>
    </function>
    <function name="getTerrainDataPlaneByName" desc="Get terrain data plane by name" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
            <param name="detailName" type="string" desc="detailName"/>
        </input>
        <output>
            <param name="detailId" type="integer" desc="detailId"/>
        </output>
    </function>
    <function name="getTerrainDetailByName" desc="Get terrain detail by name" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
            <param name="detailName" type="string" desc="detailName"/>
        </input>
        <output>
            <param name="detailId" type="integer" desc="detailId"/>
        </output>
    </function>
    <function name="getTerrainDetailName" desc="Get terrain detail name" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
        </input>
        <output>
            <param name="viewDistance" type="string" desc="viewDistance"/>
        </output>
    </function>
    <function name="getTerrainDetailNumChannels" desc="Get number of terrain detail channels" category="Terrain Detail">
        <input>
            <param name="terrain" type="integer" desc="id terrain id"/>
        </input>
        <output>
            <param name="numChannels" type="integer" desc="numChannels"/>
        </output>
    </function>
    <function name="getTerrainDetailTypeIndex" desc="Get density map type ID for terrain detail" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrain id"/>
        </input>
        <output>
            <param name="typeIndex" type="integer" desc="type index"/>
        </output>
    </function>
    <function name="getTerrainHeightAtWorldPos" desc="Get terrain height at world pos" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="height" type="float" desc="height"/>
        </output>
    </function>
    <function name="getTerrainNormalAtWorldPos" desc="Get terrain normal at world pos" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="nx" type="float" desc="nx"/>
            <param name="ny" type="float" desc="ny"/>
            <param name="nz" type="float" desc="nz"/>
        </output>
    </function>
    <function name="getTerrainOccludersCacheFilename" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="getTerrainSize" desc="Get terrain size" category="Terrain Detail">
        <input>
            <param name="terrainId" type="integer" desc="terrainId"/>
        </input>
        <output>
            <param name="size" type="float" desc="size"/>
        </output>
    </function>
    <function name="getText3DHeight" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="getText3DLength" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="string" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="getText3DLineLength" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="string" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="integer" desc=""/>
        </output>
    </function>
    <function name="getText3DWidth" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="getTextHeight" desc="Get text height" category="Text Rendering">
        <input>
            <param name="fontSize" type="float" desc="fontSize"/>
            <param name="utf8string" type="string" desc="utf8string"/>
        </input>
        <output>
            <param name="textHeight" type="float" desc="textHeight"/>
            <param name="numLines" type="integer" desc="numLines"/>
        </output>
    </function>
    <function name="getTextLength" desc="Get text length" category="Text Rendering">
        <input>
            <param name="fontSize" type="float" desc="fontSize"/>
            <param name="utf8string" type="string" desc="utf8string"/>
            <param name="maxNumLines" type="integer" desc="maxNumLines"/>
        </input>
        <output>
            <param name="numChars" type="integer" desc="numChars"/>
        </output>
    </function>
    <function name="getTextLineLength" desc="Get text length" category="Text Rendering">
        <input>
            <param name="fontSize" type="float" desc="fontSize"/>
            <param name="utf8string" type="string" desc="utf8string"/>
            <param name="maxWidth" type="float" desc="maxWidth"/>
        </input>
        <output>
            <param name="numChars" type="integer" desc="numChars"/>
        </output>
    </function>
    <function name="getTextWidth" desc="Get text width" category="Text Rendering">
        <input>
            <param name="fontSize" type="float" desc="fontSize"/>
            <param name="utf8string" type="string" desc="utf8string"/>
        </input>
        <output>
            <param name="textWidth" type="float" desc="textWidth"/>
        </output>
    </function>
    <function name="getTimeAtSplineCV" desc="Get spline time of the control vertex with the given index" category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="index" type="integer" desc="index"/>
        </input>
        <output>
            <param name="t" type="float" desc="t"/>
        </output>
    </function>
    <function name="getTranslation" desc="Get translation of a transform object" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getUseLightScattering" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="getUserAttribute" desc="Get user attribute value" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="attributeName" type="string" desc="attributeName"/>
        </input>
        <output>
            <param name="attributeValue" type="any" desc="attributeValue (optional)"/>
        </output>
    </function>
    <function name="getUserAttributeByIndex" desc="Get user attribute value by index" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="attributeIndex" type="integer" desc="attributeIndex"/>
        </input>
        <output>
            <param name="attributeValue" type="any" desc=" (optional)"/>
            <param name="attributeName" type="string" desc=""/>
        </output>
    </function>
    <function name="getVelocityAtLocalPos" desc="Get velocity at local position of transform object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
        </input>
        <output>
            <param name="velocityX" type="float" desc="velocityX"/>
            <param name="velocityY" type="float" desc="velocityY"/>
            <param name="velocityZ" type="float" desc="velocityZ"/>
        </output>
    </function>
    <function name="getVelocityAtWorldPos" desc="Get velocity at world position of transform object (only for dynamic physics objects)" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
        </input>
        <output>
            <param name="velocityX" type="float" desc="velocityX"/>
            <param name="velocityY" type="float" desc="velocityY"/>
            <param name="velocityZ" type="float" desc="velocityZ"/>
        </output>
    </function>
    <function name="getVisibility" desc="Get transform object visibility" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="visibility" type="boolean" desc="visibility"/>
        </output>
    </function>
    <function name="getVolume" desc="Get volume, only for dynamic and kinematic shapes, 0 otherwise" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="volume" type="float" desc="volume"/>
        </output>
    </function>
    <function name="getWheelShapeAxleSpeed" desc="Get wheel shape axle speed" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </input>
        <output>
            <param name="axleSpeed" type="float" desc="axleSpeed"/>
        </output>
    </function>
    <function name="getWheelShapeContactForce" desc="Get wheel shape contact force" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </input>
        <output>
            <param name="contactForce" type="float" desc="contactForce"/>
        </output>
    </function>
    <function name="getWheelShapeContactNormal" desc="Get wheel shape contact normal" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getWheelShapeContactObject" desc="Get wheel shape contact object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </input>
        <output>
            <param name="wheelShapeContactObject" type="integer" desc="wheelShapeContactObject"/>
            <param name="contactSubShapeIndex" type="integer" desc="contactSubShapeIndex"/>
        </output>
    </function>
    <function name="getWheelShapeContactPoint" desc="Get wheel shape contact point" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </input>
        <output>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
            <param name="contactSkinWidth" type="float" desc="contactSkinWidth"/>
        </output>
    </function>
    <function name="getWheelShapePosition" desc="Get wheel shape contact point" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </input>
        <output>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
            <param name="rotation" type="float" desc="rotation"/>
            <param name="suspensionLength" type="float" desc="suspension length"/>
        </output>
    </function>
    <function name="getWheelShapeSlip" desc="Get wheel shape slip" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
        </input>
        <output>
            <param name="wheelShapeSlip" type="float" desc="wheelShapeSlip"/>
            <param name="wheelShapeSlip" type="float" desc="wheelShapeSlip"/>
        </output>
    </function>
    <function name="getWorldQuaternion" desc="Gets world quaternion" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="w" type="float" desc="w"/>
        </output>
    </function>
    <function name="getWorldRotation" desc="Get world rotation of a transform object" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getWorldTranslation" desc="Get world translation of a transform object" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="getXMLBool" desc="Get XML file boolean attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
        </input>
        <output>
            <param name="value" type="boolean" desc="value"/>
        </output>
    </function>
    <function name="getXMLFilename" desc="Get XML filename" category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
        </input>
        <output>
            <param name="xmlFilename" type="string" desc="filename of xml entity (can be empty if not loaded from file)"/>
        </output>
    </function>
    <function name="getXMLFloat" desc="Get XML file float attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
        </input>
        <output>
            <param name="value" type="float" desc="value"/>
        </output>
    </function>
    <function name="getXMLInt" desc="Get XML file integer attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
        </input>
        <output>
            <param name="value" type="integer" desc="value"/>
        </output>
    </function>
    <function name="getXMLString" desc="Get XML file string attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
        </input>
        <output>
            <param name="value" type="string" desc="value"/>
        </output>
    </function>
    <function name="hasXMLProperty" desc="Returns if an XML element at given path is present. For checking the presence of xml attributes use &apos;getXMLString(xml, attributePath) ~= nil&apos; instead" category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="xmlElementPath" type="string" desc="Path to an xml element (xml attributes are not supported)"/>
        </input>
        <output>
            <param name="value" type="boolean" desc="value"/>
        </output>
    </function>
    <function name="initConditionalAnimation" desc="Init animations" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="charsetNodeId" type="integer" desc="character set node id"/>
            <param name="xmlFilePath" type="string" desc="xmlFilePath"/>
            <param name="baseNodeName" type="string" desc="baseNodeName"/>
        </input>
        <output/>
    </function>
    <function name="invalidateShapeBoundingVolume" desc="Makes sure the bounding volume of the shape is up to date with the geometry bounding volume.&#xA;This needs to be called after changing the bounding volume of the geometry if the bounding volume of the shape is not invalidated otherwise (e.g. by moving)" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="isAnimTrackClipAssigned" desc="Is clip assigned to animation track" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output>
            <param name="state" type="boolean" desc="state"/>
        </output>
    </function>
    <function name="isAnimTrackEnabled" desc="Is animation track enabled" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
        </input>
        <output>
            <param name="state" type="boolean" desc="state"/>
        </output>
    </function>
    <function name="isSamplePlaying" desc="Is sample playing" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc=""/>
        </input>
        <output>
            <param name="isPlaying" type="boolean" desc=""/>
        </output>
    </function>
    <function name="JointConstructor.new" desc="" category="">
        <input/>
        <output>
            <param name="" type="object" desc=""/>
        </output>
    </function>
    <function name="JointConstructor:setActors" desc="Set joint actors" category="Physics">
        <input>
            <param name="actor1Id" type="integer" desc="actor1Id"/>
            <param name="actor2Id" type="integer" desc="actor2Id"/>
        </input>
        <output/>
    </function>
    <function name="JointConstructor:setJointTransforms" desc="Set joint transforms" category="Physics">
        <input>
            <param name="jointNode1" type="integer" desc="jointNode1"/>
            <param name="jointNode2" type="integer" desc="jointNode2"/>
        </input>
        <output/>
    </function>
    <function name="link" desc="Link node to another node" category="">
        <input>
            <param name="parentNodeId" type="integer" desc="parentNodeId"/>
            <param name="childNodeId" type="integer" desc="childNodeId"/>
            <param name="index" type="integer" desc="index (optional)"/>
        </input>
        <output/>
    </function>
    <function name="loadI3DFile" desc="Load I3D file" category="I3D">
        <input>
            <param name="filename" type="string" desc="filename"/>
            <param name="addPhysics" type="boolean" desc="addPhysics (optional)"/>
            <param name="callOnCreate" type="boolean" desc="callOnCreate (optional)"/>
            <param name="verbose" type="boolean" desc="verbose (optional)"/>
        </input>
        <output>
            <param name="rootNodeId" type="integer" desc="rootNodeId"/>
            <param name="failedReason" type="integer" desc="LoadI3DFailedReason code"/>
        </output>
    </function>
    <function name="loadSample" desc="Load sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="sampleFilename" type="string" desc="sampleFilename"/>
            <param name="b3DSound" type="boolean" desc="b3DSound"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="loadSharedI3DFile" desc="Load shared I3D file. If another shared stream request is still pending for the same i3d, the call blocks until this request is finished" category="I3D">
        <input>
            <param name="filename" type="string" desc="filename"/>
            <param name="addPhysics" type="boolean" desc="addPhysics (optional)"/>
            <param name="callOnCreate" type="boolean" desc="callOnCreate (optional)"/>
            <param name="verbose" type="boolean" desc="verbose (optional)"/>
        </input>
        <output>
            <param name="rootNodeId" type="integer" desc="rootNodeId"/>
            <param name="requestId" type="integer" desc="shared I3D request ID"/>
            <param name="failedReason" type="integer" desc="LoadI3DFailedReason code"/>
        </output>
    </function>
    <function name="loadStreamedSample" desc="Load streamed sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="bgmusicFilename" type="string" desc="bgmusicFilename"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="loadXMLFile" desc="Load XML file" category="XML">
        <input>
            <param name="objectName" type="string" desc="objectName"/>
            <param name="filename" type="string" desc="filename"/>
        </input>
        <output>
            <param name="xmlId" type="integer" desc="xmlId (0 if failed to load)"/>
        </output>
    </function>
    <function name="loadXMLFileFromMemory" desc="Load XML file from memory" category="XML">
        <input>
            <param name="objectName" type="string" desc="objectName"/>
            <param name="content" type="string" desc="content"/>
        </input>
        <output>
            <param name="xmlId" type="integer" desc="xmlId (0 if failed to load)"/>
        </output>
    </function>
    <function name="localDirectionToLocal" desc="Local space to local space transformation, only direction without translation" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="targetTransformId" type="integer" desc="targetTransformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="localDirectionToWorld" desc="Local space to world space transformation, only direction without translation" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="localRotationToWorld" desc="" category="Scenegraph">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="localToLocal" desc="Local space to local space transformation" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="targetTransformId" type="integer" desc="targetTransformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="localToWorld" desc="Local space to world space transformation" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="mathEulerRotateVector" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="mathEulerToQuaternion" desc="Euler angle to quaternion" category="Math">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="qx" type="float" desc="qx"/>
            <param name="qy" type="float" desc="qy"/>
            <param name="qz" type="float" desc="qz"/>
            <param name="qw" type="float" desc="qw"/>
        </output>
    </function>
    <function name="mathQuaternionRotateVector" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="moveCCT" desc="Enqueue character movement" category="Physics">
        <input>
            <param name="characterIndex" type="integer" desc="characterIndex"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="collisionMasks" type="integer" desc="collisionMasks"/>
        </input>
        <output/>
    </function>
    <function name="overlapBox" desc="Overlap box objects" category="Physics">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="rx" type="float" desc="rx"/>
            <param name="ry" type="float" desc="ry"/>
            <param name="rz" type="float" desc="rz"/>
            <param name="ex" type="float" desc="ex"/>
            <param name="ey" type="float" desc="ey"/>
            <param name="ez" type="float" desc="ez"/>
            <param name="overlapFunctionCallback" type="string" desc="function(entityId entityId, integer subShapeIndex, boolean isLastAsync (only set if async was true)) "/>
            <param name="targetObject" type="object" desc="targetObject (optional)"/>
            <param name="collisionMask" type="integer" desc="collisionMask [optional, default=ALL_BITS]"/>
            <param name="includeDynamics" type="boolean" desc="includeDynamics [optional, default=true]"/>
            <param name="includeStatics" type="boolean" desc="includeStatics  [optional, default=true]"/>
            <param name="exactTest" type="boolean" desc="exactTest [optional, default=false]"/>
            <param name="async" type="boolean" desc="if true, callback will be called in the next frame and calculations will be done in a background thread [optional, default=false]"/>
        </input>
        <output>
            <param name="numShapes" type="integer" desc="numShapes"/>
        </output>
    </function>
    <function name="overlapConvex" desc="Overlap with an arbitrary convex mesh" category="Physics">
        <input>
            <param name="shapeId" type="integer" desc=""/>
            <param name="overlapFunctionCallback" type="string" desc="function(entityId entityId, integer subShapeIndex, boolean isLastAsync (only set if async was true)) "/>
            <param name="targetObject" type="object" desc="targetObject (optional)"/>
            <param name="collisionMask" type="integer" desc="collisionMask [optional, default=ALL_BITS]"/>
            <param name="includeDynamics" type="boolean" desc="includeDynamics [optional, default=true]"/>
            <param name="includeStatics" type="boolean" desc="includeStatics  [optional, default=true]"/>
            <param name="exactTest" type="boolean" desc="exactTest [optional, default=false] (Non-exact is not implemented yet and it will always use exact test)"/>
            <param name="async" type="boolean" desc="if true, callback will be called in the next frame and calculations will be done in a background thread [optional, default=false]"/>
        </input>
        <output>
            <param name="numShapes" type="integer" desc="numShapes"/>
        </output>
    </function>
    <function name="overlapSphere" desc="Overlap sphere objects" category="Physics">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="radius" type="float" desc="radius"/>
            <param name="overlapFunctionCallback" type="string" desc="function(entityId entityId, integer subShapeIndex, boolean isLastAsync (only set if async was true)) "/>
            <param name="targetObject" type="object" desc="targetObject (optional)"/>
            <param name="collisionMask" type="integer" desc="collisionMask [optional, default=ALL_BITS]"/>
            <param name="includeDynamics" type="boolean" desc="includeDynamics [optional, default=true]"/>
            <param name="includeStatics" type="boolean" desc="includeStatics  [optional, default=true]"/>
            <param name="exactTest" type="boolean" desc="exactTest [optional, default=false]"/>
            <param name="async" type="boolean" desc="if true, callback will be called in the next frame and calculations will be done in a background thread [optional, default=false]"/>
        </input>
        <output>
            <param name="numShapes" type="integer" desc="numShapes"/>
        </output>
    </function>
    <function name="pauseStreamedSample" desc="Pause streamed sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output/>
    </function>
    <function name="pinSharedI3DFileInCache" desc="Pin a shared I3D file into the cache, so it&apos;s not auto-deleted" category="I3D">
        <input>
            <param name="filename" type="string" desc="filename"/>
            <param name="verbose" type="boolean" desc="verbose"/>
        </input>
        <output/>
    </function>
    <function name="playSample" desc="Play sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="loops" type="integer" desc="loops"/>
            <param name="volume" type="float" desc="volume"/>
            <param name="offset" type="float" desc="offset to start playing [ms]"/>
            <param name="delay" type="float" desc="delay until to start playing [ms]"/>
            <param name="playAfterSample" type="integer" desc="optionally wait until playAfterSample has finished playing"/>
        </input>
        <output/>
    </function>
    <function name="playStreamedSample" desc="Play streamed sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="repeat" type="integer" desc="repeat"/>
        </input>
        <output/>
    </function>
    <function name="print" desc="Print to console" category="General">
        <input>
            <param name="arg1" type="any" desc="arg1 (optional)"/>
            <param name="arg2" type="any" desc="arg2 (optional)"/>
            <param name="arg3" type="any" desc="arg3 (optional)"/>
            <param name="arg4" type="any" desc="arg4 (optional)"/>
            <param name="arg5" type="any" desc="arg5 (optional)"/>
            <param name="arg6" type="any" desc="arg6 (optional)"/>
            <param name="arg7" type="any" desc="arg7 (optional)"/>
            <param name="arg8" type="any" desc="arg8 (optional)"/>
        </input>
        <output/>
    </function>
    <function name="printCallstack" desc="print callstack" category="">
        <input/>
        <output/>
    </function>
    <function name="printError" desc="Print error to console" category="General">
        <input>
            <param name="arg1" type="any" desc="arg1 (optional)"/>
            <param name="arg2" type="any" desc="arg2 (optional)"/>
            <param name="arg3" type="any" desc="arg3 (optional)"/>
            <param name="arg4" type="any" desc="arg4 (optional)"/>
            <param name="arg5" type="any" desc="arg5 (optional)"/>
            <param name="arg6" type="any" desc="arg6 (optional)"/>
            <param name="arg7" type="any" desc="arg7 (optional)"/>
            <param name="arg8" type="any" desc="arg8 (optional)"/>
        </input>
        <output/>
    </function>
    <function name="printWarning" desc="Print warning to console" category="General">
        <input>
            <param name="arg1" type="any" desc="arg1 (optional)"/>
            <param name="arg2" type="any" desc="arg2 (optional)"/>
            <param name="arg3" type="any" desc="arg3 (optional)"/>
            <param name="arg4" type="any" desc="arg4 (optional)"/>
            <param name="arg5" type="any" desc="arg5 (optional)"/>
            <param name="arg6" type="any" desc="arg6 (optional)"/>
            <param name="arg7" type="any" desc="arg7 (optional)"/>
            <param name="arg8" type="any" desc="arg8 (optional)"/>
        </input>
        <output/>
    </function>
    <function name="project" desc="Transform vector from world space into screen space" category="Scenegraph">
        <input>
            <param name="wx" type="float" desc="wx"/>
            <param name="wy" type="float" desc="wy"/>
            <param name="wz" type="float" desc="wz"/>
        </input>
        <output>
            <param name="sx" type="float" desc="sx"/>
            <param name="sy" type="float" desc="sy"/>
            <param name="sz" type="float" desc="sz"/>
        </output>
    </function>
    <function name="projectToCamera" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="raycastAll" desc="Raycast objects, see raycast callback function" category="Physics">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="nx" type="float" desc="nx"/>
            <param name="ny" type="float" desc="ny"/>
            <param name="nz" type="float" desc="nz"/>
            <param name="raycastFunctionCallback" type="string" desc="raycastFunctionCallback (actorId, x,y,z, distance, nx,ny,nz, subShapeIndex, shapeId, isLast)"/>
            <param name="maxDistance" type="float" desc="maxDistance"/>
            <param name="targetObject" type="object" desc="targetObject (optional)"/>
            <param name="collisionMask" type="integer" desc="collisionMask (optional)"/>
            <param name="generateNormal" type="boolean" desc="generateNormal [optional, default=false]"/>
            <param name="async" type="boolean" desc="if true, callback will be called in the next frame and calculations will be done in a background thread. In Async mode, the return value has no meaning and if no hit is found, the callback is called once with 0 ids. [optional, default=false]"/>
        </input>
        <output>
            <param name="numShapes" type="integer" desc="numShapes if async is false"/>
        </output>
    </function>
    <function name="raycastClosest" desc="Raycast closest object, see raycast callback function" category="Physics">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="nx" type="float" desc="nx"/>
            <param name="ny" type="float" desc="ny"/>
            <param name="nz" type="float" desc="nz"/>
            <param name="raycastFunctionCallback" type="string" desc="raycastFunctionCallback boolean continueReporting (actorId, x,y,z, distance, nx,ny,nz, subShapeIndex, shapeId, isLast)"/>
            <param name="maxDistance" type="float" desc="maxDistance"/>
            <param name="targetObject" type="object" desc="targetObject (optional)"/>
            <param name="collisionMask" type="integer" desc="collisionMask [optional, default=ALL_BITS]"/>
            <param name="generateNormal" type="boolean" desc="generateNormal [optional, default=false]"/>
            <param name="async" type="boolean" desc="if true, callback will be called in the next frame and calculations will be done in a background thread. In Async mode, the return value has no meaning and if no hit is found, the callback is called once with 0 ids. [optional, default=false]"/>
        </input>
        <output>
            <param name="numShapes" type="integer" desc="numShapes if async is false"/>
        </output>
    </function>
    <function name="readFillPlaneFromStream" desc="Write fill plane surface information to stream" category="Fillplanes">
        <input>
            <param name="fillPlaneId" type="integer" desc="fillPlaneId"/>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="totalVolume" type="float" desc="total volume of the fill plane"/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="readTerrainUpdateStream" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="releaseSharedI3DFile" desc="Reduces the ref count of the given shared i3d. Must be called for every successfull loadSharedI3DFile and streamSharedI3DFile call to avoid memory leaks." category="I3D">
        <input>
            <param name="requestId" type="integer" desc="stream I3D request ID"/>
            <param name="warnIfInvalid" type="boolean" desc="print a warning if the request ID is invalid (optional; defaults to false)"/>
        </input>
        <output/>
    </function>
    <function name="removeAllDifferentials" desc="remove all differential" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output/>
    </function>
    <function name="removeAudioSourceSampleElement" desc="Remove a sample elements from an AudioSource" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="sampleElementIndex" type="integer" desc="sampleElementIndex"/>
        </input>
        <output/>
    </function>
    <function name="removeCCT" desc="Remove character controller" category="Physics">
        <input>
            <param name="characterIndex" type="integer" desc="characterIndex"/>
        </input>
        <output/>
    </function>
    <function name="removeFromPhysics" desc="Remove from physics" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
        </input>
        <output/>
    </function>
    <function name="removeTerrainUpdateConnection" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="removeUserAttribute" desc="Remove user attribute value" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="attributeName" type="string" desc="name of the attribute to remove"/>
        </input>
        <output/>
    </function>
    <function name="removeXMLProperty" desc="Remove XML property." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="xmlPath" type="string" desc="Path to element or attribute"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="renderOverlay" desc="Render overlay" category="Overlays">
        <input>
            <param name="overlayId" type="integer" desc="overlayId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="width" type="float" desc="width"/>
            <param name="height" type="float" desc="height"/>
        </input>
        <output/>
    </function>
    <function name="renderText" desc="Render text to viewport. See &apos;asciiToUtf8&apos; to convert to utf8" category="Text Rendering">
        <input>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="size" type="float" desc="size"/>
            <param name="str" type="string" desc="str"/>
        </input>
        <output/>
    </function>
    <function name="renderText3D" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output/>
    </function>
    <function name="replaceUnrenderableCharacters" desc="" category="">
        <input>
            <param name="" type="string" desc=""/>
        </input>
        <output>
            <param name="" type="string" desc=""/>
        </output>
    </function>
    <function name="resetEmitStartTimer" desc="Resets the start timer of emitted particles." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="time" type="float" desc="scale time scale (optional)"/>
        </input>
        <output/>
    </function>
    <function name="resetEmitStopTimer" desc="Resets the stop timer of emitted particles." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="time" type="float" desc="scale time scale (optional)"/>
        </input>
        <output/>
    </function>
    <function name="resetNumOfEmittedParticles" desc="Resets the counter of emitted particles. This is used if the maxEmit attribute is set for the particle system." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
        </input>
        <output/>
    </function>
    <function name="resumeStreamedSample" desc="Resume streamed sample" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output/>
    </function>
    <function name="rotateAboutLocalAxis" desc="Rotate about local axis" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="rotation" type="float" desc="rotation"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="saveTerrainOccludersCache" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="string" desc=""/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="saveXMLFile" desc="Save XML file" category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="saveXMLFileToMemory" desc="Save XML file to memory" category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
        </input>
        <output>
            <param name="memory" type="string" desc="id memory id"/>
        </output>
    </function>
    <function name="set2DMaskFromOverlay" desc="Set mask for 2d rendering (font and overlays)" category="Overlays">
        <input>
            <param name="textureId" type="integer" desc=""/>
            <param name="maskAlphaOnly" type="boolean" desc="if true, applies the mask to the alpha channel only, otherwise to all 4 channels"/>
            <param name="x" type="float" desc="x position"/>
            <param name="y" type="float" desc="y position"/>
            <param name="width" type="float" desc=""/>
            <param name="height" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="set2DMaskFromTexture" desc="Set mask for 2d rendering (font and overlays)" category="Overlays">
        <input>
            <param name="textureId" type="integer" desc=""/>
            <param name="maskAlphaOnly" type="boolean" desc="if true, applies the mask to the alpha channel only, otherwise to all 4 channels"/>
            <param name="x" type="float" desc="x position"/>
            <param name="y" type="float" desc="y position"/>
            <param name="width" type="float" desc=""/>
            <param name="height" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setAngularDamping" desc="Set angular damping" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="angularDamping" type="float" desc="angularDamping"/>
        </input>
        <output/>
    </function>
    <function name="setAngularVelocity" desc="Set angular velocity of transform object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="velocityX" type="float" desc="velocityX"/>
            <param name="velocityY" type="float" desc="velocityY"/>
            <param name="velocityZ" type="float" desc="velocityZ"/>
        </input>
        <output/>
    </function>
    <function name="setAnimTrackBlendWeight" desc="Set animation track blend weight" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
            <param name="weight" type="float" desc="weight"/>
        </input>
        <output/>
    </function>
    <function name="setAnimTrackLoopState" desc="Set animation track loop state" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
            <param name="loopState" type="boolean" desc="loopState"/>
        </input>
        <output/>
    </function>
    <function name="setAnimTrackSpeedScale" desc="Set animation track speed scale" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
            <param name="speedScale" type="float" desc="speedScale"/>
        </input>
        <output/>
    </function>
    <function name="setAnimTrackTime" desc="Set animation track time" category="Animation">
        <input>
            <param name="characterSetId" type="integer" desc="characterSetId"/>
            <param name="trackId" type="integer" desc="trackId"/>
            <param name="time" type="float" desc="time"/>
            <param name="immediateUpdate" type="boolean" desc="(optional) immediateUpdate (optional)"/>
        </input>
        <output/>
    </function>
    <function name="setAudioCullingWorldProperties" desc="Set audio culling world properties" category="Sound">
        <input>
            <param name="gridMinX" type="float" desc="gridMinX"/>
            <param name="gridMinY" type="float" desc="gridMinY"/>
            <param name="gridMinZ" type="float" desc="gridMinZ"/>
            <param name="gridMaxX" type="float" desc="gridMaxX"/>
            <param name="gridMaxY" type="float" desc="gridMaxY"/>
            <param name="gridMaxZ" type="float" desc="gridMaxZ"/>
            <param name="gridSize" type="integer" desc="gridSize"/>
            <param name="clipDistanceThreshold1" type="float" desc="clipDistanceThreshold1 [optional]"/>
            <param name="clipDistanceThreshold2" type="float" desc="clipDistanceThreshold2 [optional]"/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceAutoPlay" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceInnerRange" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceMaxRetriggerDelay" desc="Set the AudioSource&apos;s max retrigger delay" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="maxRetriggerDelay" type="float" desc="maxRetriggerDelay"/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceMinRetriggerDelay" desc="Get the AudioSource&apos;s min retrigger delay" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="minRetriggerDelay" type="float" desc="minRetriggerDelay"/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceRandomPlayback" desc="Set the AudioSource&apos;s random playback state" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="randomPlayback" type="boolean" desc="randomPlayback"/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceRange" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceSampleElementProbability" desc="Set the AudioSource&apos;s sample element&apos;s probability" category="Sound">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="index" type="integer" desc="index"/>
            <param name="probability" type="float" desc="probability"/>
        </input>
        <output/>
    </function>
    <function name="setAudioSourceTickInaudible" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setCamera" desc="Set camera" category="Camera">
        <input>
            <param name="cameraId" type="integer" desc="cameraId"/>
        </input>
        <output/>
    </function>
    <function name="setCenterOfMass" desc="Set center of mass" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="setClipDistance" desc="Set object clip distance" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="distance" type="float" desc="distance"/>
        </input>
        <output/>
    </function>
    <function name="setCollisionMask" desc="Set collision mask" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="mask" type="integer" desc="mask"/>
        </input>
        <output/>
    </function>
    <function name="setConditionalAnimationBoolValue" desc="Set boolean value" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="parameterId" type="integer" desc="parameterId"/>
            <param name="value" type="boolean" desc="value"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="setConditionalAnimationFloatValue" desc="Set float value" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="parameterId" type="integer" desc="parameterId"/>
            <param name="value" type="float" desc="value"/>
        </input>
        <output>
            <param name="success" type="boolean" desc="success"/>
        </output>
    </function>
    <function name="setConditionalAnimationSpecificParameterIds" desc="Set specific parameter ids" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="velocityParmId" type="integer" desc="velocityParmId"/>
            <param name="angularVelocityParmId" type="integer" desc="angularVelocityParmId"/>
        </input>
        <output/>
    </function>
    <function name="setConditionalAnimationTime" desc="Set time" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc=""/>
            <param name="time" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setDensityMapSyncerCellChangedCallback" desc="" category="Terrain Detail">
        <input>
            <param name="densityMapSyncer" type="integer" desc="id"/>
            <param name="densityMap" type="integer" desc="id"/>
            <param name="callbackFunctionName" type="string" desc="callback function(densityMapId, cellX, cellZ)"/>
            <param name="target" type="object" desc="target (optional)"/>
        </input>
        <output/>
    </function>
    <function name="setDirection" desc="Set the direction of an object, the positive z-axis points towards the given direction. The y-axis lies in the direction-up-plane." category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="upX" type="float" desc="upX"/>
            <param name="upY" type="float" desc="upY"/>
            <param name="upZ" type="float" desc="upZ"/>
        </input>
        <output/>
    </function>
    <function name="setEmitCountScale" desc="Set particle system count scale" category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="countScale" type="float" desc="countScale"/>
        </input>
        <output/>
    </function>
    <function name="setEmitStartTime" desc="Set emitter starting time." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="emitStartTime" type="float" desc="emitStartTime"/>
        </input>
        <output/>
    </function>
    <function name="setEmitStopTime" desc="Set emitter stop time." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="emitStopTime" type="float" desc="emitStopTime"/>
        </input>
        <output/>
    </function>
    <function name="setEmitterShape" desc="Sets the emitter shape of the particle system" category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="shapeId" type="integer" desc="shapeId"/>
        </input>
        <output/>
    </function>
    <function name="setEmitterShapeVelocityScale" desc="Sets the emitter shape velocity scale of the particle system" category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="shape" type="float" desc="velocity scale"/>
        </input>
        <output/>
    </function>
    <function name="setEmittingState" desc="Set whether the particle system should emit new particles" category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="state" type="boolean" desc="state"/>
        </input>
        <output/>
    </function>
    <function name="setEnableDensityMapSyncerCellChangedCallback" desc="" category="Terrain Detail">
        <input>
            <param name="densityMapSyncer" type="integer" desc="id"/>
            <param name="densityMap" type="integer" desc="id"/>
            <param name="cellX" type="integer" desc="cell index"/>
            <param name="cellZ" type="integer" desc="cell index"/>
            <param name="enable" type="boolean" desc="enable flag (defaults to true) (optional)"/>
        </input>
        <output/>
    </function>
    <function name="setFarClip" desc="Set the far clip distance" category="Camera">
        <input>
            <param name="cameraId" type="integer" desc="cameraId"/>
            <param name="farClip" type="float" desc="farClip"/>
        </input>
        <output/>
    </function>
    <function name="setFastShadowUpdate" desc="Set fast shadow update for camera" category="">
        <input>
            <param name="cameraId" type="integer" desc="cameraId"/>
            <param name="fastUpdate" type="boolean" desc="set true for fast shadow update or false for far shadows"/>
        </input>
        <output/>
    </function>
    <function name="setFillPlaneMaxPhysicalSurfaceAngle" desc="Set fill plane physical surface angle" category="Fillplanes">
        <input>
            <param name="fillPlaneId" type="integer" desc="fillPlaneId"/>
            <param name="physicalSurfAngle" type="float" desc="physicalSurfAngle"/>
        </input>
        <output/>
    </function>
    <function name="setFoliageBendingRectangleAttributes" desc="" category="">
        <input>
            <param name="foliageBendingSystemId" type="integer" desc=""/>
            <param name="rectangleId" type="integer" desc=""/>
            <param name="minX" type="float" desc=""/>
            <param name="maxX" type="float" desc=""/>
            <param name="minZ" type="float" desc=""/>
            <param name="maxZ" type="float" desc=""/>
            <param name="yOffset" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setFoliageBendingSystem" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setFovY" desc="Sets the vertical field of view angle" category="">
        <input>
            <param name="cameraId" type="integer" desc="id of the camera"/>
            <param name="fovY" type="float" desc="field of view angle (radian)"/>
        </input>
        <output/>
    </function>
    <function name="setFrictionVelocity" desc="Sets friction velocity to collision" category="Physics">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="velocity" type="float" desc="velocity"/>
        </input>
        <output/>
    </function>
    <function name="setGamepadAxisForceFeedback" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setIsCompound" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setIsCompoundChild" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setIsNonRenderable" desc="Set if shape is non-renderable" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="isNonRenderable" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setIsOrthographic" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setJointAngularDrive" desc="Set joint angular drive" category="Physics">
        <input>
            <param name="jointIndex" type="integer" desc=""/>
            <param name="axis" type="integer" desc=""/>
            <param name="usePosition" type="boolean" desc=""/>
            <param name="useVelocity" type="boolean" desc=""/>
            <param name="spring" type="float" desc=""/>
            <param name="damping" type="float" desc=""/>
            <param name="forceLimit" type="float" desc=""/>
            <param name="targetRotation" type="float" desc=""/>
            <param name="targetAngularVelocity" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setJointDrive" desc="Set joint drive. Drives orientation if position drive or angular velocity if velocity drive." category="Physics">
        <input>
            <param name="jointIndex" type="integer" desc=""/>
            <param name="isLinear" type="boolean" desc=""/>
            <param name="isPosition" type="boolean" desc=""/>
            <param name="valueX" type="float" desc=""/>
            <param name="valueY" type="float" desc=""/>
            <param name="valueZ" type="float" desc=""/>
            <param name="angle" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setJointLinearDrive" desc="Set joint linear drive" category="Physics">
        <input>
            <param name="jointIndex" type="integer" desc=""/>
            <param name="axis" type="integer" desc="[0-2]"/>
            <param name="usePosition" type="boolean" desc=""/>
            <param name="useVelocity" type="boolean" desc=""/>
            <param name="spring" type="float" desc=""/>
            <param name="damping" type="float" desc=""/>
            <param name="forceLimit" type="float" desc=""/>
            <param name="targetPosition" type="float" desc=""/>
            <param name="targetVelocity" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setLightRange" desc="Set range of a light" category="Lighting">
        <input>
            <param name="lightId" type="integer" desc="lightId"/>
            <param name="range" type="float" desc="range"/>
        </input>
        <output/>
    </function>
    <function name="setLightScatteringColor" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setLightScatteringDirection" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setLightShadowMap" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setLinearDamping" desc="Set linear damping" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="linearDamping" type="float" desc="linearDamping"/>
        </input>
        <output/>
    </function>
    <function name="setLinearVelocity" desc="Set linear velocity of transform object" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="velocityX" type="float" desc="velocityX"/>
            <param name="velocityY" type="float" desc="velocityY"/>
            <param name="velocityZ" type="float" desc="velocityZ"/>
        </input>
        <output/>
    </function>
    <function name="setLockedGroup" desc="Set transform object locked group flag" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="locked" type="boolean" desc="group locked group"/>
        </input>
        <output/>
    </function>
    <function name="setMass" desc="Set mass" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="mass" type="float" desc="mass"/>
        </input>
        <output/>
    </function>
    <function name="setMaterial" desc="Set material by index" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="materialId" type="integer" desc="materialId"/>
            <param name="material" type="integer" desc="index material index"/>
        </input>
        <output/>
    </function>
    <function name="setMaterialCustomMapFromFile" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
            <param name="name" type="string" desc=""/>
            <param name="filename" type="string" desc=""/>
            <param name="textueWrap" type="boolean" desc="[optional, default defined by custom shader]"/>
            <param name="isSRGB" type="boolean" desc="[optional, default defined by custom shader]"/>
            <param name="sharedEdit" type="boolean" desc="[optional, default=true]"/>
        </input>
        <output>
            <param name="newMaterialId" type="integer" desc="material id of new material (same as materialId with shared edit mode)"/>
        </output>
    </function>
    <function name="setMaterialCustomShaderVariation" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
            <param name="shaderVariationName" type="string" desc=""/>
            <param name="sharedEdit" type="boolean" desc=""/>
        </input>
        <output>
            <param name="newMaterialId" type="integer" desc="material id of new material (same as materialId with shared edit mode)"/>
        </output>
    </function>
    <function name="setMaterialDiffuseMapFromFile" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
            <param name="filename" type="string" desc=""/>
            <param name="textueWrap" type="boolean" desc=""/>
            <param name="isSRGB" type="boolean" desc=""/>
            <param name="sharedEdit" type="boolean" desc=""/>
        </input>
        <output>
            <param name="newMaterialId" type="integer" desc="material id of new material (same as materialId with shared edit mode)"/>
        </output>
    </function>
    <function name="setMaterialGlossMapFromFile" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
            <param name="filename" type="string" desc=""/>
            <param name="textueWrap" type="boolean" desc=""/>
            <param name="isSRGB" type="boolean" desc=""/>
            <param name="sharedEdit" type="boolean" desc=""/>
        </input>
        <output>
            <param name="newMaterialId" type="integer" desc="material id of new material (same as materialId with shared edit mode)"/>
        </output>
    </function>
    <function name="setMaterialNormalMapFromFile" desc="" category="Rendering">
        <input>
            <param name="materialId" type="integer" desc=""/>
            <param name="filename" type="string" desc=""/>
            <param name="textueWrap" type="boolean" desc=""/>
            <param name="isSRGB" type="boolean" desc=""/>
            <param name="sharedEdit" type="boolean" desc=""/>
        </input>
        <output>
            <param name="newMaterialId" type="integer" desc="material id of new material (same as materialId with shared edit mode)"/>
        </output>
    </function>
    <function name="setMinClipDistance" desc="Set minimum clip distance" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="minDist" type="float" desc="minDist"/>
        </input>
        <output/>
    </function>
    <function name="setMotorProperties" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="unknown" desc=""/>
            <param name="" type="unknown" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setName" desc="Set object name" category="Node">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="objectName" type="string" desc="objectName"/>
        </input>
        <output/>
    </function>
    <function name="setNearClip" desc="Set the near clip distance" category="Camera">
        <input>
            <param name="cameraId" type="integer" desc="cameraId"/>
            <param name="nearClip" type="float" desc="nearClip"/>
        </input>
        <output/>
    </function>
    <function name="setNoteNodeColor" desc="Set note node color" category="NoteNode">
        <input>
            <param name="noteId" type="integer" desc="Id of the note node"/>
            <param name="colorR" type="float" desc="R component of note color [0-1]"/>
            <param name="colorG" type="float" desc="G component of note color [0-1]"/>
            <param name="colorB" type="float" desc="B component of note color [0-1]"/>
        </input>
        <output/>
    </function>
    <function name="setNoteNodeFixedSize" desc="Set note node fixed size" category="NoteNode">
        <input>
            <param name="noteId" type="integer" desc="Id of the note node"/>
            <param name="fixedSize" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setNoteNodeText" desc="Set note node text" category="NoteNode">
        <input>
            <param name="noteId" type="integer" desc="Id of the note node"/>
            <param name="text" type="string" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setObjectMask" desc="Set object mask" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="mask" type="integer" desc="mask"/>
        </input>
        <output/>
    </function>
    <function name="setOrthographicHeight" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setOverlayColor" desc="Set overlay color" category="Overlays">
        <input>
            <param name="overlayId" type="integer" desc="overlayId"/>
            <param name="red" type="float" desc="red"/>
            <param name="green" type="float" desc="green"/>
            <param name="blue" type="float" desc="blue"/>
            <param name="alpha" type="float" desc="alpha"/>
        </input>
        <output/>
    </function>
    <function name="setOverlayCornerColor" desc="Set overlay color of a single corner" category="Overlays">
        <input>
            <param name="overlayId" type="integer" desc="overlayId"/>
            <param name="cornerIndex" type="integer" desc="corner index (same order as uvs)"/>
            <param name="red" type="float" desc="red"/>
            <param name="green" type="float" desc="green"/>
            <param name="blue" type="float" desc="blue"/>
            <param name="alpha" type="float" desc="alpha"/>
        </input>
        <output/>
    </function>
    <function name="setOverlayLayer" desc="Set layer for texture array overlays" category="Overlays">
        <input>
            <param name="overlayId" type="integer" desc=""/>
            <param name="layer" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setOverlayRotation" desc="Set overlay rotation" category="Overlays">
        <input>
            <param name="overlayId" type="integer" desc="overlayId"/>
            <param name="rotation" type="float" desc="rotation"/>
            <param name="pivotX" type="float" desc="x position of pivot of rotation (relative to position of overlay)"/>
            <param name="pivotY" type="float" desc="y position of pivot of rotation (relative to position of overlay)"/>
        </input>
        <output/>
    </function>
    <function name="setOverlaySignedDistanceFieldWidth" desc="Set overlay signed distance field width" category="Overlays">
        <input>
            <param name="overlayId" type="integer" desc="overlayId"/>
            <param name="sdfWidth" type="float" desc="range of the sdf in normalized color (0.5 full range, 0 disabled)"/>
        </input>
        <output/>
    </function>
    <function name="setOverlayUVs" desc="Set overlay uv coordinates" category="Overlays">
        <input>
            <param name="overlayId" type="integer" desc="overlayId"/>
            <param name="v0" type="float" desc="v0"/>
            <param name="u0" type="float" desc="u0"/>
            <param name="v1" type="float" desc="v1"/>
            <param name="u1" type="float" desc="u1"/>
            <param name="v2" type="float" desc="v2"/>
            <param name="u2" type="float" desc="u2"/>
            <param name="v3" type="float" desc="v3"/>
            <param name="u3" type="float" desc="u3"/>
        </input>
        <output/>
    </function>
    <function name="setParticleSystemLifespan" desc="Set particle system life span." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="lifeSpan" type="float" desc="lifeSpan"/>
            <param name="keepBlendTimes" type="boolean" desc="keepBlendTimes"/>
        </input>
        <output/>
    </function>
    <function name="setParticleSystemTimeScale" desc="Sets the time scale for the particle simulation." category="Particle System">
        <input>
            <param name="particleSystemId" type="integer" desc="particleSystemId"/>
            <param name="timeScale" type="float" desc="timeScale"/>
        </input>
        <output/>
    </function>
    <function name="setPolylineTranslation" desc="Translate polyline" category="Fillplanes">
        <input>
            <param name="fillPlaneId" type="integer" desc="fillPlaneId"/>
            <param name="polyLineIdx" type="integer" desc="polyLineIdx"/>
            <param name="dx" type="float" desc="dx"/>
            <param name="dz" type="float" desc="dz"/>
        </input>
        <output/>
    </function>
    <function name="setProjectionOffset" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setQuaternion" desc="Sets quaternion" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="w" type="float" desc="w"/>
        </input>
        <output/>
    </function>
    <function name="setRigidBodyType" desc="Set rigid body type" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="type" type="integer" desc="RIGID_BODY_TYPE"/>
        </input>
        <output/>
    </function>
    <function name="setRootNode" desc="Set rootnode" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output/>
    </function>
    <function name="setRotation" desc="Set rotation" category="">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="setSamplePitch" desc="Set sample pitch" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="pitch" type="float" desc="pitch"/>
        </input>
        <output/>
    </function>
    <function name="setSampleVelocity" desc="Set velocity of a sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="setSampleVolume" desc="Set sample volume" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="volume" type="float" desc="volume"/>
        </input>
        <output/>
    </function>
    <function name="setScale" desc="Set scale of a transform object" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="setShaderParameter" desc="Set shader parameter" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="parameterName" type="string" desc="parameterName"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
            <param name="w" type="float" desc="w"/>
            <param name="shared" type="boolean" desc="shared (optional)"/>
        </input>
        <output/>
    </function>
    <function name="setShadowFocusBox" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setShapeBones" desc="Set the bones of the shape given the new root node. The hierarchy of the new bones must be mostly the same as for the currently set bones. Additional children after the used bones are allowed. Bones are matched by node indices and not by name.&#xA;The new root newRootBoneId must match with oldRootBoneId or the currently assigned root (lowest common root node of all bones) if oldRootBoneId is 0." category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="newRootBoneId" type="integer" desc="The roof the new skeleton"/>
            <param name="oldRootBoneId" type="integer" desc="The root of the currently assigned skeleton. If 0, the lowest common root node of the currently assigned bones is used"/>
            <param name="keepBindPoses" type="boolean" desc="If true, the bind poses of the current bones are kept, otherwise the new bones are assumed to be in the bind pose (optional)"/>
        </input>
        <output>
            <param name="success" type="boolean" desc=""/>
        </output>
    </function>
    <function name="setShapeBonesFromShape" desc="Set the same bones as the other shape uses. Both shapes must use exactly the same number of bones" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="sourceShapeId" type="integer" desc="sourceShapeId"/>
        </input>
        <output>
            <param name="success" type="boolean" desc=""/>
        </output>
    </function>
    <function name="setShapeBoundingSphere" desc="Set the bounding sphere of this shape only" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc=""/>
            <param name="localPosX" type="float" desc=""/>
            <param name="localPosY" type="float" desc=""/>
            <param name="localPosZ" type="float" desc=""/>
            <param name="radius" type="float" desc="if &lt; 0, the bounding sphere of the geometry will be used"/>
        </input>
        <output/>
    </function>
    <function name="setShapeCastShadowmap" desc="Set Cast Shadowmap flag" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc="shapeId"/>
            <param name="castShadowmap" type="boolean" desc="castShadowmap"/>
        </input>
        <output/>
    </function>
    <function name="setShapeGeometryBoundingSphere" desc="Set the bounding sphere of the shape&apos;s geometry.&#xA;Warning: This does not update the bounding volumes of other shapes using this geometry. Those are only updated if they are invalided, e.g. by moving the shape or calling invalidShapeBoundingVolume" category="Shape">
        <input>
            <param name="shapeId" type="integer" desc=""/>
            <param name="localPosX" type="float" desc=""/>
            <param name="localPosY" type="float" desc=""/>
            <param name="localPosZ" type="float" desc=""/>
            <param name="radius" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setSolverIterationCount" desc="Set solver iteration count" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="count" type="integer" desc="count"/>
        </input>
        <output/>
    </function>
    <function name="setSplineCV" desc="Set the position of a spline control point." category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="Spline id"/>
            <param name="index" type="integer" desc="The index of the control point to be positioned"/>
            <param name="x" type="float" desc="New spline point position x"/>
            <param name="y" type="float" desc="New spline point position y"/>
            <param name="z" type="float" desc="New spline point position z"/>
        </input>
        <output/>
    </function>
    <function name="setSplineEP" desc="Set the position of a spline edit point." category="Spline">
        <input>
            <param name="shapeId" type="integer" desc="Spline id"/>
            <param name="index" type="integer" desc="The index of the edit point to be positioned"/>
            <param name="x" type="float" desc="New spline point position x"/>
            <param name="y" type="float" desc="New spline point position y"/>
            <param name="z" type="float" desc="New spline point position z"/>
        </input>
        <output/>
    </function>
    <function name="setStreamedSampleVolume" desc="Set streamed sample volume" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="volume" type="float" desc="volume"/>
        </input>
        <output/>
    </function>
    <function name="setStreamI3DFileDelay" desc="Set random delay parameters for streamed I3D loading" category="I3D">
        <input>
            <param name="minDelay" type="float" desc="min delay in seconds"/>
            <param name="maxDelay" type="float" desc="max delay in seconds"/>
        </input>
        <output/>
    </function>
    <function name="setStreamSharedI3DFileDelay" desc="Set random delay parameters for shared I3D loading" category="I3D">
        <input>
            <param name="minDelay" type="float" desc="min delay in seconds for loaded shared I3D"/>
            <param name="maxDelay" type="float" desc="max delay in seconds for loaded shared I3D"/>
            <param name="minDelayCached" type="float" desc="min delay in seconds for cached shared I3D"/>
            <param name="maxDelayCached" type="float" desc="max delay in seconds for cached shared I3D"/>
        </input>
        <output/>
    </function>
    <function name="setTerrainHeightAtWorldPos" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setTextAlignment" desc="Set the text alignment to be used for the following renderText calls" category="Text Rendering">
        <input>
            <param name="alignment" type="integer" desc="alignment"/>
        </input>
        <output/>
    </function>
    <function name="setTextBold" desc="Set the text boldness to be used for the following renderText calls" category="Text Rendering">
        <input>
            <param name="isBold" type="boolean" desc="isBold"/>
        </input>
        <output/>
    </function>
    <function name="setTextClipArea" desc="Sets clip area used for text rendering. Characters are only rendered within the clip area.&#xA;Set to unit area (0,0,1,1) to disable." category="Text Rendering">
        <input>
            <param name="clipMinX" type="float" desc=""/>
            <param name="clipMinY" type="float" desc=""/>
            <param name="clipMaxX" type="float" desc=""/>
            <param name="clipMaxY" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setTextColor" desc="Set the text color to be used for the following renderText calls" category="Text Rendering">
        <input>
            <param name="r" type="float" desc="r"/>
            <param name="g" type="float" desc="g"/>
            <param name="b" type="float" desc="b"/>
            <param name="a" type="float" desc="a"/>
        </input>
        <output/>
    </function>
    <function name="setTextDepthTestEnabled" desc="" category="">
        <input>
            <param name="" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setTextLineBounds" desc="Set text line bounds" category="Text Rendering">
        <input>
            <param name="startLine" type="integer" desc="startLine"/>
            <param name="numLines" type="integer" desc="numLines"/>
        </input>
        <output/>
    </function>
    <function name="setTextLineHeightScale" desc="" category="Text Rendering">
        <input>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setTextRenderOverlay" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setTextVerticalAlignment" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setTextWidthScale" desc="Set the text scale width to be used for the following renderText calls" category="Text Rendering">
        <input>
            <param name="scaleWidth" type="float" desc="scaleWidth"/>
        </input>
        <output/>
    </function>
    <function name="setTextWrapWidth" desc="Set text wrap width" category="Text Rendering">
        <input>
            <param name="wrapWidth" type="float" desc="wrapWidth"/>
            <param name="allowForcedWrap" type="boolean" desc="allow wrapping mid word when no separator is available (optional)"/>
        </input>
        <output/>
    </function>
    <function name="setTranslation" desc="Set translation of a transform object" category="">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output/>
    </function>
    <function name="setUseLightScattering" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="boolean" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setUserAttribute" desc="Set user attribute value" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="attributeName" type="string" desc="attributeName"/>
            <param name="typeName" type="string" desc="(Integer, Float, String, Boolean, NodeId)"/>
            <param name="value" type="any" desc="value (type must match the type specified in typeName) (optional)"/>
        </input>
        <output/>
    </function>
    <function name="setVisibility" desc="Set transform object visibility" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="visibility" type="boolean" desc="visibility"/>
        </input>
        <output/>
    </function>
    <function name="setVisibilityConditionDayOfYear" desc="Set the day of year condition of the visibility condition (0 to unset)" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="dayOfYearStart" type="integer" desc="dayOfYearStart"/>
            <param name="dayOfYearEnd" type="integer" desc="dayOfYearEnd"/>
        </input>
        <output/>
    </function>
    <function name="setVisibilityConditionMinuteOfDay" desc="Set the minute of day condition (0 to unset) of the visibility condition" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="minuteOfDayStart" type="integer" desc="minuteOfDayStart"/>
            <param name="minuteOfDayEnd" type="integer" desc="minuteOfDayEnd"/>
        </input>
        <output/>
    </function>
    <function name="setVisibilityConditionRenderInvisible" desc="Set the render invisible property of the visibility condition" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="renderInvisible" type="boolean" desc="if true, the object will always be rendered and the custom shader is supposed to change the rendering based on the visibility parameter"/>
        </input>
        <output/>
    </function>
    <function name="setVisibilityConditionViewerSpacialityMask" desc="Set the viewerspaciality mask condition of the visibility condition" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="viewerSpacialityRequiredMask" type="integer" desc=""/>
            <param name="viewerSpacialityPreventMask" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setVisibilityConditionVisibleShaderParameter" desc="Set the shader parameter of the visibility condition" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="shaderVisibilityParam" type="float" desc="shader parameter when condition is met (ie. object is visible)"/>
        </input>
        <output/>
    </function>
    <function name="setVisibilityConditionWeatherMask" desc="Set the weather mask condition of the visibility condition" category="Scenegraph">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
            <param name="weatherRequiredMask" type="integer" desc=""/>
            <param name="weatherPreventMask" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="setWheelShapeForcePoint" desc="Set wheel shape force point" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
            <param name="positionX" type="float" desc="positionX"/>
            <param name="positionY" type="float" desc="positionY"/>
            <param name="positionZ" type="float" desc="positionZ"/>
        </input>
        <output/>
    </function>
    <function name="setWheelShapeProps" desc="Set wheel shape properties" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
            <param name="motorTorque" type="float" desc="motorTorque"/>
            <param name="brakeTorque" type="float" desc="brakeTorque"/>
            <param name="steerAngle" type="float" desc="steerAngle"/>
            <param name="rotationDamping" type="float" desc="rotationDamping"/>
        </input>
        <output/>
    </function>
    <function name="setWheelShapeTireFriction" desc="Set wheel shape tire friction" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="wheelShapeIndex" type="integer" desc="wheelShapeIndex"/>
            <param name="maxLongStiffness" type="float" desc="maxLongStiffness"/>
            <param name="maxLatStiffness" type="float" desc="maxLatStiffness"/>
            <param name="maxLatStiffnessTireLoad" type="float" desc="maxLatStiffnessTireLoad"/>
            <param name="frictionMultiplier" type="float" desc="frictionMultiplier"/>
        </input>
        <output/>
    </function>
    <function name="setXMLBool" desc="Set XML file boolean attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
            <param name="value" type="boolean" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="setXMLFloat" desc="Set XML file float attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
            <param name="value" type="float" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="setXMLInt" desc="Set XML file integer attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
            <param name="value" type="integer" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="setXMLString" desc="Set XML file string attribute." category="XML">
        <input>
            <param name="xmlId" type="integer" desc="xmlId"/>
            <param name="attributePath" type="string" desc="attributePath"/>
            <param name="value" type="string" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="simulatePhysics" desc="Enable/disable physics simulation" category="Physics">
        <input>
            <param name="state" type="boolean" desc="state"/>
        </input>
        <output/>
    </function>
    <function name="simulatePhysicsTimeScale" desc="Time scale of physics simulation" category="Physics">
        <input>
            <param name="scale" type="float" desc="scale"/>
        </input>
        <output/>
    </function>
    <function name="source" desc="Source script file" category="General">
        <input>
            <param name="filename" type="string" desc="filename"/>
            <param name="environment" type="ref" desc="environment (optional)"/>
        </input>
        <output/>
    </function>
    <function name="stopSample" desc="Stop sample object" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
            <param name="delay" type="float" desc="delay until to stop playing [ms]"/>
            <param name="fadeTime" type="float" desc="time to fade out the sample [ms]"/>
        </input>
        <output/>
    </function>
    <function name="stopStreamedSample" desc="Stop streamed sample" category="Sound">
        <input>
            <param name="sampleId" type="integer" desc="sampleId"/>
        </input>
        <output/>
    </function>
    <function name="streamAlignReadToByteBoundary" desc="Stream align read to byte boundary" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output/>
    </function>
    <function name="streamAlignWriteToByteBoundary" desc="Stream align write to byte boundary" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output/>
    </function>
    <function name="streamGetNumOfUnreadBits" desc="Stream get number of unread bits" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="value" type="integer" desc="value"/>
        </output>
    </function>
    <function name="streamGetReadOffset" desc="Stream get read offset" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="offset" type="integer" desc="offset"/>
        </output>
    </function>
    <function name="streamGetWriteOffset" desc="Return the write pointer offset in bytes" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="offset" type="integer" desc="offset"/>
        </output>
    </function>
    <function name="streamI3DFile" desc="Stream I3D file" category="I3D">
        <input>
            <param name="filename" type="string" desc="filename"/>
            <param name="callbackFunctionName" type="string" desc="callbackFunctionName (optional)"/>
            <param name="target" type="object" desc="target (optional)"/>
            <param name="args" type="object" desc="args (optional)"/>
            <param name="addPhysics" type="boolean" desc="addPhysics (optional)"/>
            <param name="callOnCreate" type="boolean" desc="callOnCreate (optional)"/>
            <param name="verbose" type="boolean" desc="verbose (optional)"/>
        </input>
        <output>
            <param name="requestId" type="integer" desc="request id for streaming, used to cancel the stream request"/>
        </output>
    </function>
    <function name="streamReadBool" desc="Stream read boolean" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="value" type="boolean" desc="value"/>
        </output>
    </function>
    <function name="streamReadFloat32" desc="Stream read 32bit float" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="value" type="float" desc="value"/>
        </output>
    </function>
    <function name="streamReadInt16" desc="Stream read 16bit signed integer" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="value" type="integer" desc="value"/>
        </output>
    </function>
    <function name="streamReadInt32" desc="Stream read 32bit signed integer" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="value" type="integer" desc="value"/>
        </output>
    </function>
    <function name="streamReadInt8" desc="Stream read 8bit signed integer" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="value" type="integer" desc="value"/>
        </output>
    </function>
    <function name="streamReadIntN" desc="Stream read 32bit signed integer" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="numberofBits" type="integer" desc="numberofBits"/>
        </input>
        <output>
            <param name="value" type="integer" desc="value"/>
        </output>
    </function>
    <function name="streamReadManualTimestamp" desc="Stream read manual timestamp" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="timestamp" type="integer" desc="timestamp"/>
        </output>
    </function>
    <function name="streamReadString" desc="Stream read 32bit float" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="value" type="string" desc="value"/>
        </output>
    </function>
    <function name="streamReadUInt16" desc="Stream write 16-bit unsigned integer." category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="uint16" type="integer" desc="uint16"/>
        </output>
    </function>
    <function name="streamReadUInt8" desc="Stream read 8-bit unsigned integer." category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="uint8" type="integer" desc="uint8"/>
        </output>
    </function>
    <function name="streamReadUIntN" desc="Stream write N-bit unsigned integer. 0&amp;lt;N&amp;lt;32." category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="numberOfBits" type="integer" desc="numberOfBits"/>
        </input>
        <output>
            <param name="value" type="integer" desc="value"/>
        </output>
    </function>
    <function name="streamSetReadOffset" desc="Set the read pointer to the given offset in bytes" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="offset" type="integer" desc="offset"/>
        </input>
        <output/>
    </function>
    <function name="streamSetWriteOffset" desc="Set the write pointer to the given offset in bytes" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="offset" type="integer" desc="offset"/>
        </input>
        <output/>
    </function>
    <function name="streamSharedI3DFile" desc="Stream shared I3D file. Can call the callback in the same callstack when the file is already loaded" category="I3D">
        <input>
            <param name="filename" type="string" desc="filename"/>
            <param name="callbackFunctionName" type="string" desc="callbackFunctionName (optional)"/>
            <param name="target" type="object" desc="target (optional)"/>
            <param name="args" type="object" desc="args (optional)"/>
            <param name="addPhysics" type="boolean" desc="addPhysics (optional)"/>
            <param name="callOnCreate" type="boolean" desc="callOnCreate (optional)"/>
            <param name="verbose" type="boolean" desc="verbose (optional)"/>
        </input>
        <output>
            <param name="requestId" type="integer" desc="request id for streaming, used to cancel the stream request"/>
        </output>
    </function>
    <function name="streamWriteBool" desc="Stream write boolean" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="boolean" desc="value"/>
        </input>
        <output>
            <param name="value" type="boolean" desc="value"/>
        </output>
    </function>
    <function name="streamWriteFloat32" desc="Stream write 32bit float" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="float" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteInt16" desc="Stream write 16bit signed integer" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="integer" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteInt32" desc="Stream write 32bit signed integer" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="integer" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteInt8" desc="Stream write 8bit signed integer" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="integer" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteIntN" desc="Stream write N bit signed integer. 0 &amp;lt; N &amp;lt; 32." category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="integer" desc="value"/>
            <param name="numberOfBits" type="integer" desc="numberOfBits"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteManualTimestamp" desc="Stream write manual timestamp" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="timestamp" type="integer" desc="timestamp"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteStream" desc="Stream write stream" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="streamSrcId" type="integer" desc="streamSrcId"/>
            <param name="numBits" type="integer" desc="numBits"/>
            <param name="useReadStream" type="boolean" desc="useReadStream"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteString" desc="Stream write string" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="string" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteTimestamp" desc="Stream write timestamp" category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteUInt16" desc="Stream write 16-bit unsigned integer." category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="integer" desc="value"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteUInt8" desc="Stream write 8-bit unsigned integer." category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="uint8" type="integer" desc="uint8"/>
        </input>
        <output/>
    </function>
    <function name="streamWriteUIntN" desc="Stream write N-bit unsigned integer. 0&amp;lt;N&amp;lt;32." category="Network">
        <input>
            <param name="streamId" type="integer" desc="streamId"/>
            <param name="value" type="integer" desc="value"/>
            <param name="numberofBits" type="integer" desc="numberofBits"/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor.new" desc="" category="">
        <input/>
        <output>
            <param name="" type="object" desc=""/>
        </output>
    </function>
    <function name="TensionBeltGeometryConstructor:addAttachment" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:addIntersectionPoint" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:addShape" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:finalize" desc="" category="">
        <input/>
        <output>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="TensionBeltGeometryConstructor:setFixedPoints" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:setGeometryBias" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:setLinkNode" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:setMaterial" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:setMaxEdgeLength" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:setUVscale" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="TensionBeltGeometryConstructor:setWidth" desc="" category="">
        <input>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <function name="traceOff" desc="" category="">
        <input/>
        <output/>
    </function>
    <function name="traceOn" desc="" category="">
        <input>
            <param name="" type="unknown (optional)" desc=""/>
        </input>
        <output/>
    </function>
    <function name="unicodeToUtf8" desc="Converts an unicode value to an utf8 string" category="String">
        <input>
            <param name="unicode" type="integer" desc="unicode"/>
        </input>
        <output>
            <param name="utf8string" type="string" desc="utf8string"/>
        </output>
    </function>
    <function name="unlink" desc="Unlink node from parent" category="Node">
        <input>
            <param name="objectId" type="integer" desc="objectId"/>
        </input>
        <output/>
    </function>
    <function name="unpinSharedI3DFileInCache" desc="Unpin a shared I3D file in the cache, so it can be auto-deleted again" category="I3D">
        <input>
            <param name="filename" type="string" desc="filename"/>
        </input>
        <output/>
    </function>
    <function name="unProject" desc="Transform vector from screen space into world space" category="Scenegraph">
        <input>
            <param name="sx" type="float" desc="sx"/>
            <param name="sy" type="float" desc="sy"/>
            <param name="sz" type="float" desc="sz"/>
        </input>
        <output>
            <param name="wx" type="float" desc="wx"/>
            <param name="wy" type="float" desc="wy"/>
            <param name="wz" type="float" desc="wz"/>
        </output>
    </function>
    <function name="updateConditionalAnimation" desc="Update" category="Animation">
        <input>
            <param name="conditionalAnimationId" type="integer" desc="conditionalAnimationId"/>
            <param name="dt" type="float" desc="dt"/>
        </input>
        <output/>
    </function>
    <function name="updateDifferential" desc="update differential" category="Physics">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="index" type="integer" desc="index"/>
            <param name="ratio" type="float" desc="ratio"/>
            <param name="bias" type="float" desc="bias"/>
        </input>
        <output/>
    </function>
    <function name="usleep" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
        </input>
        <output/>
    </function>
    <function name="utf8Strlen" desc="Returns the length of an utf8 formated string" category="String">
        <input>
            <param name="utf8string" type="string" desc="utf8string"/>
        </input>
        <output>
            <param name="length" type="integer" desc="length"/>
        </output>
    </function>
    <function name="utf8Substr" desc="Returns a sub string of an utf8 formated string" category="String">
        <input>
            <param name="utf8string" type="string" desc="utf8string"/>
            <param name="startIndex" type="integer" desc="startIndex"/>
            <param name="length" type="integer" desc="length (optional)"/>
        </input>
        <output>
            <param name="subString" type="string" desc="subString"/>
        </output>
    </function>
    <function name="utf8ToLower" desc="Returns a lower case string of an utf8 formated string" category="String">
        <input>
            <param name="utf8string" type="string" desc="utf8string"/>
        </input>
        <output>
            <param name="utf8string" type="string" desc="utf8string"/>
        </output>
    </function>
    <function name="utf8ToUnicode" desc="Converts an utf8 string to unicode" category="String">
        <input>
            <param name="utf8string" type="string" desc="utf8string"/>
        </input>
        <output>
            <param name="unicode" type="integer" desc="unicode"/>
            <param name="utf8Len" type="integer" desc="utf8Len"/>
        </output>
    </function>
    <function name="utf8ToUpper" desc="Return a upper case string of an utf8 formated string" category="String">
        <input>
            <param name="utf8string" type="string" desc="utf8string"/>
        </input>
        <output>
            <param name="utf8string" type="string" desc="utf8string"/>
        </output>
    </function>
    <function name="voiceChatRemoveConnection" desc="Remove voice chat connection" category="VoiceChat">
        <input>
            <param name="connectionId" type="integer" desc="connectionId"/>
        </input>
        <output/>
    </function>
    <function name="worldDirectionToLocal" desc="World space to local space transformation, only direction without translation" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="worldRotationToLocal" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </output>
    </function>
    <function name="worldToLocal" desc="World space to local space transformation" category="Scenegraph">
        <input>
            <param name="transformId" type="integer" desc="transformId"/>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </input>
        <output>
            <param name="x" type="float" desc="x"/>
            <param name="y" type="float" desc="y"/>
            <param name="z" type="float" desc="z"/>
        </output>
    </function>
    <function name="writeFillPlaneToStream" desc="Write fill plane surface information to stream" category="Fillplanes">
        <input>
            <param name="fillPlaneId" type="integer" desc="fillPlaneId"/>
            <param name="streamId" type="integer" desc="streamId"/>
        </input>
        <output>
            <param name="" type="boolean" desc=""/>
        </output>
    </function>
    <function name="writeTerrainUpdateStream" desc="" category="">
        <input>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="integer" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
            <param name="" type="float" desc=""/>
        </input>
        <output/>
    </function>
    <enum name="AgentState">
        <value>DRIVING</value>
        <value>BLOCKED</value>
        <value>PLANNING</value>
        <value>NOT_REACHABLE</value>
        <value>TARGET_REACHED</value>
    </enum>
    <enum name="AnimalHusbandryFeedingType">
        <value>FOOD</value>
        <value>WATER</value>
    </enum>
    <enum name="AsyncResult">
        <value>NO</value>
        <value>YES</value>
        <value>NOT_AVAILABLE</value>
    </enum>
    <enum name="BrushType">
        <value>BRUSH_TYPE_CIRCLE</value>
        <value>BRUSH_TYPE_SQUARE</value>
    </enum>
    <enum name="ClassIds">
        <value>OVERLAY</value>
        <value>IMAGE_OVERLAY</value>
        <value>VIDEO_OVERLAY</value>
        <value>TERRAIN_TRANSFORM_GROUP</value>
        <value>FOLIAGE_TRANSFORM_GROUP</value>
        <value>TERRAIN_DETAIL_TRANSFORM_GROUP</value>
        <value>TERRAIN_LAYER_TRANSFORM_GROUP</value>
        <value>SHAPE</value>
        <value>LIGHT_SOURCE</value>
        <value>AUDIO_SOURCE</value>
        <value>CAMERA</value>
        <value>NAVIGATION_MESH</value>
        <value>DESTRUCTION_SHAPE</value>
        <value>MESH_SPLIT_SHAPE</value>
        <value>GEOMETRY</value>
        <value>TRANSFORM_GROUP</value>
        <value>PARTICLE_SYSTEM</value>
        <value>PRECIPITATION</value>
        <value>SPLINE</value>
        <value>NOTE</value>
    </enum>
    <enum name="DebugRendering">
        <value>NONE</value>
        <value>ALPHA</value>
        <value>PARALLAX</value>
        <value>ALBEDO</value>
        <value>NORMALS</value>
        <value>TANGENT_SPACE_NORMALS</value>
        <value>SMOOTHNESS</value>
        <value>METALNESS</value>
        <value>AMBIENT_OCCLUSION</value>
        <value>BAKED_AMBIENT_OCCLUSION</value>
        <value>SCREEN_SPACE_AMBIENT_OCCLUSION</value>
        <value>SPECULAR_OCCLUSION</value>
        <value>DIFFUSE_LIGHTING</value>
        <value>SPECULAR_LIGHTING</value>
        <value>INDIRECT_LIGHTING</value>
        <value>LIGHT_GRID</value>
        <value>SHADOW_SPLITS</value>
        <value>DEPTH</value>
        <value>DEPTH_SCALED</value>
        <value>MIP_LEVELS</value>
        <value>TRIANGLE_DENSITY</value>
        <value>TERRAIN_SLOPES</value>
        <value>MOTION_VECTORS</value>
        <value>SHADING_RATE</value>
        <value>MESH_LOD</value>
        <value>CUSTOM1</value>
        <value>CUSTOM2</value>
    </enum>
    <enum name="DensityCoordType">
        <value>POINT_POINT_POINT</value>
        <value>POINT_VECTOR_VECTOR</value>
    </enum>
    <enum name="DensityIndexCompareMode">
        <value>UPDATE</value>
        <value>KEEP</value>
        <value>ZERO</value>
    </enum>
    <enum name="DensityRoundingMode">
        <value>NEAREST</value>
        <value>NEAREST_EXPAND</value>
        <value>INCLUSIVE</value>
    </enum>
    <enum name="DensityTypeCompareType">
        <value>EQUAL</value>
        <value>NOTEQUAL</value>
        <value>ALWAYS</value>
    </enum>
    <enum name="DensityValueCompareType">
        <value>ALWAYS</value>
        <value>GREATER</value>
        <value>BETWEEN</value>
        <value>EQUAL</value>
        <value>NOTEQUAL</value>
        <value>NOTBETWEEN</value>
    </enum>
    <enum name="DLSSQuality">
        <value>OFF</value>
        <value>MAX_PERFORMANCE</value>
        <value>BALANCED_PERFORMANCE</value>
        <value>MAX_QUALITY</value>
        <value>ULTRA_PERFORMANCE</value>
        <value>ULTRA_QUALITY</value>
        <value>NUM</value>
    </enum>
    <enum name="FidelityFxSR30Quality">
        <value>OFF</value>
        <value>ULTRA_QUALITY</value>
        <value>QUALITY</value>
        <value>BALANCED</value>
        <value>PERFORMANCE</value>
        <value>ULTRA_PERFORMANCE</value>
        <value>NUM</value>
    </enum>
    <enum name="FidelityFxSRQuality">
        <value>OFF</value>
        <value>ULTRA_QUALITY</value>
        <value>QUALITY</value>
        <value>BALANCED</value>
        <value>PERFORMANCE</value>
        <value>NUM</value>
    </enum>
    <enum name="FileAccess">
        <value>WRITE</value>
        <value>READ</value>
    </enum>
    <enum name="FullscreenMode">
        <value>WINDOWED</value>
        <value>WINDOWED_FULLSCREEN</value>
        <value>EXCLUSIVE_FULLSCREEN</value>
        <value>NUM</value>
    </enum>
    <enum name="GamepadCategories">
        <value>CATEGORY_UNKNOWN</value>
        <value>CATEGORY_WHEEL</value>
        <value>CATEGORY_JOYSTICK</value>
        <value>CATEGORY_GAMEPAD</value>
        <value>CATEGORY_FARMWHEEL</value>
        <value>CATEGORY_FARMSIDEPANEL</value>
        <value>CATEGORY_FARMWHEEL_HORI</value>
        <value>CATEGORY_FARMSIDEPANEL_HORI</value>
        <value>CATEGORY_FARMJOYSTICK_THRUSTMASTER</value>
    </enum>
    <enum name="HusbandryAreaType">
        <value>INDOOR</value>
    </enum>
    <enum name="InAppPurchase">
        <value>ERROR_OK</value>
        <value>ERROR_NETWORK_UNAVAILABLE</value>
        <value>ERROR_PURCHASE_IN_PROGRESS</value>
        <value>ERROR_FAILED</value>
        <value>ERROR_CANCELLED</value>
        <value>ERROR_PENDING_PAYMENT</value>
    </enum>
    <enum name="LightType">
        <value>DIRECTIONAL</value>
        <value>POINT</value>
        <value>SPOT</value>
    </enum>
    <enum name="LoadI3DFailedReason">
        <value>NONE</value>
        <value>CANCELLED</value>
        <value>FILE_NOT_FOUND</value>
        <value>UNKNOWN</value>
    </enum>
    <enum name="MasterServerServerDetailsFailedReason">
        <value>NOT_FOUND</value>
        <value>NO_CROSS_PLAY</value>
    </enum>
    <enum name="MultiplayerAvailability">
        <value>AVAILABILITY_UNKNOWN</value>
        <value>AVAILABLE</value>
        <value>NOT_AVAILABLE</value>
        <value>NO_PRIVILEGES</value>
    </enum>
    <enum name="NATType">
        <value>NAT_UNKNOWN</value>
        <value>NAT_OPEN</value>
        <value>NAT_MODERATE</value>
        <value>NAT_STRICT</value>
    </enum>
    <enum name="Network">
        <value>TYPE_APPLICATION</value>
        <value>TYPE_CONNECTION_REQUEST_ACCEPTED</value>
        <value>TYPE_CONNECTION_ATTEMPT_FAILED</value>
        <value>TYPE_ALREADY_CONNECTED</value>
        <value>TYPE_NEW_INCOMING_CONNECTION</value>
        <value>TYPE_NO_FREE_INCOMING_CONNECTIONS</value>
        <value>TYPE_DISCONNECTION_NOTIFICATION</value>
        <value>TYPE_CONNECTION_LOST</value>
        <value>TYPE_RSA_PUBLIC_KEY_MISMATCH</value>
        <value>TYPE_CONNECTION_BANNED</value>
        <value>TYPE_INVALID_PASSWORD</value>
        <value>TYPE_MODIFIED_PACKET</value>
        <value>TYPE_PONG</value>
        <value>TYPE_ADVERTISE_SYSTEM</value>
        <value>TYPE_REMOTE_DISCONNECTION_NOTIFICATION</value>
        <value>TYPE_REMOTE_CONNECTION_LOST</value>
        <value>TYPE_REMOTE_NEW_INCOMING_CONNECTION</value>
        <value>TYPE_APPLICATION_UNCONNECTED</value>
    </enum>
    <enum name="NormalMapFormat">
        <value>NONE</value>
        <value>S2CHANNEL</value>
        <value>U3CHANNEL</value>
        <value>U4CHANNEL</value>
    </enum>
    <enum name="PlatformId">
        <value>UNKNOWN</value>
        <value>WIN</value>
        <value>MAC</value>
        <value>XBOX_ONE</value>
        <value>PS4</value>
        <value>ANDROID</value>
        <value>IOS</value>
        <value>SWITCH</value>
        <value>GGP</value>
        <value>XBOX_SERIES</value>
        <value>PS5</value>
    </enum>
    <enum name="PostProcessAntiAliasing">
        <value>OFF</value>
        <value>TAA</value>
        <value>DLAA</value>
        <value>FSR3</value>
        <value>NUM</value>
    </enum>
    <enum name="PresenceModes">
        <value>PRESENCE_IDLE</value>
        <value>PRESENCE_CAREER</value>
        <value>PRESENCE_TUTORIAL</value>
        <value>PRESENCE_MULTIPLAYER</value>
        <value>PRESENCE_MULTIPLAYER_ALONE</value>
        <value>PRESENCE_MULTIPLAYER_CROSSPLAY</value>
    </enum>
    <enum name="RenderText">
        <value>ALIGN_LEFT</value>
        <value>ALIGN_CENTER</value>
        <value>ALIGN_RIGHT</value>
        <value>VERTICAL_ALIGN_BASELINE</value>
        <value>VERTICAL_ALIGN_TOP</value>
        <value>VERTICAL_ALIGN_MIDDLE</value>
        <value>VERTICAL_ALIGN_BOTTOM</value>
        <value>DEFAULT_LINE_HEIGHT_SCALE</value>
    </enum>
    <enum name="ReportUserReason">
        <value>PLAYER_NAME</value>
        <value>VOICE_CHAT</value>
        <value>TEXT_CHAT</value>
        <value>BEHAVIOR</value>
        <value>CHEATING</value>
    </enum>
    <enum name="Reverb">
        <value>GS_CITY</value>
        <value>GS_FOREST</value>
        <value>GS_INDOOR_HALL</value>
        <value>GS_OPEN_FIELD</value>
        <value>GS_TUNNEL</value>
    </enum>
    <enum name="RigidBodyType">
        <value>NONE</value>
        <value>STATIC</value>
        <value>DYNAMIC</value>
        <value>KINEMATIC</value>
    </enum>
    <enum name="Savegame">
        <value>ERROR_OK</value>
        <value>ERROR_CANCELLED</value>
        <value>ERROR_DEVICE_UNAVAILABLE</value>
        <value>ERROR_DATA_CORRUPT</value>
        <value>ERROR_BAD_INDEX</value>
        <value>ERROR_SCAN_FAILED</value>
        <value>ERROR_SCAN_IN_PROGRESS</value>
        <value>ERROR_SAVE_FAILED</value>
        <value>ERROR_SAVE_NO_SPACE</value>
        <value>ERROR_LOAD_FAILED</value>
        <value>ERROR_LOAD_INVALID_USER</value>
        <value>ERROR_OPERATION_IN_PROGRESS</value>
        <value>ERROR_CLOUD_CONFLICT</value>
        <value>ERROR_RESOLVE_FAILED</value>
        <value>ERROR_QUOTA_EXCEEDED</value>
    </enum>
    <enum name="SaveGameResolvePolicy">
        <value>KEEP_LOCAL</value>
        <value>KEEP_REMOTE</value>
        <value>KEEP_BOTH</value>
    </enum>
    <enum name="Store">
        <value>STORE_NONE</value>
        <value>STORE_CLOSED</value>
        <value>STORE_ACTIVE</value>
        <value>STORE_COMPLETE</value>
        <value>STORE_ABORT</value>
        <value>STORE_ERROR</value>
        <value>STORE_OFFLINE</value>
        <value>STORE_GOING_ONLINE</value>
        <value>STORE_ONLINE</value>
        <value>STORE_NETFAIL</value>
        <value>STORE_AGE_RESTRICTED</value>
    </enum>
    <enum name="TerrainLoadFlags">
        <value>TEXTURE_CACHE</value>
        <value>LOD_TEXTURE_CACHE</value>
        <value>NORMAL_MAP_CACHE</value>
        <value>OCCLUDER_CACHE</value>
        <value>DENSITY_MAPS_USE_LOAD_DIR</value>
        <value>TEXTURE_CACHE_USE_LOAD_DIR</value>
        <value>HEIGHT_MAP_USE_LOAD_DIR</value>
        <value>NORMAL_MAP_CACHE_USE_LOAD_DIR</value>
        <value>OCCLUDER_CACHE_USE_LOAD_DIR</value>
        <value>GAME_DEFAULT</value>
    </enum>
    <enum name="UploadState">
        <value>UPLOADED</value>
        <value>NOT_UPLOADED</value>
        <value>UPLOADING</value>
    </enum>
    <enum name="Upnp">
        <value>ADD_PORT_SUCCESS</value>
        <value>ADD_PORT_FAILED</value>
        <value>ADD_PORT_CONFLICT</value>
    </enum>
    <enum name="ValarQuality">
        <value>OFF</value>
        <value>QUALITY</value>
        <value>BALANCED</value>
        <value>PERFORMANCE</value>
        <value>DYNAMIC</value>
        <value>NUM</value>
    </enum>
    <enum name="VoiceChatConnectionStatus">
        <value>SILENT</value>
        <value>ACTIVE</value>
        <value>UNAVAILABLE</value>
    </enum>
    <enum name="VoiceChatRecordingMode">
        <value>DISABLED</value>
        <value>MUTED</value>
        <value>ALWAYS</value>
        <value>AUTOMATIC</value>
        <value>TEST</value>
    </enum>
    <enum name="XeSSQuality">
        <value>OFF</value>
        <value>ULTRA_QUALITY</value>
        <value>QUALITY</value>
        <value>BALANCED</value>
        <value>PERFORMANCE</value>
        <value>NUM</value>
    </enum>
</scriptBinding>
