HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DT_ViewportProvider.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: DT_ViewportProvider.h ( DT Library, C++)
7  *
8  * COMMENTS:
9  */
10 
11 #ifndef __DT_ViewportProvider__
12 #define __DT_ViewportProvider__
13 
14 #include "DTUI_API.h"
15 #include <UI/UI_Value.h>
16 #include <OP/OP_Node.h>
17 #include <PI/PI_ClassManager.h>
18 #include <GA/GA_Types.h>
19 #include <UT/UT_WorkBuffer.h>
20 
21 // ======================================================================
22 // The interface on the FUSE_Office that the host can use to communicate
23 // to the rest of Houdini (specifically the viewport).
24 //
26 {
27 public:
30 
31  void beginViewportSelection() const;
32  bool isViewportSelectionRunning() const;
33  void endViewportSelection() const;
34  UI_Value &getViewportSelectionRunningValue() const;
35 
36  const UT_StringHolder &getPrompt() const;
37  void setPrompt(const UT_StringHolder &prompt);
38 
39  const PI_GeometryTypeArray &getAllowedGeoTypes() const;
40  void addAllowedGeoType(PI_GeometryType geo_types);
41 
42  bool getAcceptExisting() const;
43  void setAcceptExisting(bool accept_existing);
44 
45  bool getSelectComponents() const;
46  void setSelectComponents(bool select_components);
47 
48  const UT_StringArray &getInitialNodes() const;
49  void setInitialNodes(const UT_StringArray &nodes);
50 
51  const UT_StringHolder &getInitialGeometry() const;
52  void setInitialGeometry(const UT_StringHolder &geo);
53 
54  PI_GeometryType getInitialGeometryType() const;
55  void setInitialGeometryType(PI_GeometryType type);
56 
57 private:
58  UT_StringHolder myPrompt;
59  PI_GeometryTypeArray myAllowedGeoTypes;
60  UT_StringArray myInitialNodes;
61  UT_StringHolder myInitialGeometry;
62  PI_GeometryType myInitialGeometryType;
63  bool myAcceptExisting;
64  bool mySelectComponents;
65  mutable UI_Value myViewportSelectionRunningValue;
66 };
67 
69 {
70 public:
72  : myComponentType(GA_GROUP_INVALID)
73  { }
75  { }
76 
80 };
81 
83 {
84 public:
86  virtual ~DT_ViewportProvider();
87 
88  virtual bool getViewportSelection(
89  const DT_ViewportSelectionConfig &selection_config,
91 };
92 
93 #endif
94 
GT_API const UT_StringHolder selection
PI_GeometryType
UT_WorkBuffer myComponentStr
GA_GroupType
An ordinal enum for the different types of groups in GA.
Definition: GA_Types.h:138
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
#define DTUI_API
Definition: DTUI_API.h:10