#usda 1.0
(
    doc ="""Generated from node description file OgnTutorialCudaDataCpu.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_CudaCpuArrays" (
        docs="""This is a tutorial node. It illustrates the alternative method of extracting pointers to GPU array data in which the pointer returned is a CPU pointer and can be dereferenced on the CPU side. Without the cudaPointers value set that pointer would be a GPU pointer to an array of GPU pointers and could only be dereferenced on the device."""
    )
    {
        token node:type = "omni.graph.tutorials.CudaCpuArrays"
        int node:typeVersion = 1

        # 2 attributes
        custom float3 inputs:multiplier = (1.0, 1.0, 1.0) (
            docs="""Amplitude of the expansion for the input points"""
        )
        custom float3[] inputs:points = [] (
            docs="""Array of points to be moved"""
        )

        # 1 attribute
        custom float3[] outputs:points (
            docs="""Final positions of points"""
        )
    }
}
