INodeTransformMonitor.h

Go to the documentation of this file.
00001 //**************************************************************************/
00002 // Copyright (c) 1998-2005 Autodesk, Inc.
00003 // All rights reserved.
00004 // 
00005 // These coded instructions, statements, and computer programs contain
00006 // unpublished proprietary information written by Autodesk, Inc., and are
00007 // protected by Federal copyright law. They may not be disclosed to third
00008 // parties or copied or duplicated in any form, in whole or in part, without
00009 // the prior written consent of Autodesk, Inc.
00010 //**************************************************************************/
00011 // DESCRIPTION: Defines an interface that uses the RefTargMonitorRefMaker class to monitor a node for 
00012 // its PART_TM messages. If the NodeTransformMonitor instance is saved as part of a partial save, or 
00013 // loaded as a partial load, the node pointed to by the NodeTransformMonitor is also saved or loaded.
00014 // AUTHOR: Larry.Minton - created May.14.2004
00015 //***************************************************************************/
00016 
00017 #pragma once
00018 
00019 #include "iFnPub.h"
00020 #include "IRefTargMonitor.h"
00021 
00023 #define NODETRANSFORMMONITOR_CLASS_ID           Class_ID(0x18f81902, 0x19033fd2)
00024 
00026 #define IID_NODETRANSFORMMONITOR                Interface_ID(0x18f81902, 0x19033fd2)
00027 
00030 #define REFMSG_NODETRANSFORMMONITOR_TARGET_DELETED              REFMSG_USER + 0x18f81902
00031 
00033 #define REFMSG_NODETRANSFORMMONITOR_TARGET_SET REFMSG_REFTARGMONITOR_TARGET_SET 
00034 
00036 
00042 class INodeTransformMonitor : public FPMixinInterface  {
00043 public:
00045 
00047     virtual INode* GetNode() = 0;
00049 
00051     virtual void SetNode(INode *theNode) = 0;
00052 
00054 
00056     virtual bool GetForwardTransformChangeMsgs() = 0;
00058 
00060     virtual void SetForwardTransformChangeMsgs(bool state) = 0;
00061 
00063 
00065     virtual bool GetForwardFlagNodesMsgs() = 0;
00067 
00069     virtual void SetForwardFlagNodesMsgs(bool state) = 0;
00070 
00072 
00074     virtual bool GetForwardEnumDependentsCalls() = 0;
00076 
00078     virtual void SetForwardEnumDependentsCalls(bool state) = 0;
00079 
00080     // --- Function publishing
00081     FPInterfaceDesc* GetDesc();    // <-- must implement 
00082     virtual Interface_ID GetID() { return IID_NODETRANSFORMMONITOR; }
00083 
00084     enum {  
00085         kfpGetnode, kfpSetnode,
00086         kfpGetforwardPartTM, kfpSetforwardPartTM,
00087         kfpGetforwardFlagNodes, kfpSetforwardFlagNodes,
00088         kfpGetforwardEnumDependents, kfpSetforwardEnumDependents,
00089     };
00090 
00091     BEGIN_FUNCTION_MAP
00092         PROP_FNS(kfpGetnode, GetNode, kfpSetnode, SetNode, TYPE_INODE);
00093         PROP_FNS(kfpGetforwardPartTM, GetForwardTransformChangeMsgs, kfpSetforwardPartTM, SetForwardTransformChangeMsgs, TYPE_bool);
00094         PROP_FNS(kfpGetforwardFlagNodes, GetForwardFlagNodesMsgs, kfpSetforwardFlagNodes, SetForwardFlagNodesMsgs, TYPE_bool);
00095         PROP_FNS(kfpGetforwardEnumDependents, GetForwardEnumDependentsCalls, kfpSetforwardEnumDependents, SetForwardEnumDependentsCalls, TYPE_bool);
00096     END_FUNCTION_MAP
00097 
00098 };
00099