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

45 lines
1.6 KiB
C++
Executable File

/**********************************************************************
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