Initial commit
This commit is contained in:
63
Torque/SDK/lib/maxsdk31/modstack.h
Normal file
63
Torque/SDK/lib/maxsdk31/modstack.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: modstack.h
|
||||
|
||||
DESCRIPTION:
|
||||
|
||||
CREATED BY: Rolf Berteig
|
||||
|
||||
HISTORY: created January 20, 1996
|
||||
|
||||
*> Copyright (c) 1994, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __MODSTACK__
|
||||
#define __MODSTACK__
|
||||
|
||||
|
||||
// These are the class IDs for object space derived objects and
|
||||
// world space derived objects
|
||||
extern CoreExport Class_ID derivObjClassID;
|
||||
extern CoreExport Class_ID WSMDerivObjClassID;
|
||||
|
||||
|
||||
class IDerivedObject : public Object {
|
||||
public:
|
||||
// Adds a modifier to the derived object.
|
||||
// before = 0 :Place modifier at the end of the pipeline (top of stack)
|
||||
// before = NumModifiers() :Place modifier at the start of the pipeline (bottom of stack)
|
||||
virtual void AddModifier(Modifier *mod, ModContext *mc=NULL, int before=0)=0;
|
||||
virtual void DeleteModifier(int index=0)=0;
|
||||
virtual int NumModifiers()=0;
|
||||
|
||||
// Searches down the pipeline for the base object (an object that is not a
|
||||
// derived object). May step into other derived objects.
|
||||
// This function has been moved up to Object, with a default implementation
|
||||
// that just returns "this". It is still implemented by derived objects and
|
||||
// WSM's to search down the pipeline. This allows you to just call it on
|
||||
// a Nodes ObjectRef without checking for type.
|
||||
// virtual Object *FindBaseObject()=0;
|
||||
|
||||
// Get and set the object that this derived object reference.
|
||||
// This is the next object down in the stack and may be the base object.
|
||||
virtual Object *GetObjRef()=0;
|
||||
virtual RefResult ReferenceObject(Object *pob)=0;
|
||||
|
||||
// Access the ith modifier.
|
||||
virtual Modifier *GetModifier(int index)=0;
|
||||
|
||||
// Replaces the ith modifier in the stack
|
||||
virtual void SetModifier(int index, Modifier *mod)=0;
|
||||
|
||||
// Access the mod context for the ith modifier
|
||||
virtual ModContext* GetModContext(int index)=0;
|
||||
};
|
||||
|
||||
// Create a world space or object space derived object.
|
||||
// If the given object pointer is non-NULL then the derived
|
||||
// object will be set up to reference that object.
|
||||
CoreExport IDerivedObject *CreateWSDerivedObject(Object *pob=NULL);
|
||||
CoreExport IDerivedObject *CreateDerivedObject(Object *pob=NULL);
|
||||
|
||||
|
||||
#endif //__MODSTACK__
|
||||
Reference in New Issue
Block a user