sceneapi.h

Go to the documentation of this file.
00001 /**********************************************************************
00002  *<
00003     FILE: sceneapi.h
00004 
00005     DESCRIPTION: Scene interface
00006 
00007     CREATED BY: Rolf Berteig
00008 
00009     HISTORY: Created 13 January 1995
00010 
00011  *> Copyright (c) 1994, All Rights Reserved.
00012  **********************************************************************/
00013 
00014 
00015 #pragma once
00016 #include "maxheap.h"
00017 #include "maxtypes.h"
00018 
00019 class BaseObject;
00020 class ITreeEnumProc;
00021 
00030 class IScene: public MaxHeapOperators {     
00031     public:
00038         virtual int EnumTree( ITreeEnumProc* proc )=0;
00042         virtual void FlagFGSelected( TimeValue t )=0;
00046         virtual void FlagFGAnimated( TimeValue t )=0;
00051         virtual void FlagFGDependent( TimeValue t, BaseObject *obj )=0;
00052     };
00053 
00054 
00055 // The purpose of this callback is to call FlagForeground() for
00056 // any nodes in the scene that are supposed to be in the foreground.
00057 class ChangeForegroundCallback: public MaxHeapOperators {
00058     public:
00059         virtual ~ChangeForegroundCallback() {;}
00060         virtual BOOL IsValid()=0;
00061         virtual void Invalidate()=0;
00062         virtual void Validate()=0;
00063         virtual void callback(TimeValue t,IScene *scene)=0;
00064     };
00065