9 #ifndef CMZN_SCENEVIEWER_HPP__
10 #define CMZN_SCENEVIEWER_HPP__
12 #include "zinc/sceneviewer.h"
13 #include "zinc/context.hpp"
14 #include "zinc/scene.hpp"
15 #include "zinc/scenefilter.hpp"
22 class Sceneviewerinput;
33 cmzn_sceneviewerevent_id id;
41 explicit Sceneviewerevent(cmzn_sceneviewerevent_id in_sceneviewer_event_id) :
42 id(in_sceneviewer_event_id)
46 id(cmzn_sceneviewerevent_access(sceneviewerEvent.id))
72 cmzn_sceneviewerevent_id temp_id = cmzn_sceneviewerevent_access(sceneviewerEvent.id);
75 cmzn_sceneviewerevent_destroy(&
id);
85 cmzn_sceneviewerevent_destroy(&
id);
104 cmzn_sceneviewerevent_id
getId()
const
118 return static_cast<ChangeFlag>(cmzn_sceneviewerevent_get_change_flags(
id));
138 static void C_callback(cmzn_sceneviewerevent_id sceneviewerevent_id,
void *callbackVoid)
140 Sceneviewerevent sceneviewerevent(cmzn_sceneviewerevent_access(sceneviewerevent_id));
142 (*callback)(sceneviewerevent);
164 cmzn_sceneviewernotifier_id id;
173 id(in_sceneviewernotifier_id)
177 id(cmzn_sceneviewernotifier_access(sceneviewerNotifier.id))
182 cmzn_sceneviewernotifier_id temp_id = cmzn_sceneviewernotifier_access(sceneviewerNotifier.id);
185 cmzn_sceneviewernotifier_destroy(&
id);
195 cmzn_sceneviewernotifier_destroy(&
id);
214 cmzn_sceneviewernotifier_id
getId()
const
231 return cmzn_sceneviewernotifier_set_callback(
232 id, callback.C_callback, static_cast<void*>(&callback));
243 return cmzn_sceneviewernotifier_clear_callback(
id);
262 cmzn_sceneviewer_id id;
405 explicit Sceneviewer(cmzn_sceneviewer_id in_sceneviewer_id) :
406 id(in_sceneviewer_id)
409 Sceneviewer(
const Sceneviewer& sceneviewermodule) :
410 id(cmzn_sceneviewer_access(sceneviewermodule.id))
413 Sceneviewer& operator=(
const Sceneviewer& sceneviewer)
415 cmzn_sceneviewer_id temp_id = cmzn_sceneviewer_access(sceneviewer.id);
418 cmzn_sceneviewer_destroy(&
id);
428 cmzn_sceneviewer_destroy(&
id);
463 return cmzn_sceneviewer_begin_change(
id);
478 return cmzn_sceneviewer_end_change(
id);
486 return cmzn_sceneviewer_render_scene(
id);
499 return cmzn_sceneviewer_set_scene(
id, scene.
getId());
509 return Scene(cmzn_sceneviewer_get_scene(
id));
522 return cmzn_sceneviewer_set_scenefilter(
id, scenefilter.
getId());
532 return Scenefilter(cmzn_sceneviewer_get_scenefilter(
id));
540 return cmzn_sceneviewer_set_viewport_size(
id, width, height);
568 return cmzn_sceneviewer_get_antialias_sampling(
id);
580 return cmzn_sceneviewer_set_antialias_sampling(
id, numberOfSamples);
591 return cmzn_sceneviewer_get_eye_position(
id, eyeValuesOut3);
602 return cmzn_sceneviewer_set_eye_position(
id, eyeValuesIn3);
613 return static_cast<InteractMode>(cmzn_sceneviewer_get_interact_mode(
id));
624 return cmzn_sceneviewer_set_interact_mode(
id,
625 static_cast<cmzn_sceneviewer_interact_mode>(interactMode));
636 return cmzn_sceneviewer_get_lookat_position(
id, lookatValuesOut3);
647 return cmzn_sceneviewer_set_lookat_position(
id, lookatValuesIn3);
658 return cmzn_sceneviewer_get_perturb_lines_flag(
id);
671 return cmzn_sceneviewer_set_perturb_lines_flag(
id, value);
681 return static_cast<ProjectionMode>(cmzn_sceneviewer_get_projection_mode(
id));
692 return cmzn_sceneviewer_set_projection_mode(
id,
693 static_cast<cmzn_sceneviewer_projection_mode>(projectionMode));
704 return cmzn_sceneviewer_get_translation_rate(
id);
716 return cmzn_sceneviewer_set_translation_rate(
id, translationRate);
727 return cmzn_sceneviewer_get_tumble_rate(
id);
739 return cmzn_sceneviewer_set_tumble_rate(
id, tumbleRate);
750 return cmzn_sceneviewer_get_zoom_rate(
id);
762 return cmzn_sceneviewer_set_zoom_rate(
id, zoomRate);
773 return cmzn_sceneviewer_get_up_vector(
id, upVectorValuesOut3);
785 return cmzn_sceneviewer_set_up_vector(
id, upVectorValuesIn3);
802 return cmzn_sceneviewer_get_lookat_parameters(
id,
803 eyeValuesOut3, lookatValuesOut3, upVectorValuesOut3);
823 return cmzn_sceneviewer_set_lookat_parameters_non_skew(
id,
824 eyeValuesIn3, lookatValuesIn3, upVectorValuesIn3);
831 double *near_plane,
double *far_plane)
833 return cmzn_sceneviewer_get_viewing_volume(
id, left, right, bottom, top,
834 near_plane, far_plane);
848 double near_plane,
double far_plane)
850 return cmzn_sceneviewer_set_viewing_volume(
id, left, right, bottom, top,
851 near_plane, far_plane);
865 return cmzn_sceneviewer_set_background_colour_component_rgb(
id, red, green, blue);
878 return cmzn_sceneviewer_set_background_colour_rgb(
id, valuesIn3);
890 return cmzn_sceneviewer_get_background_colour_rgb(
id, valuesOut3);
901 return cmzn_sceneviewer_view_all(
id);
921 return static_cast<TransparencyMode>(cmzn_sceneviewer_get_transparency_mode(
id));
937 return cmzn_sceneviewer_set_transparency_mode(
id,
938 static_cast<cmzn_sceneviewer_transparency_mode>(transparencyMode));
951 return cmzn_sceneviewer_get_transparency_layers(
id);
966 return cmzn_sceneviewer_set_transparency_layers(
id, layers);
978 return cmzn_sceneviewer_get_view_angle(
id);
991 return cmzn_sceneviewer_set_view_angle(
id, viewAngle);
1002 return static_cast<ViewportMode>(cmzn_sceneviewer_get_viewport_mode(
id));
1013 return cmzn_sceneviewer_set_viewport_mode(
id,
1014 static_cast<cmzn_sceneviewer_viewport_mode>(viewportMode));
1025 return cmzn_sceneviewer_get_far_clipping_plane(
id);
1036 return cmzn_sceneviewer_get_near_clipping_plane(
id);
1047 return cmzn_sceneviewer_set_far_clipping_plane(
id, farClippingPlane);
1058 return cmzn_sceneviewer_set_near_clipping_plane(
id, nearClippingPlane);
1081 cmzn_sceneviewermodule_id id;
1090 id(in_sceneviewermodule_id)
1094 id(cmzn_sceneviewermodule_access(sceneviewermodule.id))
1099 cmzn_sceneviewermodule_id temp_id = cmzn_sceneviewermodule_access(sceneviewermodule.id);
1102 cmzn_sceneviewermodule_destroy(&
id);
1112 cmzn_sceneviewermodule_destroy(&
id);
1146 return Sceneviewer(cmzn_sceneviewermodule_create_sceneviewer(
id,
1147 static_cast<cmzn_sceneviewer_buffering_mode>(buffering_mode),
1148 static_cast<cmzn_sceneviewer_stereo_mode>(stereo_mode)));
Scenefilter getScenefilter()
Definition: sceneviewer.hpp:530
cmzn_sceneviewer_id getId() const
Definition: sceneviewer.hpp:447
bool isValid() const
Definition: sceneviewer.hpp:94
int setFarClippingPlane(double farClippingPlane)
Definition: sceneviewer.hpp:1045
double getViewAngle()
Definition: sceneviewer.hpp:976
int setScene(const Scene &scene)
Definition: sceneviewer.hpp:497
Definition: sceneviewer.hpp:388
Definition: sceneviewer.hpp:279
cmzn_scenefilter_id getId() const
Definition: scenefilter.hpp:86
int setViewportMode(ViewportMode viewportMode)
Definition: sceneviewer.hpp:1011
int ChangeFlags
Definition: sceneviewer.hpp:68
Definition: sceneviewer.hpp:281
TransparencyMode getTransparencyMode()
Definition: sceneviewer.hpp:919
Definition: sceneviewer.hpp:311
Definition: sceneviewer.hpp:390
int setAntialiasSampling(int numberOfSamples)
Definition: sceneviewer.hpp:578
Definition: sceneviewer.hpp:60
int renderScene()
Definition: sceneviewer.hpp:484
Definition: sceneviewer.hpp:346
int endChange()
Definition: sceneviewer.hpp:476
Definition: sceneviewer.hpp:357
Definition: sceneviewer.hpp:364
Definition: sceneviewer.hpp:344
Container/manager for graphics visualising a region.
Definition: scene.hpp:34
TransparencyMode
Definition: sceneviewer.hpp:355
Definition: sceneviewer.hpp:359
Sceneviewerinput createSceneviewerinput()
Definition: sceneviewerinput.hpp:194
Definition: sceneviewer.hpp:287
int setTumbleRate(double tumbleRate)
Definition: sceneviewer.hpp:737
bool isValid() const
Definition: sceneviewer.hpp:437
int setProjectionMode(ProjectionMode projectionMode)
Definition: sceneviewer.hpp:690
Definition: sceneviewer.hpp:309
Definition: sceneviewer.hpp:54
ViewportMode
Definition: sceneviewer.hpp:386
Definition: sceneviewer.hpp:348
int setTransparencyMode(TransparencyMode transparencyMode)
Definition: sceneviewer.hpp:935
int processSceneviewerinput(const Sceneviewerinput &input)
Definition: sceneviewerinput.hpp:199
bool isValid() const
Definition: sceneviewer.hpp:1121
Definition: sceneviewer.hpp:330
int setViewportSize(int width, int height)
Definition: sceneviewer.hpp:538
int getLookatParameters(double *eyeValuesOut3, double *lookatValuesOut3, double *upVectorValuesOut3)
Definition: sceneviewer.hpp:800
int viewAll()
Definition: sceneviewer.hpp:899
int setInteractMode(InteractMode interactMode)
Definition: sceneviewer.hpp:622
Definition: sceneviewer.hpp:342
double getNearClippingPlane()
Definition: sceneviewer.hpp:1034
Definition: sceneviewer.hpp:393
Definition: sceneviewer.hpp:297
int setViewAngle(double viewAngle)
Definition: sceneviewer.hpp:989
Sceneviewer createSceneviewer(Sceneviewer::BufferingMode buffering_mode, Sceneviewer::StereoMode stereo_mode)
Definition: sceneviewer.hpp:1144
int clearCallback()
Definition: sceneviewer.hpp:241
cmzn_sceneviewerevent_id getId() const
Definition: sceneviewer.hpp:104
int setBackgroundColourComponentRGB(double red, double green, double blue)
Definition: sceneviewer.hpp:863
BufferingMode
Definition: sceneviewer.hpp:277
ViewportMode getViewportMode()
Definition: sceneviewer.hpp:1000
Module object for creating and managing scene viewers.
Definition: sceneviewer.hpp:1078
int beginChange()
Definition: sceneviewer.hpp:461
StereoMode
Definition: sceneviewer.hpp:340
Sceneviewermodule getSceneviewermodule()
Definition: sceneviewer.hpp:1153
Sceneviewernotifier createSceneviewernotifier()
Definition: sceneviewer.hpp:1066
cmzn_scene_id getId() const
Definition: scene.hpp:86
int setTransparencyLayers(int layers)
Definition: sceneviewer.hpp:964
int getAntialiasSampling()
Definition: sceneviewer.hpp:566
int setViewingVolume(double left, double right, double bottom, double top, double near_plane, double far_plane)
Definition: sceneviewer.hpp:847
int setPerturbLinesFlag(bool value)
Definition: sceneviewer.hpp:669
ProjectionMode getProjectionMode()
Definition: sceneviewer.hpp:679
int setLookatParametersNonSkew(double const *eyeValuesIn3, double const *lookatValuesIn3, double const *upVectorValuesIn3)
Definition: sceneviewer.hpp:821
Definition: sceneviewer.hpp:316
Definition: sceneviewer.hpp:332
ProjectionMode
Definition: sceneviewer.hpp:326
Definition: sceneviewer.hpp:290
cmzn_sceneviewernotifier_id getId() const
Definition: sceneviewer.hpp:214
int getViewingVolume(double *left, double *right, double *bottom, double *top, double *near_plane, double *far_plane)
Definition: sceneviewer.hpp:830
Definition: sceneviewer.hpp:56
Sceneviewermodule getSceneviewermodule()
Definition: sceneviewer.hpp:1158
ChangeFlag
Definition: sceneviewer.hpp:52
int setZoomRate(double zoomRate)
Definition: sceneviewer.hpp:760
Scene getScene()
Definition: sceneviewer.hpp:507
int setCallback(Sceneviewercallback &callback)
Definition: sceneviewer.hpp:229
int setTranslationRate(double translationRate)
Definition: sceneviewer.hpp:714
Definition: sceneviewer.hpp:328
double getTumbleRate()
Definition: sceneviewer.hpp:725
int setNearClippingPlane(double nearClippingPlane)
Definition: sceneviewer.hpp:1056
Definition: sceneviewer.hpp:396
Manages individual user notification of changes with a scene viewer.
Definition: sceneviewer.hpp:161
int getTransparencyLayers()
Definition: sceneviewer.hpp:949
double getTranslationRate()
Definition: sceneviewer.hpp:702
int setLookatPosition(double const *lookatValuesIn3)
Definition: sceneviewer.hpp:645
cmzn_sceneviewermodule_id getId() const
Definition: sceneviewer.hpp:1131
ChangeFlags getChangeFlags() const
Definition: sceneviewer.hpp:116
int getUpVector(double *upVectorValuesOut3)
Definition: sceneviewer.hpp:771
bool isValid() const
Definition: sceneviewer.hpp:204
InteractMode
Definition: sceneviewer.hpp:307
Definition: sceneviewer.hpp:58
double getZoomRate()
Definition: sceneviewer.hpp:748
int setUpVector(double const *upVectorValuesIn3)
Definition: sceneviewer.hpp:783
int getLookatPosition(double *lookatValuesOut3)
Definition: sceneviewer.hpp:634
Scene filters determines which graphics are drawn.
Definition: scenefilter.hpp:33
Information about changes to fields and other objects in the scene viewer.
Definition: sceneviewer.hpp:30
double getFarClippingPlane()
Definition: sceneviewer.hpp:1023
The Zinc sceneviewer is responsible for rendering the graphical Scene.
Definition: sceneviewer.hpp:259
bool getPerturbLinesFlag()
Definition: sceneviewer.hpp:656
int setBackgroundColourRGB(const double *valuesIn3)
Definition: sceneviewer.hpp:876
Base class functor for Sceneviewer notifier callbacks:
Definition: sceneviewer.hpp:131
int getBackgroundColourRGB(double *valuesOut3)
Definition: sceneviewer.hpp:888
InteractMode getInteractMode()
Definition: sceneviewer.hpp:611
Definition: sceneviewer.hpp:284
Definition: sceneviewer.hpp:372
int setScenefilter(const Scenefilter &scenefilter)
Definition: sceneviewer.hpp:520
int getEyePosition(double *eyeValuesOut3)
Definition: sceneviewer.hpp:589
int setEyePosition(double const *eyeValuesIn3)
Definition: sceneviewer.hpp:600