#usda 1.0
(
    customLayerData = {
        dictionary cameraSettings = {
            dictionary Front = {
                double3 position = (0, 0, 50000)
                double radius = 500
            }
            dictionary Perspective = {
                double3 position = (500.0000000000001, 500.0000000000001, 499.9999999999998)
                double3 target = (0, 0, 0)
            }
            dictionary Right = {
                double3 position = (-50000, 0, -1.1102230246251565e-11)
                double radius = 500
            }
            dictionary Top = {
                double3 position = (-4.329780281177466e-12, 50000, 1.1102230246251565e-11)
                double radius = 500
            }
            string boundCamera = "/OmniverseKit_Persp"
        }
        dictionary omni_layer = {
            dictionary muteness = {
            }
        }
        dictionary renderSettings = {
        }
    }
    metersPerUnit = 0.01
    timeCodesPerSecond = 24
    upAxis = "Y"
)

def "World"
{
    def GlobalComputeGraph "my_simulation_push_graph"
    {
        def ComputeGraphSettings "computegraphSettings"
        {
            custom token evaluator:type = "push"
            custom int2 fileFormatVersion = (1, 1)
            custom token flatCacheBacking = "Shared"
            custom token pipelineStage = "pipelineStageSimulation"
        }

        def ComputeNode "subtractSize"
        {
            custom double inputs:a = 0
            prepend double inputs:a.connect = </cube1.size>
            custom double inputs:b = -1
            custom int inputs:test_create1
            custom int3 inputs:test_create2
            custom int3[] inputs:test_create3
            custom uint inputs:test_create4
            custom token node:type = "omni.graph.test.SubtractDoubleC"
            custom int node:typeVersion = 1
            custom double outputs:out = 118.7000000000794
            
        }
    }
	
	# note this graph here is just a duplicated version of the above push graph, changed slightly to
	# be in a different pipeline stage.  It's setup this way just to test the parsing of the graphs.
	# It's not meant to be ticked.  Please change the graph appropriately if ever that aspect is to 
	# be tested
	def GlobalComputeGraph "my_postrender_push_graph"
    {
        def ComputeGraphSettings "computegraphSettings"
        {
            custom token evaluator:type = "push"
            custom int2 fileFormatVersion = (1, 1)
            custom token flatCacheBacking = "Shared"
            custom token pipelineStage = "pipelineStagePostRender"
        }

        def ComputeNode "subtractSize"
        {
            custom double inputs:a = 0
            prepend double inputs:a.connect = </cube1.size>
            custom double inputs:b = -1
            custom int inputs:test_create1
            custom int3 inputs:test_create2
            custom int3[] inputs:test_create3
            custom uint inputs:test_create4
            custom token node:type = "omni.graph.test.SubtractDoubleC"
            custom int node:typeVersion = 1
            custom double outputs:out = 118.7000000000794

        }
    }
}

def Cube "cube1"
{
    color3f[] primvars:displayColor = [(1, 0, 1)]
    double size = 118.7000000000794
    prepend double size.connect = </World/my_simulation_push_graph/subtractSize.outputs:out>
}

