#usda 1.0
(
    doc ="""Generated from node description file OgnTutorialSimpleDataPy.ogn
Contains templates for node types found in that file."""
)

def OmniGraph "TestGraph"
{
    token evaluator:type = "push"
    int2 fileFormatVersion = (1, 3)
    token flatCacheBacking = "Shared"
    token pipelineStage = "pipelineStageSimulation"

    def OmniGraphNode "Template_omni_graph_tutorials_SimpleDataPy" (
        docs="""This is a tutorial node. It creates both an input and output attribute of every simple  supported data type. The values are modified in a simple way so that the compute modifies values.  It is the same as node omni.graph.tutorials.SimpleData, except it is implemented in Python instead of C++."""
    )
    {
        token node:type = "omni.graph.tutorials.SimpleDataPy"
        int node:typeVersion = 1

        # 14 attributes
        custom bool inputs:a_bool = true (
            docs="""This is an attribute of type boolean"""
        )
        custom int inputs:a_constant_input = 0 (
            docs="""This is an input attribute whose value can be set but can only be connected as a source."""
        )
        custom double inputs:a_double = 0 (
            docs="""This is an attribute of type 64 bit floating point"""
        )
        custom float inputs:a_float = 0 (
            docs="""This is an attribute of type 32 bit floating point"""
        )
        custom half inputs:a_half = 0.0 (
            docs="""This is an attribute of type 16 bit float"""
        )
        custom int inputs:a_int = 0 (
            docs="""This is an attribute of type 32 bit integer"""
        )
        custom int64 inputs:a_int64 = 0 (
            docs="""This is an attribute of type 64 bit integer"""
        )
        custom uint64 inputs:a_objectId = 0 (
            docs="""This is an attribute of type objectId"""
        )
        custom string inputs:a_path = "" (
            docs="""This is an attribute of type path"""
        )
        custom string inputs:a_string = "helloString" (
            docs="""This is an attribute of type string"""
        )
        custom token inputs:a_token = "helloToken" (
            docs="""This is an attribute of type interned string with fast comparison and hashing"""
        )
        custom uchar inputs:a_uchar = 0 (
            docs="""This is an attribute of type unsigned 8 bit integer"""
        )
        custom uint inputs:a_uint = 0 (
            docs="""This is an attribute of type unsigned 32 bit integer"""
        )
        custom uint64 inputs:a_uint64 = 0 (
            docs="""This is an attribute of type unsigned 64 bit integer"""
        )

        # 15 attributes
        custom string outputs:a_a_boolUiName (
            docs="""Computed attribute containing the UI name of input a_bool"""
        )
        custom bool outputs:a_bool (
            docs="""This is a computed attribute of type boolean"""
        )
        custom double outputs:a_double (
            docs="""This is a computed attribute of type 64 bit floating point"""
        )
        custom float outputs:a_float (
            docs="""This is a computed attribute of type 32 bit floating point"""
        )
        custom half outputs:a_half (
            docs="""This is a computed attribute of type 16 bit float"""
        )
        custom int outputs:a_int (
            docs="""This is a computed attribute of type 32 bit integer"""
        )
        custom int64 outputs:a_int64 (
            docs="""This is a computed attribute of type 64 bit integer"""
        )
        custom string outputs:a_nodeTypeUiName (
            docs="""Computed attribute containing the UI name of this node type"""
        )
        custom uint64 outputs:a_objectId (
            docs="""This is a computed attribute of type objectId"""
        )
        custom string outputs:a_path = "/Child" (
            docs="""This is a computed attribute of type path"""
        )
        custom string outputs:a_string = "This string is empty" (
            docs="""This is a computed attribute of type string"""
        )
        custom token outputs:a_token (
            docs="""This is a computed attribute of type interned string with fast comparison and hashing"""
        )
        custom uchar outputs:a_uchar (
            docs="""This is a computed attribute of type unsigned 8 bit integer"""
        )
        custom uint outputs:a_uint (
            docs="""This is a computed attribute of type unsigned 32 bit integer"""
        )
        custom uint64 outputs:a_uint64 (
            docs="""This is a computed attribute of type unsigned 64 bit integer"""
        )
    }
}
