45 lines
1.6 KiB
C++
Executable File
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 |