// Filename: dataGraphTraversal.h
// Created by:  drose (26Jan99)
//
////////////////////////////////////////////////////////////////////
//
// PANDA 3D SOFTWARE
// Copyright (c) 2001, Disney Enterprises, Inc.  All rights reserved
//
// All use of this software is subject to the terms of the Panda 3d
// Software license.  You should have received a copy of this license
// along with this source code; you will also find a current copy of
// the license at http://www.panda3d.org/license.txt .
//
// To contact the maintainers of this program write to
// panda3d@yahoogroups.com .
//
////////////////////////////////////////////////////////////////////

#ifndef DATAGRAPHTRAVERSAL_H
#define DATAGRAPHTRAVERSAL_H

////////////////////////////////////////////////////////////////////
//
// DataGraphTraversal
//
// This header file exists mainly to define the function
// traverse_data_graph(), which initiates a traversal of the data
// graph.
//
// This is the main interface to the data graph.  Traversing the data
// graph transmits data down the graph--reading data from devices and
// sending it to the DataNodes that want it.
//
////////////////////////////////////////////////////////////////////

#include "pandabase.h"

class Node;

BEGIN_PUBLISH

////////////////////////////////////////////////////////////////////
//     Function: traverse_data_graph
//  Description: Initiates a traversal of the data graph given the
//               indicated root node, with no initial data.  Data
//               generated by the nodes encountered will be propagated
//               downwards.
////////////////////////////////////////////////////////////////////
void EXPCL_PANDA traverse_data_graph(Node *root);

END_PUBLISH

#endif
