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

59 lines
1.7 KiB
C++
Executable File

/*! \file PFSimpleActionState.h
\brief Implementation of ActionState that has only a single
random generator.
*/
/**********************************************************************
*<
CREATED BY: Oleg Bayborodin
HISTORY: created 10-25-02
*> Copyright (c) 2001, All Rights Reserved.
**********************************************************************/
#ifndef _PFSIMPLEACTIONSTATE_H_
#define _PFSIMPLEACTIONSTATE_H_
#include "max.h"
#include "PFExport.h"
#include "RandGenerator.h"
#include "IPFActionState.h"
#include "PFClassIDs.h"
class PFSimpleActionState: public IObject,
public IPFActionState
{
public:
// from IObject interface
int NumInterfaces() const { return 1; }
BaseInterface* GetInterfaceAt(int index) const { return ((index == 0) ? (IPFActionState*)this : NULL); }
BaseInterface* GetInterface(Interface_ID id);
void DeleteIObject();
// From IPFActionState
Class_ID GetClassID() { return PFSimpleActionState_Class_ID; }
ULONG GetActionHandle() const { return actionHandle(); }
void SetActionHandle(ULONG handle) { _actionHandle() = handle; }
IOResult Save(ISave* isave) const;
IOResult Load(ILoad* iload);
public:
// const access to class members
const RandGenerator* randGen() const { return &m_randGen; }
// access to class members
RandGenerator* _randGen() { return &m_randGen; }
protected:
// const access to class members
ULONG actionHandle() const { return m_actionHandle; }
// access to class members
ULONG& _actionHandle() { return m_actionHandle; }
private:
ULONG m_actionHandle;
RandGenerator m_randGen;
};
#endif // _PFSIMPLEACTIONSTATE_H_