#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.0000039780381939635845, 0.000007956076956361358, -0.000003978038478180679)
            }
            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 = {
        }
    }
    defaultPrim = "World"
    endTimeCode = 100
    metersPerUnit = 0.01
    startTimeCode = 0
    timeCodesPerSecond = 24
    upAxis = "Y"
)

def Xform "World"
{
    def Scope "Compounds"
    {
        def OmniGraphCompoundNodeType "Madd"
        {
            prepend rel omni:graph:asset = </World/Compounds/Madd/Graph>
            custom rel omni:graph:input:a = </World/Compounds/Madd/Graph/multiply.inputs:a>
            custom rel omni:graph:input:b = </World/Compounds/Madd/Graph/multiply.inputs:b>
            custom rel omni:graph:input:c = </World/Compounds/Madd/Graph/add.inputs:b>
            custom rel omni:graph:output:sum = </World/Compounds/Madd/Graph/add.outputs:sum>

            def OmniGraph "Graph"
            {
                token evaluationMode = "Instanced"
                token evaluator:type = "push"
                token fabricCacheBacking = "Shared"
                int2 fileFormatVersion = (1, 4)
                token pipelineStage = "pipelineStageSimulation"

                def OmniGraphNode "add" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom token inputs:a
                    prepend token inputs:a.connect = </World/Compounds/Madd/Graph/multiply.outputs:product>
                    custom token inputs:b
                    token node:type = "omni.graph.nodes.Add"
                    int node:typeVersion = 1
                    custom token outputs:sum
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (620, 125)
                }

                def OmniGraphNode "multiply" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom token inputs:a
                    custom token inputs:b
                    token node:type = "omni.graph.nodes.Multiply"
                    int node:typeVersion = 1
                    custom token outputs:product
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (377, 40)
                }
            }
        }

        def OmniGraphCompoundNodeType "DebugString"
        {
            prepend rel omni:graph:asset = </World/Compounds/DebugString/Graph>
            custom rel omni:graph:input:value = </World/Compounds/DebugString/Graph/to_string.inputs:value>

            def OmniGraph "Graph"
            {
                token evaluationMode = "Instanced"
                token evaluator:type = "push"
                token fabricCacheBacking = "Shared"
                int2 fileFormatVersion = (1, 4)
                token pipelineStage = "pipelineStageSimulation"

                def OmniGraphNode "to_string" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom token inputs:value
                    token node:type = "omni.graph.nodes.ToString"
                    int node:typeVersion = 1
                    custom string outputs:converted
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (520, 90)
                }

                def OmniGraphNode "append_string" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom token inputs:suffix
                    prepend token inputs:suffix.connect = </World/Compounds/DebugString/Graph/to_string.outputs:converted>
                    custom token inputs:value
                    prepend token inputs:value.connect = </World/Compounds/DebugString/Graph/constant_string.inputs:value>
                    token node:type = "omni.graph.nodes.AppendString"
                    int node:typeVersion = 1
                    custom token outputs:value
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (812, 128)
                }

                def OmniGraphNode "constant_string" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom string inputs:value = "[DEBUG] "
                    token node:type = "omni.graph.nodes.ConstantString"
                    int node:typeVersion = 1
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (519, 232)
                }

                def OmniGraphNode "to_string_01" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom token inputs:value
                    prepend token inputs:value.connect = </World/Compounds/DebugString/Graph/append_string.outputs:value>
                    token node:type = "omni.graph.nodes.ToString"
                    int node:typeVersion = 1
                    custom string outputs:converted
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (1080.8212, 132.8374)
                }
            }
        }

        def OmniGraphCompoundNodeType "Deg2Rad"
        {
            prepend rel omni:graph:asset = </World/Compounds/Deg2Rad/Graph>
            custom rel omni:graph:input:a = </World/Compounds/Deg2Rad/Graph/multiply.inputs:a>
            custom rel omni:graph:output:result = </World/Compounds/Deg2Rad/Graph/divide.outputs:result>

            def OmniGraph "Graph"
            {
                token evaluationMode = "Instanced"
                token evaluator:type = "push"
                token fabricCacheBacking = "Shared"
                int2 fileFormatVersion = (1, 4)
                token pipelineStage = "pipelineStageSimulation"

                def OmniGraphNode "constant_pi" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom double inputs:factor = 2
                    token node:type = "omni.graph.nodes.ConstantPi"
                    int node:typeVersion = 1
                    custom double outputs:value
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (318, 181)
                }

                def OmniGraphNode "multiply" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom token inputs:a
                    custom token inputs:b
                    prepend token inputs:b.connect = </World/Compounds/Deg2Rad/Graph/constant_pi.outputs:value>
                    token node:type = "omni.graph.nodes.Multiply"
                    int node:typeVersion = 1
                    custom token outputs:product
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (619, 47)
                }

                def OmniGraphNode "constant_double_01" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom double inputs:value = 360
                    token node:type = "omni.graph.nodes.ConstantDouble"
                    int node:typeVersion = 1
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (620, 187)
                }

                def OmniGraphNode "divide" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom token inputs:a
                    prepend token inputs:a.connect = </World/Compounds/Deg2Rad/Graph/multiply.outputs:product>
                    custom token inputs:b
                    prepend token inputs:b.connect = </World/Compounds/Deg2Rad/Graph/constant_double_01.inputs:value>
                    token node:type = "omni.graph.nodes.Divide"
                    int node:typeVersion = 1
                    custom token outputs:result
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (871, 50)
                }
            }
        }

        def OmniGraphCompoundNodeType "CelciusToFahrenheit"
        {
            prepend rel omni:graph:asset = </World/Compounds/CelciusToFahrenheit/Graph>
            custom rel omni:graph:input:a = </World/Compounds/CelciusToFahrenheit/Graph/madd.inputs:a>
            custom rel omni:graph:output:value = </World/Compounds/CelciusToFahrenheit/Graph/madd.outputs:sum>

            def OmniGraph "Graph"
            {
                token evaluationMode = "Automatic"
                token evaluator:type = "push"
                token fabricCacheBacking = "Shared"
                int2 fileFormatVersion = (1, 4)
                token pipelineStage = "pipelineStageSimulation"

                def OmniGraphNode "madd" (
                    prepend apiSchemas = ["NodeGraphNodeAPI", "OmniGraphCompoundNodeAPI"]
                )
                {
                    custom token inputs:a
                    custom token inputs:b
                    prepend token inputs:b.connect = </World/Compounds/CelciusToFahrenheit/Graph/constant_double_02.inputs:value>
                    custom token inputs:c
                    prepend token inputs:c.connect = </World/Compounds/CelciusToFahrenheit/Graph/constant_double_01.inputs:value>
                    token node:type = "local.nodes.Madd"
                    token node:type.connect = </World/Compounds/Madd>
                    int node:typeVersion = 1
                    rel omni:graph:compoundGraph = </World/Compounds/CelciusToFahrenheit/Graph/madd/Graph>
                    token omni:graph:compoundType = "nodetype"
                    custom token outputs:sum
                    prepend token outputs:sum.connect = </World/Compounds/CelciusToFahrenheit/Graph/madd/Graph/add.outputs:sum>
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (436, 81)

                    def "Graph" (
                        prepend references = </World/Compounds/Madd/Graph>
                    )
                    {
                        token evaluationMode = "Automatic"

                        over "multiply"
                        {
                            custom token inputs:a
                            prepend token inputs:a.connect = </World/Compounds/CelciusToFahrenheit/Graph/madd.inputs:a>
                            custom token inputs:b
                            prepend token inputs:b.connect = </World/Compounds/CelciusToFahrenheit/Graph/madd.inputs:b>
                        }

                        over "add"
                        {
                            custom token inputs:b
                            prepend token inputs:b.connect = </World/Compounds/CelciusToFahrenheit/Graph/madd.inputs:c>
                        }
                    }
                }

                def OmniGraphNode "constant_double_02" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom double inputs:value = 1.8
                    token node:type = "omni.graph.nodes.ConstantDouble"
                    int node:typeVersion = 1
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (51, 149)
                }

                def OmniGraphNode "constant_double_01" (
                    prepend apiSchemas = ["NodeGraphNodeAPI"]
                )
                {
                    custom double inputs:value = 32
                    token node:type = "omni.graph.nodes.ConstantDouble"
                    int node:typeVersion = 1
                    uniform token ui:nodegraph:node:expansionState = "open"
                    uniform float2 ui:nodegraph:node:pos = (48, 251)
                }
            }
        }
    }
}
