HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_SceneViewer.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  * COMMENTS:
7  */
8 
9 #ifndef __HOM_SceneViewer_h__
10 #define __HOM_SceneViewer_h__
11 
12 #include "HOM_PathBasedPaneTab.h"
13 #include "HOM_EnumModules.h"
14 #include "HOM_BoundingBox.h"
15 #include "HOM_Vector3.h"
16 #include "HOM_Vector2.h"
17 #include "HOM_Matrix3.h"
18 #include <UT/UT_Tuple.h>
19 #include <vector>
20 
22 class HOM_ReferencePlane;
23 class HOM_DopData;
27 class HOM_Selection;
28 class HOM_SopNode;
31 
32 SWIGOUT(%rename(SceneViewer) HOM_SceneViewer;)
33 
35 {
36 public:
38  { HOM_CONSTRUCT_OBJECT(this) }
39 
40  // Because the lowermost base classes initialize the virtual bases
41  // before any non-virtual bases, the correct thing to do here is
42  // explicitly call the constructor for HOM_PaneTab.
44  : HOM_PaneTab(pane), HOM_PathBasedPaneTab(pane)
45  { HOM_CONSTRUCT_OBJECT(this) }
46 
47  ~HOM_SceneViewer() override
48  { HOM_DESTRUCT_OBJECT(this) }
49 
50  // Let swig know we're overriding __repr__ for this class so it doesn't
51  // provide its own __repr__.
52  SWIGOUT(virtual std::string __repr__() = 0;)
53 
54  // returns a stateViewerType enum, either Scene or SceneGraph.
55  virtual HOM_EnumValue &viewerType() = 0;
56 
57  virtual std::vector<HOM_ElemPtr<HOM_GeometryViewport> > viewports() = 0;
58  SWIGOUT(%newobject findViewport;)
59  virtual HOM_GeometryViewport *findViewport(const char *name) = 0;
60  SWIGOUT(%newobject curViewport;)
61  virtual HOM_GeometryViewport *curViewport() = 0;
62 
63  virtual std::string currentState() = 0;
64  virtual void enterViewState(bool wait_for_exit = false) = 0;
65  virtual void enterCurrentNodeState(bool wait_for_exit = false) = 0;
66  virtual void enterTranslateToolState(bool wait_for_exit = false) = 0;
67  virtual void enterRotateToolState(bool wait_for_exit = false) = 0;
68  virtual void enterScaleToolState(bool wait_for_exit = false) = 0;
69  SWIGOUT(%kwargs setCurrentState;)
70  virtual void setCurrentState(const char *state, bool wait_for_exit = false,
71  const HOM_EnumValue &generate =
72  HOM_stateGenerateMode::Insert,
73  bool request_new_on_generate = false) = 0;
74 
75  virtual std::vector<std::string> _getCurrentStateParmNames() = 0;
76  virtual std::string _evalCurrentStateParm(const char *name) = 0;
77  virtual bool _setCurrentStateParm(const char *name, const char* value) =0;
78  virtual bool _pressCurrentStateButton(const char *name)=0;
79 
80  virtual bool isCreateInContext() = 0;
81  virtual bool isWorldSpaceLocal() = 0;
82 
83  virtual HOM_EnumValue& viewportLayout() = 0;
84  virtual void setViewportLayout(HOM_EnumValue &layout, int single = -1) = 0;
85 
86  SWIGOUT(%kwargs selectObjects;)
87  virtual std::vector<HOM_ElemPtr<HOM_Node> >
88  selectObjects(
89  const char *prompt = "Select objects",
90  int sel_index = 0,
91  bool allow_drag = false,
92  bool quick_select = false,
93  bool use_existing_selection = true,
94  bool allow_multisel = true,
95  const std::vector<std::string> &allowed_types =
96  std::vector<std::string>(1, "*"),
97  const char *icon = NULL,
98  const char *label = NULL,
99  const std::vector<std::string> &prior_selection_paths =
100  std::vector<std::string>(),
101  const std::vector<std::string> &prior_selection_ids =
102  std::vector<std::string>(),
103  const std::vector<HOM_Selection *> &prior_selections =
104  std::vector<HOM_Selection *>(),
105  HOM_ParmTemplateGroup *toolbox_templategroup = nullptr,
106  HOM_ParmTemplateGroup *toolbox1_templategroup = nullptr,
107  bool confirm_existing = false,
108  const char *select_parm = nullptr
109  ) = 0;
110 
111  SWIGOUT(%newobject selectGeometry;)
112  SWIGOUT(%kwargs selectGeometry;)
113  virtual HOM_GeometrySelection *
114  selectGeometry(
115  const char *prompt = "Select geometry",
116  int sel_index = 0,
117  bool allow_drag = false,
118  bool quick_select = false,
119  bool use_existing_selection = true,
120  const char *initial_selection = NULL,
121  HOM_EnumValue *initial_selection_type = NULL,
122  bool ordered = false,
123  const std::vector<HOM_EnumValue *> geometry_types =
124  std::vector<HOM_EnumValue *>(),
125  const std::vector<HOM_EnumValue *> primitive_types =
126  std::vector<HOM_EnumValue *>(),
127  bool allow_obj_sel = true,
128  const char *icon = NULL,
129  const char *label = NULL,
130  const std::vector<std::string> &prior_selection_paths =
131  std::vector<std::string>(),
132  const std::vector<std::string> &prior_selection_ids =
133  std::vector<std::string>(),
134  const std::vector<HOM_Selection *> &prior_selections =
135  std::vector<HOM_Selection *>(),
136  bool allow_other_sops = true,
137  bool consume_selections = true,
138  HOM_ParmTemplateGroup *toolbox_templategroup = nullptr,
139  HOM_ParmTemplateGroup *toolbox1_templategroup = nullptr,
140  bool confirm_existing = false,
141  bool pick_at_obj_level = false,
142  const char *select_parm = nullptr
143  ) = 0;
144 
145  SWIGOUT(%kwargs selectDynamics;)
146  virtual std::vector<HOM_ElemPtr<HOM_DopData> >
147  selectDynamics(
148  const char *prompt = "Select dynamics objects",
149  int sel_index = 0,
150  bool allow_objects = true,
151  bool allow_modifiers = false,
152  bool quick_select = false,
153  bool use_existing_selection = true,
154  bool allow_multisel = true,
155  const char *icon = NULL,
156  const char *label = NULL,
157  const std::vector<std::string> &prior_selection_paths =
158  std::vector<std::string>(),
159  const std::vector<std::string> &prior_selection_ids =
160  std::vector<std::string>(),
161  const std::vector<HOM_Selection *> &prior_selections =
162  std::vector<HOM_Selection *>(),
163  HOM_ParmTemplateGroup *toolbox_templategroup = nullptr,
164  HOM_ParmTemplateGroup *toolbox1_templategroup = nullptr,
165  const char *select_parm = nullptr
166  ) = 0;
167 
168  SWIGOUT(%kwargs selectDynamicsPoints;)
169  virtual std::vector<std::pair<HOM_ElemPtr<HOM_DopData>,
171  selectDynamicsPoints(
172  const char *prompt = "Select dynamics points",
173  int sel_index = 0,
174  bool quick_select = false,
175  bool use_existing_selection = true,
176  bool allow_multisel = true,
177  bool only_select_points = true,
178  bool object_based_point_selection = false,
179  bool use_last_selected_object = false,
180  const char *icon = NULL,
181  const char *label = NULL,
182  const std::vector<std::string> &prior_selection_paths =
183  std::vector<std::string>(),
184  const std::vector<std::string> &prior_selection_ids =
185  std::vector<std::string>(),
186  const std::vector<HOM_Selection *> &prior_selections =
187  std::vector<HOM_Selection *>(),
188  HOM_ParmTemplateGroup *toolbox_templategroup = nullptr,
189  HOM_ParmTemplateGroup *toolbox1_templategroup = nullptr,
190  const char *select_parm = nullptr
191  )= 0;
192 
193  SWIGOUT(%kwargs selectDynamicsPolygons;)
194  virtual std::vector<std::pair<HOM_ElemPtr<HOM_DopData>,
196  selectDynamicsPolygons(
197  const char *prompt = "Select dynamics polygons",
198  int sel_index = 0,
199  bool quick_select = false,
200  bool use_existing_selection = true,
201  bool object_based_point_selection = false,
202  bool use_last_selected_object = false,
203  const char *icon = NULL,
204  const char *label = NULL,
205  const std::vector<std::string> &prior_selection_paths =
206  std::vector<std::string>(),
207  const std::vector<std::string> &prior_selection_ids =
208  std::vector<std::string>(),
209  const std::vector<HOM_Selection *> &prior_selections =
210  std::vector<HOM_Selection *>(),
211  HOM_ParmTemplateGroup *toolbox_templategroup = nullptr,
212  HOM_ParmTemplateGroup *toolbox1_templategroup = nullptr,
213  const char *select_parm = nullptr
214  ) = 0;
215 
216  SWIGOUT(%kwargs selectSceneGraph;)
217  virtual std::vector<std::string>
218  selectSceneGraph(
219  const char *prompt = "Select primitives",
220  const std::vector<std::string> &preselection =
221  std::vector<std::string>(),
222  const HOM_EnumValue &prim_mask= HOM_scenePrimMask::ViewerSetting,
223  bool quick_select = false,
224  bool use_existing_selection = true,
225  bool confirm_existing = false,
226  bool allow_multisel = true,
227  bool allow_drag = true,
228  bool allow_selection_type_changes = false,
229  bool propagate_selection = true,
230  const char *path_prefix_mask = nullptr,
231  const char *prim_kind = nullptr,
232  HOM_Node *validate_selection_for_node = nullptr,
233  const char *select_parm = nullptr
234  ) = 0;
235 
236  SWIGOUT(%kwargs selectSceneGraphInstances;)
237  virtual std::vector<std::string>
238  selectSceneGraphInstances(
239  const char *prompt = "Select point instances",
240  const std::vector<std::string> &preselection =
241  std::vector<std::string>(),
242  bool quick_select = false,
243  bool use_existing_selection = true,
244  bool confirm_existing = false,
245  bool allow_multisel = true,
246  bool allow_drag = true,
247  bool allow_selection_type_changes = false,
248  const char *path_prefix_mask = nullptr,
249  int instance_level = 0,
250  bool instance_indices_only = false,
251  HOM_Node *validate_selection_for_node = nullptr,
252  const char *select_parm = nullptr
253  ) = 0;
254 
255 
256  SWIGOUT(%newobject selectPositions;)
257  SWIGOUT(%kwargs selectPositions;)
258  virtual std::vector<HOM_ElemPtr<HOM_Vector3> >
259  selectPositions(
260  const char *prompt = "Click to specify a position",
261  int number_of_positions = 1,
262  int min_number_of_positions = -1,
263  bool connect_positions = true,
264  bool show_coordinates = true,
265  const HOM_BoundingBox &bbox = HOM_BoundingBox(),
266  HOM_EnumValue &position_type = HOM_positionType::WorldSpace,
267  const char *icon = NULL,
268  const char *label = NULL,
269  HOM_ParmTemplateGroup *toolbox_templategroup = nullptr,
270  HOM_ParmTemplateGroup *toolbox1_templategroup = nullptr,
271  const char *select_parm = nullptr
272  ) = 0;
273 
274  SWIGOUT(%kwargs selectOrientedPositions;)
275  virtual std::vector<std::pair<HOM_ElemPtr<HOM_Vector3>,
277  selectOrientedPositions(
278  const char *prompt = "Click to specify a position",
279  int number_of_positions = 1,
280  int min_number_of_positions = -1,
281  bool connect_positions = true,
282  bool show_coordinates = true,
283  const HOM_Matrix3 &base_orientation = HOM_Matrix3(1.0),
284  const HOM_BoundingBox &bbox = HOM_BoundingBox(),
285  const char *icon = NULL,
286  const char *label = NULL,
287  HOM_ParmTemplateGroup *toolbox_templategroup = nullptr,
288  HOM_ParmTemplateGroup *toolbox1_templategroup = nullptr,
289  const char *select_parm = nullptr
290  ) = 0;
291 
292  SWIGOUT(%newobject currentGeometrySelection;)
293  virtual HOM_GeometrySelection *currentGeometrySelection() = 0;
294  virtual std::string currentGeometrySelectionParm() =0;
295 
296  virtual void setCurrentGeometrySelection(
297  HOM_EnumValue &geometry_type,
298  const std::vector<HOM_Node *> &nodes,
299  const std::vector<HOM_Selection *> &selections) = 0;
300 
301  virtual std::vector<std::string> currentSceneGraphSelection() = 0;
302  virtual void setCurrentSceneGraphSelection(
303  const std::vector<std::string> &selection) = 0;
304 
305 
306  virtual UT_Tuple<double, std::string> locateSceneGraphPrim(
307  int x,
308  int y,
309  const HOM_EnumValue &prim_mask = HOM_scenePrimMask::ViewerSetting
310  ) = 0;
311 
312  // Snapping control
313  virtual HOM_EnumValue &snappingMode() = 0;
314  virtual void setSnappingMode(HOM_EnumValue &snapping_mode) = 0;
315 
316  virtual bool isSnappingToTemplates() = 0;
317  virtual void setSnapToTemplates(bool on) = 0;
318 
319  virtual bool isSnappingToOtherObjects() = 0;
320  virtual void setSnapToOtherObjects(bool on) = 0;
321 
322  virtual bool isSnappingToGuides() = 0;
323  virtual void setSnapToGuides(bool on) = 0;
324 
325  virtual bool isDepthSnapping() = 0;
326  virtual void setDepthSnapping(bool on) = 0;
327 
328  virtual bool isOrientingOnSnap() = 0;
329  virtual void setOrientOnSnap(bool on) = 0;
330 
331  virtual float snappingGravity() = 0;
332  virtual std::vector<HOM_EnumValue*> snappingPriorities() = 0;
333 
334  // Selection control
335  virtual bool isPickingVisibleGeometry() = 0;
336  virtual void setPickingVisibleGeometry(bool on) = 0;
337 
338  virtual bool isPickingContainedGeometry() = 0;
339  virtual void setPickingContainedGeometry(bool on) = 0;
340 
341  virtual bool isGroupPicking() = 0;
342  virtual void setGroupPicking(bool on) = 0;
343 
344  virtual bool isWholeGeometryPicking() = 0;
345  virtual void setWholeGeometryPicking(bool on) = 0;
346 
347  virtual bool isSecureSelection() = 0;
348  virtual void setSecureSelection(bool on) = 0;
349 
350  virtual bool isPickingCurrentNode() = 0;
351  virtual void setPickingCurrentNode(bool on) = 0;
352 
353  virtual HOM_EnumValue &pickGeometryType() = 0;
354  virtual void setPickGeometryType(HOM_EnumValue &geometry_type) = 0;
355 
356  virtual HOM_EnumValue &selectionMode() = 0;
357  virtual void setSelectionMode(HOM_EnumValue &style) = 0;
358 
359  virtual HOM_EnumValue &pickStyle() = 0;
360  virtual void setPickStyle(HOM_EnumValue &style) = 0;
361 
362  virtual HOM_EnumValue &pickModifier() = 0;
363  virtual void setPickModifier(HOM_EnumValue &modifier) = 0;
364 
365  virtual HOM_EnumValue &defaultPickModifier() = 0;
366  virtual void setDefaultPickModifier(HOM_EnumValue &modifier) = 0;
367 
368  virtual HOM_EnumValue &pickFacing() = 0;
369  virtual void setPickFacing(HOM_EnumValue &facing) = 0;
370 
371  // Group list control
372  virtual bool isGroupListVisible() = 0;
373  virtual void setGroupListVisible(bool on) = 0;
374 
375  virtual bool isGroupListColoringGeometry() = 0;
376  virtual void setGroupListColoringGeometry(bool on) = 0;
377 
378  virtual bool isGroupListShowingEmptyGroups() = 0;
379  virtual void setGroupListShowingEmptyGroups(bool on) = 0;
380 
381  virtual bool isGroupListShowingOnlyPreSelectedGroups() = 0;
382  virtual void setGroupListShowingOnlyPreSelectedGroups(bool on) = 0;
383 
384  virtual bool isGroupListCondensingPathHierarchies() = 0;
385  virtual void setGroupListCondensingPathHierarchies(bool on) = 0;
386 
387  virtual HOM_Vector2 *groupListSize() = 0;
388  virtual void setGroupListSize(double width, double height) = 0;
389 
390  virtual HOM_EnumValue &groupListType() = 0;
391  virtual void setGroupListType(HOM_EnumValue &group_list_type) = 0;
392 
393  virtual std::string groupListMask() = 0;
394  virtual void setGroupListMask(const char *mask) = 0;
395 
396  // Construction plane access
397  SWIGOUT(%newobject constructionPlane;)
398  virtual HOM_ConstructionPlane *constructionPlane() = 0;
399 
400  // Reference plane access
401  SWIGOUT(%newobject referencePlane;)
402  virtual HOM_ReferencePlane *referencePlane() = 0;
403 
404  SWIGOUT(%newobject flipbookSettings;)
405  virtual HOM_FlipbookSettings *flipbookSettings() = 0;
406 
407  SWIGOUT(%kwargs flipbook;)
408  virtual void flipbook(HOM_GeometryViewport *viewport = NULL,
409  HOM_FlipbookSettings *settings = NULL,
410  bool open_dialog = false) = 0;
411 
412  virtual void runShelfTool(const char *tool_name) = 0;
413 
414  virtual void beginStateUndo(const char *label) = 0;
415  virtual void endStateUndo() = 0;
416 
417  virtual void setPromptMessage(
418  std::string const & msg,
419  HOM_EnumValue const & msg_type = HOM_promptMessageType::Prompt) = 0;
420  virtual void clearPromptMessage() = 0;
421 
422  SWIGOUT(%kwargs flashmessage;)
423  virtual void flashMessage(
424  std::string const &image,
425  std::string const &msg,
426  float duration = 1.0,
427  HOM_GeometryViewport *viewport = NULL) = 0;
428 
429  virtual void showHandle( std::string const& name, bool value ) = 0;
430 
431  virtual void openVisualizerEditor(HOM_ViewportVisualizer *vis) = 0;
432 
433  SWIGOUT(%kwargs triggerStateSelector;)
434  virtual void triggerStateSelector(
435  HOM_EnumValue const &action,
436  std::string const &name=std::string()) = 0;
437  virtual std::string currentStateSelector() = 0;
438 
439  SWIGOUT(%ignore _runStateCommand;)
440  SWIGOUT(%kwargs _runStateCommand;)
441  virtual void _runStateCommand(std::string const & name, void* args=nullptr) = 0;
442 
443  virtual void showCurrentSopGeometry(bool value) = 0;
444  virtual bool isShowingCurrentSopGeometry() const = 0;
445 
446  virtual void showOperationBar(bool on) = 0 ;
447  virtual bool isShowingOperationBar() = 0 ;
448 
449  virtual void showColorCorrectionBar(bool on) = 0 ;
450  virtual bool isShowingColorCorrectionBar() = 0 ;
451 
452  virtual void showMemoryBar(bool on) = 0 ;
453  virtual bool isShowingMemoryBar() = 0 ;
454 
455  virtual void showDisplayOptionsBar(bool on) = 0 ;
456  virtual bool isShowingDisplayOptionsBar() = 0 ;
457 
458  virtual void showSelectionBar(bool on) = 0 ;
459  virtual bool isShowingSelectionBar() = 0 ;
460 
461  virtual void setIncludeColorCorrectionBar(bool on) = 0 ;
462  virtual bool includeColorCorrectionBar() = 0 ;
463 
464  virtual void setIncludeMemoryBar(bool on) = 0 ;
465  virtual bool includeMemoryBar() = 0 ;
466 
467  virtual void setGeometryVisibility( HOM_SopNode &sop, bool on ) = 0;
468  virtual bool geometryVisibility( HOM_SopNode &sop ) = 0;
469 
470  virtual bool usingOCIO() = 0;
471  virtual void setUsingOCIO(bool enable) = 0;
472 
473  SWIGOUT(%kwargs setOCIODisplayView;)
474  virtual void setOCIODisplayView(const char *display = nullptr,
475  const char *view = nullptr) = 0;
476  virtual std::string getOCIODisplay() = 0;
477  virtual std::string getOCIOView() = 0;
478 
479 #ifdef SWIG
480 %extend
481 {
482  SWIGOUT(%kwargs runStateCommand;)
483  virtual void runStateCommand(std::string const & name, InterpreterObject args=nullptr)
484  {
485  self->_runStateCommand(name, args);
486  }
487 }
488 #endif
489 
490  // Scene graph specific.
491  virtual bool isViewingSceneGraph() = 0;
492 #ifdef SWIG
493 %extend
494 {
495  SWIGOUT(%kwargs stage;)
496  InterpreterObject stage()
497  { return HOMincRef((InterpreterObject)self->opaqueStage()); }
498 }
499 #endif
500  SWIGOUT(%ignore opaqueStage;)
501  virtual void *opaqueStage() = 0;
502  virtual int stageSerial() = 0;
503  virtual void setShowGeometry(bool show) = 0;
504  virtual bool showGeometry() = 0;
505  virtual void setShowCameras(bool show) = 0;
506  virtual bool showCameras() = 0;
507  virtual void setShowLights(bool show) = 0;
508  virtual bool showLights() = 0;
509  virtual void setShowSelection(bool show) = 0;
510  virtual bool showSelection() = 0;
511  virtual void setShowRenderTime(bool show) = 0;
512  virtual bool showRenderTime() = 0;
513  virtual void setShowRenderStats(bool show) = 0;
514  virtual bool showRenderStats() = 0;
515 
516  virtual void setSelectionKind(const char *kind) = 0;
517  virtual void setSelectionPointInstances(bool topmost) = 0;
518  virtual std::string selectionKind() = 0;
519  virtual bool isSelectingPointInstances() = 0;
520  virtual bool isSelectingTopmostInstance() = 0;
521 
522  virtual std::vector<std::string> hydraRenderers() = 0;
523  virtual void setHydraRenderer(const std::string &ren_name) = 0;
524  virtual std::string currentHydraRenderer() = 0;
525  virtual void restartRenderer() = 0;
526 
527  SWIGOUT(%kwargs showProxyPurpose;)
528  virtual void showProxyPurpose(bool enable,
529  const char *renderer = nullptr) = 0;
530  SWIGOUT(%kwargs showGuidePurpose;)
531  virtual void showGuidePurpose(bool enable,
532  const char *renderer = nullptr) = 0;
533  SWIGOUT(%kwargs showRenderPurpose;)
534  virtual void showRenderPurpose(bool enable,
535  const char *renderer = nullptr) = 0;
536  SWIGOUT(%kwargs useViewportOverrides;)
537  virtual void useViewportOverrides(bool enable,
538  const char *renderer = nullptr) = 0;
539  SWIGOUT(%kwargs useViewportLoadMasks;)
540  virtual void useViewportLoadMasks(bool enable,
541  const char *renderer = nullptr) = 0;
542  SWIGOUT(%kwargs showingProxyPurpose;)
543  virtual bool showingProxyPurpose(const char *renderer = nullptr) = 0;
544  SWIGOUT(%kwargs showingGuidePurpose;)
545  virtual bool showingGuidePurpose(const char *renderer = nullptr) = 0;
546  SWIGOUT(%kwargs showingRenderPurpose;)
547  virtual bool showingRenderPurpose(const char *renderer = nullptr) = 0;
548  SWIGOUT(%kwargs usingViewportOverrides;)
549  virtual bool usingViewportOverrides(const char *renderer = nullptr) = 0;
550  SWIGOUT(%kwargs usingViewportLoadMasks;)
551  virtual bool usingViewportLoadMasks(const char *renderer = nullptr) = 0;
552 };
553 
554 #endif
GT_API const UT_StringHolder selection
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1210
GLuint const GLchar * name
Definition: glew.h:1814
GLint GLint GLint GLint GLint GLint GLsizei width
Definition: glew.h:1252
const Args & args
Definition: printf.h:628
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
GLint GLint GLint GLint GLint GLint GLsizei GLsizei height
Definition: glew.h:1252
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:349
std::tuple< Types...> UT_Tuple
Definition: UT_Tuple.h:53
GLenum GLint GLuint mask
Definition: glew.h:1845
GLenum GLsizei GLenum GLenum const void * image
Definition: glew.h:4943
#define HOM_API
Definition: HOM_API.h:13
GLint GLint GLint GLint GLint x
Definition: glew.h:1252
GLint GLint GLint GLint GLint GLint y
Definition: glew.h:1252
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1209
virtual std::string icon()=0
GLuint GLsizei GLsizei GLchar * label
Definition: glew.h:8986
HOM_SceneViewer(const HOM_SceneViewer &pane)
GLsizei const GLchar *const * string
Definition: glew.h:1844
~HOM_SceneViewer() override
GLsizei const GLfloat * value
Definition: glew.h:1849
GLboolean enable
Definition: glew.h:2745