OpenCMISS-Zinc C++ API Documentation
 All Classes Namespaces Files Functions Typedefs Enumerations Enumerator Pages
sceneviewer.hpp
Go to the documentation of this file.
1 
4 /* OpenCMISS-Zinc Library
5 *
6 * This Source Code Form is subject to the terms of the Mozilla Public
7 * License, v. 2.0. If a copy of the MPL was not distributed with this
8 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
9 #ifndef CMZN_SCENEVIEWER_HPP__
10 #define CMZN_SCENEVIEWER_HPP__
11 
12 #include "opencmiss/zinc/sceneviewer.h"
13 #include "opencmiss/zinc/context.hpp"
14 #include "opencmiss/zinc/light.hpp"
15 #include "opencmiss/zinc/scene.hpp"
16 #include "opencmiss/zinc/scenefilter.hpp"
17 
18 namespace OpenCMISS
19 {
20 namespace Zinc
21 {
22 
23 class Sceneviewerinput;
24 
32 {
33 protected:
34  cmzn_sceneviewerevent_id id;
35 
36 public:
37 
38  Sceneviewerevent() : id(0)
39  { }
40 
41  // takes ownership of C handle, responsibility for destroying it
42  explicit Sceneviewerevent(cmzn_sceneviewerevent_id in_sceneviewer_event_id) :
43  id(in_sceneviewer_event_id)
44  { }
45 
46  Sceneviewerevent(const Sceneviewerevent& sceneviewerEvent) :
47  id(cmzn_sceneviewerevent_access(sceneviewerEvent.id))
48  { }
49 
54  {
55  CHANGE_FLAG_NONE = CMZN_SCENEVIEWEREVENT_CHANGE_FLAG_NONE,
57  CHANGE_FLAG_REPAINT_REQUIRED = CMZN_SCENEVIEWEREVENT_CHANGE_FLAG_REPAINT_REQUIRED,
59  CHANGE_FLAG_TRANSFORM = CMZN_SCENEVIEWEREVENT_CHANGE_FLAG_TRANSFORM,
61  CHANGE_FLAG_FINAL = CMZN_SCENEVIEWEREVENT_CHANGE_FLAG_FINAL
63  };
64 
69  typedef int ChangeFlags;
70 
71  Sceneviewerevent& operator=(const Sceneviewerevent& sceneviewerEvent)
72  {
73  cmzn_sceneviewerevent_id temp_id = cmzn_sceneviewerevent_access(sceneviewerEvent.id);
74  if (0 != id)
75  {
76  cmzn_sceneviewerevent_destroy(&id);
77  }
78  id = temp_id;
79  return *this;
80  }
81 
83  {
84  if (0 != id)
85  {
86  cmzn_sceneviewerevent_destroy(&id);
87  }
88  }
89 
95  bool isValid() const
96  {
97  return (0 != id);
98  }
99 
105  cmzn_sceneviewerevent_id getId() const
106  {
107  return id;
108  }
109 
118  {
119  return static_cast<ChangeFlag>(cmzn_sceneviewerevent_get_change_flags(id));
120  }
121 
122 };
123 
133 {
134 friend class Sceneviewernotifier;
135 private:
136  Sceneviewercallback(const Sceneviewercallback&); // not implemented
137  Sceneviewercallback& operator=(const Sceneviewercallback&); // not implemented
138 
139  static void C_callback(cmzn_sceneviewerevent_id sceneviewerevent_id, void *callbackVoid)
140  {
141  Sceneviewerevent sceneviewerevent(cmzn_sceneviewerevent_access(sceneviewerevent_id));
142  Sceneviewercallback *callback = reinterpret_cast<Sceneviewercallback *>(callbackVoid);
143  (*callback)(sceneviewerevent);
144  }
145 
146  virtual void operator()(const Sceneviewerevent &sceneviewerevent) = 0;
147 
148 protected:
150  { }
151 
152 public:
153  virtual ~Sceneviewercallback()
154  { }
155 };
156 
163 {
164 protected:
165  cmzn_sceneviewernotifier_id id;
166 
167 public:
168 
169  Sceneviewernotifier() : id(0)
170  { }
171 
172  // takes ownership of C handle, responsibility for destroying it
173  explicit Sceneviewernotifier(cmzn_sceneviewernotifier_id in_sceneviewernotifier_id) :
174  id(in_sceneviewernotifier_id)
175  { }
176 
177  Sceneviewernotifier(const Sceneviewernotifier& sceneviewerNotifier) :
178  id(cmzn_sceneviewernotifier_access(sceneviewerNotifier.id))
179  { }
180 
181  Sceneviewernotifier& operator=(const Sceneviewernotifier& sceneviewerNotifier)
182  {
183  cmzn_sceneviewernotifier_id temp_id = cmzn_sceneviewernotifier_access(sceneviewerNotifier.id);
184  if (0 != id)
185  {
186  cmzn_sceneviewernotifier_destroy(&id);
187  }
188  id = temp_id;
189  return *this;
190  }
191 
193  {
194  if (0 != id)
195  {
196  cmzn_sceneviewernotifier_destroy(&id);
197  }
198  }
199 
205  bool isValid() const
206  {
207  return (0 != id);
208  }
209 
215  cmzn_sceneviewernotifier_id getId() const
216  {
217  return id;
218  }
219 
231  {
232  return cmzn_sceneviewernotifier_set_callback(
233  id, callback.C_callback, static_cast<void*>(&callback));
234  }
235 
243  {
244  return cmzn_sceneviewernotifier_clear_callback(id);
245  }
246 };
247 
261 {
262 protected:
263  cmzn_sceneviewer_id id;
264 
265 public:
266 
279  {
280  BUFFERING_MODE_INVALID = CMZN_SCENEVIEWER_BUFFERING_MODE_INVALID,
282  BUFFERING_MODE_DEFAULT = CMZN_SCENEVIEWER_BUFFERING_MODE_DEFAULT,
285  BUFFERING_MODE_SINGLE = CMZN_SCENEVIEWER_BUFFERING_MODE_SINGLE,
288  BUFFERING_MODE_DOUBLE = CMZN_SCENEVIEWER_BUFFERING_MODE_DOUBLE,
291  BUFFERING_MODE_RENDER_OFFSCREEN_AND_COPY = CMZN_SCENEVIEWER_BUFFERING_MODE_RENDER_OFFSCREEN_AND_COPY,
298  BUFFERING_MODE_RENDER_OFFSCREEN_AND_BLEND = CMZN_SCENEVIEWER_BUFFERING_MODE_RENDER_OFFSCREEN_AND_BLEND
303  };
304 
309  {
310  INTERACT_MODE_INVALID = CMZN_SCENEVIEWER_INTERACT_MODE_INVALID,
312  INTERACT_MODE_STANDARD = CMZN_SCENEVIEWER_INTERACT_MODE_STANDARD,
317  INTERACT_MODE_2D = CMZN_SCENEVIEWER_INTERACT_MODE_2D
322  };
323 
328  {
329  PROJECTION_MODE_INVALID = CMZN_SCENEVIEWER_PROJECTION_MODE_INVALID,
331  PROJECTION_MODE_PARALLEL = CMZN_SCENEVIEWER_PROJECTION_MODE_PARALLEL,
333  PROJECTION_MODE_PERSPECTIVE = CMZN_SCENEVIEWER_PROJECTION_MODE_PERSPECTIVE
335  };
336 
342  {
343  STEREO_MODE_INVALID = CMZN_SCENEVIEWER_STEREO_MODE_INVALID,
345  STEREO_MODE_DEFAULT = CMZN_SCENEVIEWER_STEREO_MODE_DEFAULT,
347  STEREO_MODE_MONO = CMZN_SCENEVIEWER_STEREO_MODE_MONO,
349  STEREO_MODE_STEREO = CMZN_SCENEVIEWER_STEREO_MODE_STEREO
351  };
352 
357  {
358  TRANSPARENCY_MODE_INVALID = CMZN_SCENEVIEWER_TRANSPARENCY_MODE_INVALID,
360  TRANSPARENCY_MODE_FAST = CMZN_SCENEVIEWER_TRANSPARENCY_MODE_FAST,
365  TRANSPARENCY_MODE_SLOW = CMZN_SCENEVIEWER_TRANSPARENCY_MODE_SLOW,
373  TRANSPARENCY_MODE_ORDER_INDEPENDENT = CMZN_SCENEVIEWER_TRANSPARENCY_MODE_ORDER_INDEPENDENT
381  };
382 
388  {
389  VIEWPORT_MODE_INVALID = CMZN_SCENEVIEWER_VIEWPORT_MODE_INVALID,
391  VIEWPORT_MODE_ABSOLUTE = CMZN_SCENEVIEWER_VIEWPORT_MODE_ABSOLUTE,
394  VIEWPORT_MODE_RELATIVE = CMZN_SCENEVIEWER_VIEWPORT_MODE_RELATIVE,
397  VIEWPORT_MODE_DISTORTING_RELATIVE = CMZN_SCENEVIEWER_VIEWPORT_MODE_DISTORTING_RELATIVE
400  };
401 
402  Sceneviewer() : id(0)
403  { }
404 
405  // takes ownership of C-style region reference
406  explicit Sceneviewer(cmzn_sceneviewer_id in_sceneviewer_id) :
407  id(in_sceneviewer_id)
408  { }
409 
410  Sceneviewer(const Sceneviewer& sceneviewermodule) :
411  id(cmzn_sceneviewer_access(sceneviewermodule.id))
412  { }
413 
414  Sceneviewer& operator=(const Sceneviewer& sceneviewer)
415  {
416  cmzn_sceneviewer_id temp_id = cmzn_sceneviewer_access(sceneviewer.id);
417  if (0 != id)
418  {
419  cmzn_sceneviewer_destroy(&id);
420  }
421  id = temp_id;
422  return *this;
423  }
424 
425  ~Sceneviewer()
426  {
427  if (0 != id)
428  {
429  cmzn_sceneviewer_destroy(&id);
430  }
431  }
432 
438  bool isValid() const
439  {
440  return (0 != id);
441  }
442 
448  cmzn_sceneviewer_id getId() const
449  {
450  return id;
451  }
452 
463  {
464  return cmzn_sceneviewer_begin_change(id);
465  }
466 
477  int endChange()
478  {
479  return cmzn_sceneviewer_end_change(id);
480  }
481 
486  {
487  return cmzn_sceneviewer_render_scene(id);
488  }
489 
498  int setScene(const Scene& scene)
499  {
500  return cmzn_sceneviewer_set_scene(id, scene.getId());
501  }
502 
509  {
510  return Scene(cmzn_sceneviewer_get_scene(id));
511  }
512 
521  int setScenefilter(const Scenefilter& scenefilter)
522  {
523  return cmzn_sceneviewer_set_scenefilter(id, scenefilter.getId());
524  }
525 
532  {
533  return Scenefilter(cmzn_sceneviewer_get_scenefilter(id));
534  }
535 
539  int setViewportSize(int width, int height)
540  {
541  return cmzn_sceneviewer_set_viewport_size(id, width, height);
542  }
543 
551 
559  inline int processSceneviewerinput(const Sceneviewerinput& input);
560 
568  {
569  return cmzn_sceneviewer_get_antialias_sampling(id);
570  }
571 
579  int setAntialiasSampling(int numberOfSamples)
580  {
581  return cmzn_sceneviewer_set_antialias_sampling(id, numberOfSamples);
582  }
583 
590  int getEyePosition(double *eyeValuesOut3)
591  {
592  return cmzn_sceneviewer_get_eye_position(id, eyeValuesOut3);
593  }
594 
601  int setEyePosition(const double *eyeValuesIn3)
602  {
603  return cmzn_sceneviewer_set_eye_position(id, eyeValuesIn3);
604  }
605 
613  {
614  return static_cast<InteractMode>(cmzn_sceneviewer_get_interact_mode(id));
615  }
616 
623  int setInteractMode(InteractMode interactMode)
624  {
625  return cmzn_sceneviewer_set_interact_mode(id,
626  static_cast<cmzn_sceneviewer_interact_mode>(interactMode));
627  }
628 
635  int getLookatPosition(double *lookatValuesOut3)
636  {
637  return cmzn_sceneviewer_get_lookat_position(id, lookatValuesOut3);
638  }
639 
646  int setLookatPosition(const double *lookatValuesIn3)
647  {
648  return cmzn_sceneviewer_set_lookat_position(id, lookatValuesIn3);
649  }
650 
658  {
659  return cmzn_sceneviewer_get_perturb_lines_flag(id);
660  }
661 
670  int setPerturbLinesFlag(bool value)
671  {
672  return cmzn_sceneviewer_set_perturb_lines_flag(id, value);
673  }
674 
681  {
682  return static_cast<ProjectionMode>(cmzn_sceneviewer_get_projection_mode(id));
683  }
684 
691  int setProjectionMode(ProjectionMode projectionMode)
692  {
693  return cmzn_sceneviewer_set_projection_mode(id,
694  static_cast<cmzn_sceneviewer_projection_mode>(projectionMode));
695  }
696 
704  {
705  return cmzn_sceneviewer_get_translation_rate(id);
706  }
707 
715  int setTranslationRate(double translationRate)
716  {
717  return cmzn_sceneviewer_set_translation_rate(id, translationRate);
718  }
719 
726  double getTumbleRate()
727  {
728  return cmzn_sceneviewer_get_tumble_rate(id);
729  }
730 
738  int setTumbleRate(double tumbleRate)
739  {
740  return cmzn_sceneviewer_set_tumble_rate(id, tumbleRate);
741  }
742 
749  double getZoomRate()
750  {
751  return cmzn_sceneviewer_get_zoom_rate(id);
752  }
753 
761  int setZoomRate(double zoomRate)
762  {
763  return cmzn_sceneviewer_set_zoom_rate(id, zoomRate);
764  }
765 
772  int getUpVector(double *upVectorValuesOut3)
773  {
774  return cmzn_sceneviewer_get_up_vector(id, upVectorValuesOut3);
775  }
776 
784  int setUpVector(const double *upVectorValuesIn3)
785  {
786  return cmzn_sceneviewer_set_up_vector(id, upVectorValuesIn3);
787  }
788 
801  int getLookatParameters(double *eyeValuesOut3, double *lookatValuesOut3, double *upVectorValuesOut3)
802  {
803  return cmzn_sceneviewer_get_lookat_parameters(id,
804  eyeValuesOut3, lookatValuesOut3, upVectorValuesOut3);
805  }
806 
822  int setLookatParametersNonSkew(const double *eyeValuesIn3, const double *lookatValuesIn3, const double *upVectorValuesIn3)
823  {
824  return cmzn_sceneviewer_set_lookat_parameters_non_skew(id,
825  eyeValuesIn3, lookatValuesIn3, upVectorValuesIn3);
826  }
827 
831  int getViewingVolume(double *left,double *right,double *bottom,double *top,
832  double *near_plane, double *far_plane)
833  {
834  return cmzn_sceneviewer_get_viewing_volume(id, left, right, bottom, top,
835  near_plane, far_plane);
836  }
837 
848  int setViewingVolume(double left, double right, double bottom, double top,
849  double near_plane, double far_plane)
850  {
851  return cmzn_sceneviewer_set_viewing_volume(id, left, right, bottom, top,
852  near_plane, far_plane);
853  }
854 
864  int setBackgroundColourComponentRGB(double red, double green, double blue)
865  {
866  return cmzn_sceneviewer_set_background_colour_component_rgb(id, red, green, blue);
867  }
868 
877  int setBackgroundColourRGB(const double *valuesIn3)
878  {
879  return cmzn_sceneviewer_set_background_colour_rgb(id, valuesIn3);
880  }
881 
889  int getBackgroundColourRGB(double *valuesOut3)
890  {
891  return cmzn_sceneviewer_get_background_colour_rgb(id, valuesOut3);
892  }
893 
900  int viewAll()
901  {
902  return cmzn_sceneviewer_view_all(id);
903  }
904 
921  {
922  return static_cast<TransparencyMode>(cmzn_sceneviewer_get_transparency_mode(id));
923  }
924 
936  int setTransparencyMode(TransparencyMode transparencyMode)
937  {
938  return cmzn_sceneviewer_set_transparency_mode(id,
939  static_cast<cmzn_sceneviewer_transparency_mode>(transparencyMode));
940  }
941 
951  {
952  return cmzn_sceneviewer_get_transparency_layers(id);
953  }
954 
965  int setTransparencyLayers(int layers)
966  {
967  return cmzn_sceneviewer_set_transparency_layers(id, layers);
968  }
969 
977  double getViewAngle()
978  {
979  return cmzn_sceneviewer_get_view_angle(id);
980  }
981 
990  int setViewAngle(double viewAngle)
991  {
992  return cmzn_sceneviewer_set_view_angle(id, viewAngle);
993  }
994 
1002  {
1003  return static_cast<ViewportMode>(cmzn_sceneviewer_get_viewport_mode(id));
1004  }
1005 
1012  int setViewportMode(ViewportMode viewportMode)
1013  {
1014  return cmzn_sceneviewer_set_viewport_mode(id,
1015  static_cast<cmzn_sceneviewer_viewport_mode>(viewportMode));
1016  }
1017 
1025  {
1026  return cmzn_sceneviewer_get_far_clipping_plane(id);
1027  }
1028 
1036  {
1037  return cmzn_sceneviewer_get_near_clipping_plane(id);
1038  }
1039 
1046  int setFarClippingPlane(double farClippingPlane)
1047  {
1048  return cmzn_sceneviewer_set_far_clipping_plane(id, farClippingPlane);
1049  }
1050 
1057  int setNearClippingPlane(double nearClippingPlane)
1058  {
1059  return cmzn_sceneviewer_set_near_clipping_plane(id, nearClippingPlane);
1060  }
1061 
1069  int writeImageToFile(const char *file_name, int force_onscreen, int preferred_width,
1070  int preferred_height, int preferred_antialias, int preferred_transparency_layers)
1071  {
1072  return cmzn_sceneviewer_write_image_to_file(id, file_name, force_onscreen, preferred_width,
1073  preferred_height, preferred_antialias, preferred_transparency_layers);
1074  }
1075 
1082  int addLight(const Light& light)
1083  {
1084  return cmzn_sceneviewer_add_light(id, light.getId());
1085  }
1086 
1093  bool hasLight(const Light& light)
1094  {
1095  return cmzn_sceneviewer_has_light(id, light.getId());
1096  }
1097 
1104  int removeLight(const Light& light)
1105  {
1106  return cmzn_sceneviewer_remove_light(id, light.getId());
1107  }
1108 
1117  {
1118  return cmzn_sceneviewer_is_lighting_local_viewer(this->id);
1119  }
1120 
1135  int setLightingLocalViewer(bool value)
1136  {
1137  return cmzn_sceneviewer_set_lighting_local_viewer(this->id, value);
1138  }
1139 
1147  {
1148  return cmzn_sceneviewer_is_lighting_two_sided(this->id);
1149  }
1150 
1165  int setLightingTwoSided(bool value)
1166  {
1167  return cmzn_sceneviewer_set_lighting_two_sided(this->id, value);
1168  }
1169 
1185  Scenecoordinatesystem outCoordinateSystem, const Scene& localScene,
1186  const double *valuesIn3, double *valuesOut3)
1187  {
1188  return cmzn_sceneviewer_transform_coordinates(id,
1189  static_cast<cmzn_scenecoordinatesystem>(inCoordinateSystem),
1190  static_cast<cmzn_scenecoordinatesystem>(outCoordinateSystem),
1191  localScene.getId(), valuesIn3, valuesOut3);
1192  }
1193 
1201  int readDescription(const char *description)
1202  {
1203  return cmzn_sceneviewer_read_description(this->id, description);
1204  }
1205 
1213  {
1214  return cmzn_sceneviewer_write_description(this->id);
1215  }
1216 
1223  {
1224  return Sceneviewernotifier(cmzn_sceneviewer_create_sceneviewernotifier(id));
1225  }
1226 
1227 };
1228 
1235 {
1236 protected:
1237  cmzn_sceneviewermodule_id id;
1238 
1239 public:
1240 
1241  Sceneviewermodule() : id(0)
1242  { }
1243 
1244  // takes ownership of C-style region reference
1245  Sceneviewermodule(cmzn_sceneviewermodule_id in_sceneviewermodule_id) :
1246  id(in_sceneviewermodule_id)
1247  { }
1248 
1249  Sceneviewermodule(const Sceneviewermodule& sceneviewermodule) :
1250  id(cmzn_sceneviewermodule_access(sceneviewermodule.id))
1251  { }
1252 
1253  Sceneviewermodule& operator=(const Sceneviewermodule& sceneviewermodule)
1254  {
1255  cmzn_sceneviewermodule_id temp_id = cmzn_sceneviewermodule_access(sceneviewermodule.id);
1256  if (0 != id)
1257  {
1258  cmzn_sceneviewermodule_destroy(&id);
1259  }
1260  id = temp_id;
1261  return *this;
1262  }
1263 
1265  {
1266  if (0 != id)
1267  {
1268  cmzn_sceneviewermodule_destroy(&id);
1269  }
1270  }
1271 
1277  bool isValid() const
1278  {
1279  return (0 != id);
1280  }
1281 
1287  cmzn_sceneviewermodule_id getId() const
1288  {
1289  return id;
1290  }
1291 
1301  {
1302  return Sceneviewer(cmzn_sceneviewermodule_create_sceneviewer(id,
1303  static_cast<cmzn_sceneviewer_buffering_mode>(buffering_mode),
1304  static_cast<cmzn_sceneviewer_stereo_mode>(stereo_mode)));
1305  }
1306 
1315  int getDefaultBackgroundColourRGB(double *valuesOut3)
1316  {
1317  return cmzn_sceneviewermodule_get_default_background_colour_rgb(id, valuesOut3);
1318  }
1319 
1329  int setDefaultBackgroundColourRGB(const double *valuesIn3)
1330  {
1331  return cmzn_sceneviewermodule_set_default_background_colour_rgb(id, valuesIn3);
1332  }
1333 
1334 };
1335 
1337 {
1338  return Sceneviewermodule(cmzn_context_get_sceneviewermodule(id));
1339 }
1340 
1342 {
1343  return Sceneviewermodule(cmzn_scene_get_sceneviewermodule(id));
1344 }
1345 
1346 } // namespace Zinc
1347 }
1348 
1349 #endif
Scenefilter getScenefilter()
Definition: sceneviewer.hpp:531
cmzn_sceneviewer_id getId() const
Definition: sceneviewer.hpp:448
bool isValid() const
Definition: sceneviewer.hpp:95
int setFarClippingPlane(double farClippingPlane)
Definition: sceneviewer.hpp:1046
double getViewAngle()
Definition: sceneviewer.hpp:977
int setScene(const Scene &scene)
Definition: sceneviewer.hpp:498
int setLookatParametersNonSkew(const double *eyeValuesIn3, const double *lookatValuesIn3, const double *upVectorValuesIn3)
Definition: sceneviewer.hpp:822
int removeLight(const Light &light)
Definition: sceneviewer.hpp:1104
cmzn_scenefilter_id getId() const
Definition: scenefilter.hpp:86
int setViewportMode(ViewportMode viewportMode)
Definition: sceneviewer.hpp:1012
int ChangeFlags
Definition: sceneviewer.hpp:69
TransparencyMode getTransparencyMode()
Definition: sceneviewer.hpp:920
int setAntialiasSampling(int numberOfSamples)
Definition: sceneviewer.hpp:579
int renderScene()
Definition: sceneviewer.hpp:485
Definition: sceneviewer.hpp:347
int endChange()
Definition: sceneviewer.hpp:477
Scenecoordinatesystem
Definition: scenecoordinatesystem.hpp:26
bool hasLight(const Light &light)
Definition: sceneviewer.hpp:1093
Container/manager for graphics visualising a region.
Definition: scene.hpp:37
The light controls how vertices will be lit on a sceneviewer.
Definition: light.hpp:28
TransparencyMode
Definition: sceneviewer.hpp:356
int writeImageToFile(const char *file_name, int force_onscreen, int preferred_width, int preferred_height, int preferred_antialias, int preferred_transparency_layers)
Definition: sceneviewer.hpp:1069
Sceneviewerinput createSceneviewerinput()
Definition: sceneviewerinput.hpp:194
int readDescription(const char *description)
Definition: sceneviewer.hpp:1201
int setLightingLocalViewer(bool value)
Definition: sceneviewer.hpp:1135
int setTumbleRate(double tumbleRate)
Definition: sceneviewer.hpp:738
bool isValid() const
Definition: sceneviewer.hpp:438
int setProjectionMode(ProjectionMode projectionMode)
Definition: sceneviewer.hpp:691
int setDefaultBackgroundColourRGB(const double *valuesIn3)
Definition: sceneviewer.hpp:1329
ViewportMode
Definition: sceneviewer.hpp:387
int setTransparencyMode(TransparencyMode transparencyMode)
Definition: sceneviewer.hpp:936
int processSceneviewerinput(const Sceneviewerinput &input)
Definition: sceneviewerinput.hpp:199
bool isValid() const
Definition: sceneviewer.hpp:1277
int setViewportSize(int width, int height)
Definition: sceneviewer.hpp:539
int getLookatParameters(double *eyeValuesOut3, double *lookatValuesOut3, double *upVectorValuesOut3)
Definition: sceneviewer.hpp:801
int viewAll()
Definition: sceneviewer.hpp:900
int setInteractMode(InteractMode interactMode)
Definition: sceneviewer.hpp:623
double getNearClippingPlane()
Definition: sceneviewer.hpp:1035
int transformCoordinates(Scenecoordinatesystem inCoordinateSystem, Scenecoordinatesystem outCoordinateSystem, const Scene &localScene, const double *valuesIn3, double *valuesOut3)
Definition: sceneviewer.hpp:1184
cmzn_light_id getId() const
Definition: light.hpp:102
int setViewAngle(double viewAngle)
Definition: sceneviewer.hpp:990
Sceneviewer createSceneviewer(Sceneviewer::BufferingMode buffering_mode, Sceneviewer::StereoMode stereo_mode)
Definition: sceneviewer.hpp:1300
int setUpVector(const double *upVectorValuesIn3)
Definition: sceneviewer.hpp:784
int clearCallback()
Definition: sceneviewer.hpp:242
cmzn_sceneviewerevent_id getId() const
Definition: sceneviewer.hpp:105
int setBackgroundColourComponentRGB(double red, double green, double blue)
Definition: sceneviewer.hpp:864
BufferingMode
Definition: sceneviewer.hpp:278
ViewportMode getViewportMode()
Definition: sceneviewer.hpp:1001
Module object for creating and managing scene viewers.
Definition: sceneviewer.hpp:1234
int beginChange()
Definition: sceneviewer.hpp:462
StereoMode
Definition: sceneviewer.hpp:341
Sceneviewermodule getSceneviewermodule()
Definition: sceneviewer.hpp:1336
Sceneviewernotifier createSceneviewernotifier()
Definition: sceneviewer.hpp:1222
cmzn_scene_id getId() const
Definition: scene.hpp:89
int setTransparencyLayers(int layers)
Definition: sceneviewer.hpp:965
int getAntialiasSampling()
Definition: sceneviewer.hpp:567
int setViewingVolume(double left, double right, double bottom, double top, double near_plane, double far_plane)
Definition: sceneviewer.hpp:848
int setPerturbLinesFlag(bool value)
Definition: sceneviewer.hpp:670
ProjectionMode getProjectionMode()
Definition: sceneviewer.hpp:680
Definition: sceneviewer.hpp:317
ProjectionMode
Definition: sceneviewer.hpp:327
cmzn_sceneviewernotifier_id getId() const
Definition: sceneviewer.hpp:215
int getViewingVolume(double *left, double *right, double *bottom, double *top, double *near_plane, double *far_plane)
Definition: sceneviewer.hpp:831
char * writeDescription()
Definition: sceneviewer.hpp:1212
Sceneviewermodule getSceneviewermodule()
Definition: sceneviewer.hpp:1341
ChangeFlag
Definition: sceneviewer.hpp:53
Describes a mouse event for processing by the sceneviewer.
Definition: sceneviewerinput.hpp:27
int setZoomRate(double zoomRate)
Definition: sceneviewer.hpp:761
Scene getScene()
Definition: sceneviewer.hpp:508
int setCallback(Sceneviewercallback &callback)
Definition: sceneviewer.hpp:230
int setTranslationRate(double translationRate)
Definition: sceneviewer.hpp:715
bool isLightingTwoSided()
Definition: sceneviewer.hpp:1146
double getTumbleRate()
Definition: sceneviewer.hpp:726
int setNearClippingPlane(double nearClippingPlane)
Definition: sceneviewer.hpp:1057
int setEyePosition(const double *eyeValuesIn3)
Definition: sceneviewer.hpp:601
Manages individual user notification of changes with a scene viewer.
Definition: sceneviewer.hpp:162
int getTransparencyLayers()
Definition: sceneviewer.hpp:950
int setLookatPosition(const double *lookatValuesIn3)
Definition: sceneviewer.hpp:646
double getTranslationRate()
Definition: sceneviewer.hpp:703
cmzn_sceneviewermodule_id getId() const
Definition: sceneviewer.hpp:1287
ChangeFlags getChangeFlags() const
Definition: sceneviewer.hpp:117
int getUpVector(double *upVectorValuesOut3)
Definition: sceneviewer.hpp:772
bool isValid() const
Definition: sceneviewer.hpp:205
int addLight(const Light &light)
Definition: sceneviewer.hpp:1082
InteractMode
Definition: sceneviewer.hpp:308
double getZoomRate()
Definition: sceneviewer.hpp:749
int getLookatPosition(double *lookatValuesOut3)
Definition: sceneviewer.hpp:635
bool isLightingLocalViewer()
Definition: sceneviewer.hpp:1116
Scene filters determines which graphics are drawn.
Definition: scenefilter.hpp:33
int setLightingTwoSided(bool value)
Definition: sceneviewer.hpp:1165
Information about changes to fields and other objects in the scene viewer.
Definition: sceneviewer.hpp:31
double getFarClippingPlane()
Definition: sceneviewer.hpp:1024
The Zinc sceneviewer is responsible for rendering the graphical Scene.
Definition: sceneviewer.hpp:260
bool getPerturbLinesFlag()
Definition: sceneviewer.hpp:657
int setBackgroundColourRGB(const double *valuesIn3)
Definition: sceneviewer.hpp:877
Base class functor for Sceneviewer notifier callbacks:
Definition: sceneviewer.hpp:132
int getDefaultBackgroundColourRGB(double *valuesOut3)
Definition: sceneviewer.hpp:1315
int getBackgroundColourRGB(double *valuesOut3)
Definition: sceneviewer.hpp:889
InteractMode getInteractMode()
Definition: sceneviewer.hpp:612
int setScenefilter(const Scenefilter &scenefilter)
Definition: sceneviewer.hpp:521
int getEyePosition(double *eyeValuesOut3)
Definition: sceneviewer.hpp:590