HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GUI_VisInterface.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: GUI_VisInterface.h ( GR Library, C++)
7  *
8  * COMMENTS:
9  * Basic definition needed to access functions defined in VIS which is
10  * set above the GUI level.
11  */
12 
13 #ifndef __GUI_VisInterface_h__
14 #define __GUI_VisInterface_h__
15 
16 #include "GUI_API.h"
17 #include "GUI_PrimitiveHook.h"
18 #include <GR/GR_UpdateParms.h>
19 #include <VIS/VIS_Defines.h>
20 
21 class GUI_DetailLook;
23 
25 
27 {
30 };
31 
33 {
34 public:
36  virtual ~GUI_VisInterface() {}
37 
38  virtual exint bumpClock() = 0;
39 
40  virtual
41  GT_PrimitiveHandle filterPrimitive(GUI_GeoRender *geo,
42  const GT_PrimitiveHandle &gt_prm,
43  const GEO_Primitive *geo_prm,
44  const GR_RenderInfo *info,
45  GR_PrimAcceptResult &processed,
46  UT_Array<GUI_VisFlags> &vis_flags) = 0;
47 
48  virtual void createPrimitive(GUI_GeoRender *geo,
49  const GT_PrimitiveHandle &gt_prim,
50  const GEO_Primitive *geo_prim,
51  const GR_Primitive *gr_prim,
52  const GR_RenderInfo *info,
53  const char *cache_name,
54  GR_PrimAcceptResult &processed,
55  UT_Array<GR_Primitive *> &prims) = 0;
56 
57  virtual
58  GR_UpdateReason getUpdateReason(const GUI_GeoRender *geo,
59  bool &refine_on_update) = 0;
60 
61  virtual void getRequestedAttributes(
62  const GUI_DetailLook *look,
63  UT_Map<UT_StringRef, int> &needed) = 0;
64 
65  virtual bool isHookVisualizerActive(const char *vis_name,
66  GUI_VisContext context) = 0;
67 
68  virtual
69  GUI_VisFlags getActiveVisFlags(const GUI_GeoRender *geo,
70  UT_Array<GUI_VisFlags> &vis_flags,
71  GUI_VisContext context,
72  int display_set) = 0;
73 
74  static void setHandler(GUI_VisInterface *handler)
75  { theHandler = handler; }
76 
77  static
79  { return theHandler; }
80 
82 };
83 
84 #endif
GUI_VisFlags
GT_API const UT_StringHolder cache_name
static void setHandler(GUI_VisInterface *handler)
#define GUI_API
Definition: GUI_API.h:10
int64 exint
Definition: SYS_Types.h:116
GR_UpdateReason
Definition: GR_Defines.h:286
virtual ~GUI_VisInterface()
GR_PrimAcceptResult
Definition: GR_Defines.h:328
VIS_Context GUI_VisContext
static GUI_VisInterface * theHandler
static GUI_VisInterface * getHandler()