/********************************************************************** FILE: IPipelineClient.h DESCRIPTION: Geometry pipeline client API CREATED BY: Attila Szabo, Discreet HISTORY: [attilas|19.09.2000] *> Copyright (c) 1998-2000, All Rights Reserved. **********************************************************************/ #ifndef __IPIPELINECLIENT__H #define __IPIPELINECLIENT__H #include "baseinterface.h" // GUID that identifies this ifc (interface) #define PIPELINECLIENT_INTERFACE Interface_ID(0x62383d51, 0x2d0f7d6a) //ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ // This interface should be implemented by objects that flow up the // geometry pipeline and have data members that belong to the pipeline // channels (geometry, topology, texmap, etc) // ... in other words by objects that are part of the data flow evaluation // of the Max stack. //________________________________________________________________________ class IPipelineClient : public BaseInterface { public: // --- IPipelineClient methods virtual void ShallowCopy( IPipelineClient* from, ULONG_PTR channels ) = 0; virtual void DeepCopy( IPipelineClient* from, ULONG_PTR channels ) = 0; virtual void NewAndCopyChannels( ULONG_PTR channels ) = 0; virtual void FreeChannels( ULONG_PTR channels, int zeroOthers = 1 ) = 0; virtual void ZeroChannels( ULONG_PTR channels ) = 0; virtual void AppendAllChannels( IPipelineClient* from ) = 0; // --- from BaseInterface virtual Interface_ID GetID() { return PIPELINECLIENT_INTERFACE; } }; #endif