2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
6 // $Header: r:/t2repos/thief2/src/object/bintrait.h,v 1.1 1998/07/16 21:33:03 mahk Exp $
12 ////////////////////////////////////////////////////////////
13 // Tools for using relations as "binary traits"
16 F_DECLARE_INTERFACE(ITrait
);
17 F_DECLARE_INTERFACE(IRelation
);
18 F_DECLARE_INTERFACE(ILinkQuery
);
20 //------------------------------------------------------------
21 // SLOW, UNCACHED VERSIONS
24 // Query all links inherited by one or two objs
28 // All links out from me or my donors to just you, in inheritance order
29 // dest may be a wildcard
30 EXTERN ILinkQuery
* QueryInheritedLinksSingleUncached(IRelation
* rel
, ObjID src
, ObjID dest
);
32 // All links from me and my donors to you and your donors, in inheritance order
33 // No wildcards allowed
34 EXTERN ILinkQuery
* QueryInheritedLinksUncached(IRelation
* rel
, ObjID src
, ObjID dest
);
36 //------------------------------------------------------------
40 // Make a "trait" for use by these functions. You should do this once.
41 ITrait
* MakeTraitFromRelation(IRelation
* pRel
);
44 // Query all links inherited by one or two objs
47 // All links out from me or my donors to just you, in inheritance order
48 // dest may be a wildcard
49 EXTERN ILinkQuery
* QueryInheritedLinksSingle(ITrait
* trait
, IRelation
* rel
, ObjID src
, ObjID dest
);
51 // All links from me and my donors to you and your donors, in inheritance order
52 // No wildcards allowed
53 EXTERN ILinkQuery
* QueryInheritedLinks(ITrait
* trait
, IRelation
* rel
, ObjID src
, ObjID dest
);
58 #endif // __BINTRAIT_H