#usda 1.0
(
    customLayerData = {
        dictionary cameraSettings = {
            dictionary Front = {
                double radius = 500
                double3 target = (0, 0, 0)
            }
            dictionary Perspective = {
                double3 position = (500.0000000000001, 500.0000000000001, 499.9999999999998)
                double3 target = (0, 0, 0)
            }
            dictionary Right = {
                double radius = 500
                double3 target = (0, 0, 0)
            }
            dictionary Top = {
                double radius = 500
                double3 target = (0, 0, 0)
            }
            string boundCamera = "/OmniverseKit_Persp"
        }
        dictionary omni_layer = {
            dictionary muteness = {
            }
        }
        dictionary renderSettings = {
            float "rtx:post:lensDistortion:cameraFocalLength" = 18.147562
        }
    }
    defaultPrim = "World"
    endTimeCode = 100
    metersPerUnit = 0.009999999776482582
    startTimeCode = 0
    timeCodesPerSecond = 24
    upAxis = "Y"
)

def Xform "World"
{
    def DistantLight "defaultLight" (
        prepend apiSchemas = ["ShapingAPI"]
    )
    {
        float angle = 1
        float intensity = 3000
        float shaping:cone:angle = 180
        float shaping:cone:softness
        float shaping:focus
        color3f shaping:focusTint
        asset shaping:ies:file
        double3 xformOp:rotateXYZ = (315, 0, 0)
        double3 xformOp:scale = (1, 1, 1)
        double3 xformOp:translate = (0, 0, 0)
        uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
    }

    def Cube "Cube"
    {
        float3[] extent = [(-50, -50, -50), (50, 50, 50)]
        double size = 100
        double3 xformOp:rotateXYZ = (0, 0, 0)
        double3 xformOp:scale = (1, 1, 1)
        double3 xformOp:translate = (0, 0, 0)
        prepend double3 xformOp:translate.connect = </World/innerPushGraph/omnigraph_examples_composeDouble3C.outputs:double3>
        uniform token[] xformOpOrder = ["xformOp:translate", "xformOp:rotateXYZ", "xformOp:scale"]
    }
	
	def ComputeGraph "innerPushGraph"
    {

		def ComputeGraphSettings "computegraphSettings"
		{
			custom token evaluator:type = "push"
			bool disable = true
		}

		def ComputeNode "omnigraph_examples_decomposeDouble3C"
		{
			custom double3 inputs:double3 = (0, 0, 0)
			prepend double3 inputs:double3.connect = </World/Cube.xformOp:translate>
			custom token node:type = "omni.graph.test.DecomposeDouble3C"
			custom int node:typeVersion = 1
			custom double outputs:x = 0
			custom double outputs:y = 0
			custom double outputs:z = 0
		}

		def ComputeNode "omnigraph_examples_subtractDoubleC"
		{
			custom double inputs:a = 0
			prepend double inputs:a.connect = </World/innerPushGraph/omnigraph_examples_decomposeDouble3C.outputs:x>
			custom double inputs:b = 1
			custom token node:type = "omni.graph.test.SubtractDoubleC"
			custom int node:typeVersion = 1
			custom double outputs:out = 0
		}

		def ComputeNode "omnigraph_examples_composeDouble3C"
		{
			custom double inputs:x = 0
			prepend double inputs:x.connect = </World/innerPushGraph/omnigraph_examples_subtractDoubleC.outputs:out>
			custom double inputs:y = 0
			prepend double inputs:y.connect = </World/innerPushGraph/omnigraph_examples_decomposeDouble3C.outputs:y>
			custom double inputs:z = 0
			prepend double inputs:z.connect = </World/innerPushGraph/omnigraph_examples_decomposeDouble3C.outputs:z>
			custom token node:type = "omni.graph.test.ComposeDouble3C"
			custom int node:typeVersion = 1
			custom double3 outputs:double3 = (0, 0, 0)
		}
	}
}

