#usda 1.0
(
    doc ="""Generated from node description file OgnTutorialRoleData.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_RoleData" (
        docs="""This is a tutorial node. It creates both an input and output attribute of every supported  role-based data type. The values are modified in a simple way so that the compute modifies values. """
    )
    {
        token node:type = "omni.graph.tutorials.RoleData"
        int node:typeVersion = 1

        # 29 attributes
        custom color3d inputs:a_color3d = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 3d color"""
        )
        custom color3f inputs:a_color3f = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 3d color"""
        )
        custom color3h inputs:a_color3h = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 3d color"""
        )
        custom color4d inputs:a_color4d = (0.0, 0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 4d color"""
        )
        custom color4f inputs:a_color4f = (0.0, 0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 4d color"""
        )
        custom color4h inputs:a_color4h = (0.0, 0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 4d color"""
        )
        custom frame4d inputs:a_frame = ((1.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 0.0, 1.0)) (
            docs="""This is an attribute interpreted as a coordinate frame"""
        )
        custom matrix2d inputs:a_matrix2d = ((1.0, 0.0), (0.0, 1.0)) (
            docs="""This is an attribute interpreted as a double-precision 2d matrix"""
        )
        custom matrix3d inputs:a_matrix3d = ((1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)) (
            docs="""This is an attribute interpreted as a double-precision 3d matrix"""
        )
        custom matrix4d inputs:a_matrix4d = ((1.0, 0.0, 0.0, 0.0), (0.0, 1.0, 0.0, 0.0), (0.0, 0.0, 1.0, 0.0), (0.0, 0.0, 0.0, 1.0)) (
            docs="""This is an attribute interpreted as a double-precision 4d matrix"""
        )
        custom normal3d inputs:a_normal3d = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 3d normal"""
        )
        custom normal3f inputs:a_normal3f = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 3d normal"""
        )
        custom normal3h inputs:a_normal3h = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 3d normal"""
        )
        custom point3d inputs:a_point3d = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 3d point"""
        )
        custom point3f inputs:a_point3f = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 3d point"""
        )
        custom point3h inputs:a_point3h = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 3d point"""
        )
        custom quatd inputs:a_quatd = (0.0, 0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 4d quaternion"""
        )
        custom quatf inputs:a_quatf = (0.0, 0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 4d quaternion"""
        )
        custom quath inputs:a_quath = (0.0, 0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 4d quaternion"""
        )
        custom texCoord2d inputs:a_texcoord2d = (0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 2d texcoord"""
        )
        custom texCoord2f inputs:a_texcoord2f = (0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 2d texcoord"""
        )
        custom texCoord2h inputs:a_texcoord2h = (0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 2d texcoord"""
        )
        custom texCoord3d inputs:a_texcoord3d = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 3d texcoord"""
        )
        custom texCoord3f inputs:a_texcoord3f = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 3d texcoord"""
        )
        custom texCoord3h inputs:a_texcoord3h = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 3d texcoord"""
        )
        custom timecode inputs:a_timecode = 1.0 (
            docs="""This is a computed attribute interpreted as a timecode"""
        )
        custom vector3d inputs:a_vector3d = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a double-precision 3d vector"""
        )
        custom vector3f inputs:a_vector3f = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a single-precision 3d vector"""
        )
        custom vector3h inputs:a_vector3h = (0.0, 0.0, 0.0) (
            docs="""This is an attribute interpreted as a half-precision 3d vector"""
        )

        # 29 attributes
        custom color3d outputs:a_color3d (
            docs="""This is a computed attribute interpreted as a double-precision 3d color"""
        )
        custom color3f outputs:a_color3f (
            docs="""This is a computed attribute interpreted as a single-precision 3d color"""
        )
        custom color3h outputs:a_color3h (
            docs="""This is a computed attribute interpreted as a half-precision 3d color"""
        )
        custom color4d outputs:a_color4d (
            docs="""This is a computed attribute interpreted as a double-precision 4d color"""
        )
        custom color4f outputs:a_color4f (
            docs="""This is a computed attribute interpreted as a single-precision 4d color"""
        )
        custom color4h outputs:a_color4h (
            docs="""This is a computed attribute interpreted as a half-precision 4d color"""
        )
        custom frame4d outputs:a_frame (
            docs="""This is a computed attribute interpreted as a coordinate frame"""
        )
        custom matrix2d outputs:a_matrix2d (
            docs="""This is a computed attribute interpreted as a double-precision 2d matrix"""
        )
        custom matrix3d outputs:a_matrix3d (
            docs="""This is a computed attribute interpreted as a double-precision 3d matrix"""
        )
        custom matrix4d outputs:a_matrix4d (
            docs="""This is a computed attribute interpreted as a double-precision 4d matrix"""
        )
        custom normal3d outputs:a_normal3d (
            docs="""This is a computed attribute interpreted as a double-precision 3d normal"""
        )
        custom normal3f outputs:a_normal3f (
            docs="""This is a computed attribute interpreted as a single-precision 3d normal"""
        )
        custom normal3h outputs:a_normal3h (
            docs="""This is a computed attribute interpreted as a half-precision 3d normal"""
        )
        custom point3d outputs:a_point3d (
            docs="""This is a computed attribute interpreted as a double-precision 3d point"""
        )
        custom point3f outputs:a_point3f (
            docs="""This is a computed attribute interpreted as a single-precision 3d point"""
        )
        custom point3h outputs:a_point3h (
            docs="""This is a computed attribute interpreted as a half-precision 3d point"""
        )
        custom quatd outputs:a_quatd (
            docs="""This is a computed attribute interpreted as a double-precision 4d quaternion"""
        )
        custom quatf outputs:a_quatf (
            docs="""This is a computed attribute interpreted as a single-precision 4d quaternion"""
        )
        custom quath outputs:a_quath (
            docs="""This is a computed attribute interpreted as a half-precision 4d quaternion"""
        )
        custom texCoord2d outputs:a_texcoord2d (
            docs="""This is a computed attribute interpreted as a double-precision 2d texcoord"""
        )
        custom texCoord2f outputs:a_texcoord2f (
            docs="""This is a computed attribute interpreted as a single-precision 2d texcoord"""
        )
        custom texCoord2h outputs:a_texcoord2h (
            docs="""This is a computed attribute interpreted as a half-precision 2d texcoord"""
        )
        custom texCoord3d outputs:a_texcoord3d (
            docs="""This is a computed attribute interpreted as a double-precision 3d texcoord"""
        )
        custom texCoord3f outputs:a_texcoord3f (
            docs="""This is a computed attribute interpreted as a single-precision 3d texcoord"""
        )
        custom texCoord3h outputs:a_texcoord3h (
            docs="""This is a computed attribute interpreted as a half-precision 3d texcoord"""
        )
        custom timecode outputs:a_timecode (
            docs="""This is a computed attribute interpreted as a timecode"""
        )
        custom vector3d outputs:a_vector3d (
            docs="""This is a computed attribute interpreted as a double-precision 3d vector"""
        )
        custom vector3f outputs:a_vector3f (
            docs="""This is a computed attribute interpreted as a single-precision 3d vector"""
        )
        custom vector3h outputs:a_vector3h (
            docs="""This is a computed attribute interpreted as a half-precision 3d vector"""
        )
    }
}
