tge/lib/maxsdk70/include/scenetraversal.h
2017-04-17 06:17:10 -06:00

47 lines
1013 B
C++
Executable File

/*********************************************************************
*<
FILE: sceneTraversal.h
DESCRIPTION: Interface for plugins controlling display traversal
CREATED BY: John Hutchinson
HISTORY: November 5 2003
*> Copyright (c) 2000, All Rights Reserved.
**********************************************************************/
#ifndef __SCENETRAVERSE__
#define __SCENETRAVERSE__
#include "maxtypes.h"
#define SCENETRAVERSAL_INTERFACE Interface_ID(0x35380d8c, 0x48e54b8c)
class NodeIterator;
class ViewExp;
// An interface for controlling the display traversal of the scene
class ISceneTraversal : public BaseInterface {
public:
typedef enum {
kDisplay = 0,
kHitTest = 1,
} IteratorContext;
virtual NodeIterator *GetIterator(ViewExp* vpt, IteratorContext context) = 0;
};
class NodeIterator
{
public:
virtual void DeleteThis() {delete this;}
virtual void Reset() = 0;
virtual INode *next() = 0;
};
#endif //__SCENETRAVERSE__