Initial commit
This commit is contained in:
71
Torque/SDK/lib/maxsdk40/IAggregation.h
Normal file
71
Torque/SDK/lib/maxsdk40/IAggregation.h
Normal file
@@ -0,0 +1,71 @@
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: IAggregation.h
|
||||
|
||||
DESCRIPTION: Interface to object aggregation manager
|
||||
|
||||
CREATED BY: John Hutchinson
|
||||
|
||||
HISTORY: Created January 9, 1999
|
||||
|
||||
*> Copyright (c) 1994, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
#pragma once
|
||||
|
||||
// DESCRIPTION:
|
||||
// The IAggregation class is the interface class for representing
|
||||
// the process of object aggregation
|
||||
|
||||
//some constants passed to association class descriptors when editing parameters
|
||||
#define BEGIN_EDIT 1
|
||||
#define END_EDIT 2
|
||||
#define IMAGE_LOAD 3
|
||||
|
||||
#define DISPLAY_XRAY 1
|
||||
|
||||
typedef enum {eUncommitted,
|
||||
ePending,
|
||||
ePartial,
|
||||
eFully,
|
||||
eRejecting,
|
||||
eAborting}
|
||||
commitlevels;
|
||||
|
||||
typedef enum {eNoAffinity,
|
||||
eSuperClassAffinity,
|
||||
ePseudoSuperClassAffinity,
|
||||
eClassAffinity,
|
||||
eInterfaceAffinity,
|
||||
eInstanceAffinity}
|
||||
aggregationaffinity;
|
||||
|
||||
class IAggregation
|
||||
{
|
||||
public:
|
||||
virtual void SetActiveComplex(INode* node) = 0;
|
||||
virtual INode* GetActiveComplex() = 0;
|
||||
virtual void Reset() = 0;
|
||||
virtual bool SetProductFactory(SClass_ID superID, Class_ID classID) = 0;
|
||||
virtual bool RegisterIntermediateFactory(ClassDesc* cd, int affinity) = 0;
|
||||
virtual void ResetFactories() = 0;
|
||||
virtual IRollupWindow* GetParamRollup() = 0;
|
||||
virtual ClassDesc* GetSelClassDesc() = 0;
|
||||
virtual Animatable* GetSelClassTemplate() = 0;
|
||||
virtual int ToolbarIndex(ClassDesc* cd) = 0;
|
||||
virtual HIMAGELIST ToolbarImagelist(int which) = 0;
|
||||
virtual bool RegisterAssocClass(ClassDesc* cd, int whichbar, int ioe_idx, int iod_idx, int iie_idx, int iid_idx) = 0;
|
||||
virtual int CommitAggregation(int action, int flag) = 0;
|
||||
virtual void Suspend() = 0;
|
||||
virtual void Resume() = 0;
|
||||
virtual bool isSuspended() = 0;
|
||||
virtual INode* ReactToNode(INode* newnode) = 0;
|
||||
virtual commitlevels Status() = 0;
|
||||
virtual DWORD DisplayFlags() = 0;
|
||||
};
|
||||
|
||||
class ValenceData
|
||||
{
|
||||
public:
|
||||
ValenceData():m_type(0){};
|
||||
int m_type;
|
||||
};
|
||||
Reference in New Issue
Block a user