Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #pragma once
00014
00015 #include "baseinterface.h"
00016 #include "strclass.h"
00017
00018
00019 class ViewExp;
00020 class INode;
00021 class Object;
00022 class Box3;
00023 class IPoint2;
00024
00025
00026
00037 class NodeDisplayCallback : public InterfaceServer {
00038 public:
00039
00040
00050 virtual void StartDisplay(TimeValue t, ViewExp *vpt, int flags)=0;
00051
00061 virtual void EndDisplay(TimeValue t, ViewExp *vpt, int flags)=0;
00062
00083 virtual bool Display(TimeValue t, ViewExp *vpt, int flags, INode *node,Object *pObj)=0;
00084
00092 virtual bool SuspendObjectDisplay(TimeValue t,INode *node)=0;
00093
00106 virtual void AddNodeCallbackBox(TimeValue t, INode *node, ViewExp *vpt, Box3& box,Object *pObj)=0;
00107
00126 virtual bool HitTest(TimeValue t, INode *node, int type, int crossing, int flags, IPoint2 *p, ViewExp* vpt,Object *pObj)=0;
00127
00130 virtual void Activate()=0;
00131
00134 virtual void Deactivate()=0;
00135
00139 virtual MSTR GetName() const = 0;
00140
00141 };
00142
00143 #define IID_NODE_DISPLAY_CALLBACK_EX Interface_ID(0x5c583214, 0x4a3b44e7)
00144
00145
00146 class NodeDisplayCallbackEx : public BaseInterface, public NodeDisplayCallback{
00147 public:
00148
00149
00150 virtual bool SuspendObjectDisplay(TimeValue t, ViewExp *vpt, INode *node,Object *pObj )=0;
00151 };
00152
00153 #define I_NODEDISPLAYCONTROL 0x00001000
00154
00155
00156 #define GetNodeDisplayControl(i) ((INodeDisplayControl*)i->GetInterface(I_NODEDISPLAYCONTROL))
00157
00158
00167 class INodeDisplayControl : public InterfaceServer
00168 {
00169 public:
00170
00171
00177 virtual void RegisterNodeDisplayCallback(NodeDisplayCallback *cb)=0;
00182 virtual void UnRegisterNodeDisplayCallback(NodeDisplayCallback *cb)=0;
00183
00184
00191 virtual bool SetNodeCallback(NodeDisplayCallback* hook)=0;
00194 virtual NodeDisplayCallback* GetNodeCallback()=0;
00195
00196
00197
00198
00202 virtual void InvalidateNodeDisplay()=0;
00203
00204 };
00205