00001 /********************************************************************** 00002 *< 00003 FILE: IRefHierarchy.h 00004 00005 DESCRIPTION: Interface for accessing reference hierarchy related info 00006 00007 CREATED BY: Attila Szabo 00008 00009 HISTORY: Created Nov/27/00 00010 00011 *> Copyright (c) 2000, All Rights Reserved. 00012 **********************************************************************/ 00013 #pragma once 00014 00015 #include "iFnPub.h" 00016 #include "GetCOREInterface.h" 00017 00018 // This interface is supposed to group reference hierarchy related methods 00025 class IRefHierarchy : public FPStaticInterface 00026 { 00027 public: 00028 00029 // function IDs 00030 enum 00031 { 00032 fnIdIsRefTargetInstanced, 00033 }; 00034 00035 // This method can be used to find out if an object is instanced 00036 // (instanced pipeline). 00037 // It Checks if the Derived Object is instanced. If it is, the pipeline 00038 // part below and including that derived object is instanced. 00039 // If the argument is NULL, returns FALSE 00048 virtual BOOL IsRefTargetInstanced( ReferenceTarget* refTarget ) = 0; 00049 }; 00050 00051 00052 #define REFHIERARCHY_INTERFACE Interface_ID(0x296e2793, 0x247d12e4) 00053 inline IRefHierarchy* GetRefHierarchyInterface() 00054 { 00055 return static_cast<IRefHierarchy*>(GetCOREInterface(REFHIERARCHY_INTERFACE)); 00056 } 00057 00058