9 #ifndef CMZN_SCENEVIEWER_HPP__
10 #define CMZN_SCENEVIEWER_HPP__
12 #include "zinc/sceneviewer.h"
13 #include "zinc/context.hpp"
14 #include "zinc/light.hpp"
15 #include "zinc/scene.hpp"
16 #include "zinc/scenefilter.hpp"
23 class Sceneviewerinput;
34 cmzn_sceneviewerevent_id id;
42 explicit Sceneviewerevent(cmzn_sceneviewerevent_id in_sceneviewer_event_id) :
43 id(in_sceneviewer_event_id)
47 id(cmzn_sceneviewerevent_access(sceneviewerEvent.id))
73 cmzn_sceneviewerevent_id temp_id = cmzn_sceneviewerevent_access(sceneviewerEvent.id);
76 cmzn_sceneviewerevent_destroy(&
id);
86 cmzn_sceneviewerevent_destroy(&
id);
105 cmzn_sceneviewerevent_id
getId()
const
119 return static_cast<ChangeFlag>(cmzn_sceneviewerevent_get_change_flags(
id));
139 static void C_callback(cmzn_sceneviewerevent_id sceneviewerevent_id,
void *callbackVoid)
141 Sceneviewerevent sceneviewerevent(cmzn_sceneviewerevent_access(sceneviewerevent_id));
143 (*callback)(sceneviewerevent);
165 cmzn_sceneviewernotifier_id id;
174 id(in_sceneviewernotifier_id)
178 id(cmzn_sceneviewernotifier_access(sceneviewerNotifier.id))
183 cmzn_sceneviewernotifier_id temp_id = cmzn_sceneviewernotifier_access(sceneviewerNotifier.id);
186 cmzn_sceneviewernotifier_destroy(&
id);
196 cmzn_sceneviewernotifier_destroy(&
id);
215 cmzn_sceneviewernotifier_id
getId()
const
232 return cmzn_sceneviewernotifier_set_callback(
233 id, callback.C_callback, static_cast<void*>(&callback));
244 return cmzn_sceneviewernotifier_clear_callback(
id);
263 cmzn_sceneviewer_id id;
406 explicit Sceneviewer(cmzn_sceneviewer_id in_sceneviewer_id) :
407 id(in_sceneviewer_id)
410 Sceneviewer(
const Sceneviewer& sceneviewermodule) :
411 id(cmzn_sceneviewer_access(sceneviewermodule.id))
414 Sceneviewer& operator=(
const Sceneviewer& sceneviewer)
416 cmzn_sceneviewer_id temp_id = cmzn_sceneviewer_access(sceneviewer.id);
419 cmzn_sceneviewer_destroy(&
id);
429 cmzn_sceneviewer_destroy(&
id);
464 return cmzn_sceneviewer_begin_change(
id);
479 return cmzn_sceneviewer_end_change(
id);
487 return cmzn_sceneviewer_render_scene(
id);
500 return cmzn_sceneviewer_set_scene(
id, scene.
getId());
510 return Scene(cmzn_sceneviewer_get_scene(
id));
523 return cmzn_sceneviewer_set_scenefilter(
id, scenefilter.
getId());
533 return Scenefilter(cmzn_sceneviewer_get_scenefilter(
id));
541 return cmzn_sceneviewer_set_viewport_size(
id, width, height);
569 return cmzn_sceneviewer_get_antialias_sampling(
id);
581 return cmzn_sceneviewer_set_antialias_sampling(
id, numberOfSamples);
592 return cmzn_sceneviewer_get_eye_position(
id, eyeValuesOut3);
603 return cmzn_sceneviewer_set_eye_position(
id, eyeValuesIn3);
614 return static_cast<InteractMode>(cmzn_sceneviewer_get_interact_mode(
id));
625 return cmzn_sceneviewer_set_interact_mode(
id,
626 static_cast<cmzn_sceneviewer_interact_mode>(interactMode));
637 return cmzn_sceneviewer_get_lookat_position(
id, lookatValuesOut3);
648 return cmzn_sceneviewer_set_lookat_position(
id, lookatValuesIn3);
659 return cmzn_sceneviewer_get_perturb_lines_flag(
id);
672 return cmzn_sceneviewer_set_perturb_lines_flag(
id, value);
682 return static_cast<ProjectionMode>(cmzn_sceneviewer_get_projection_mode(
id));
693 return cmzn_sceneviewer_set_projection_mode(
id,
694 static_cast<cmzn_sceneviewer_projection_mode>(projectionMode));
705 return cmzn_sceneviewer_get_translation_rate(
id);
717 return cmzn_sceneviewer_set_translation_rate(
id, translationRate);
728 return cmzn_sceneviewer_get_tumble_rate(
id);
740 return cmzn_sceneviewer_set_tumble_rate(
id, tumbleRate);
751 return cmzn_sceneviewer_get_zoom_rate(
id);
763 return cmzn_sceneviewer_set_zoom_rate(
id, zoomRate);
774 return cmzn_sceneviewer_get_up_vector(
id, upVectorValuesOut3);
786 return cmzn_sceneviewer_set_up_vector(
id, upVectorValuesIn3);
803 return cmzn_sceneviewer_get_lookat_parameters(
id,
804 eyeValuesOut3, lookatValuesOut3, upVectorValuesOut3);
824 return cmzn_sceneviewer_set_lookat_parameters_non_skew(
id,
825 eyeValuesIn3, lookatValuesIn3, upVectorValuesIn3);
832 double *near_plane,
double *far_plane)
834 return cmzn_sceneviewer_get_viewing_volume(
id, left, right, bottom, top,
835 near_plane, far_plane);
849 double near_plane,
double far_plane)
851 return cmzn_sceneviewer_set_viewing_volume(
id, left, right, bottom, top,
852 near_plane, far_plane);
866 return cmzn_sceneviewer_set_background_colour_component_rgb(
id, red, green, blue);
879 return cmzn_sceneviewer_set_background_colour_rgb(
id, valuesIn3);
891 return cmzn_sceneviewer_get_background_colour_rgb(
id, valuesOut3);
902 return cmzn_sceneviewer_view_all(
id);
922 return static_cast<TransparencyMode>(cmzn_sceneviewer_get_transparency_mode(
id));
938 return cmzn_sceneviewer_set_transparency_mode(
id,
939 static_cast<cmzn_sceneviewer_transparency_mode>(transparencyMode));
952 return cmzn_sceneviewer_get_transparency_layers(
id);
967 return cmzn_sceneviewer_set_transparency_layers(
id, layers);
979 return cmzn_sceneviewer_get_view_angle(
id);
992 return cmzn_sceneviewer_set_view_angle(
id, viewAngle);
1003 return static_cast<ViewportMode>(cmzn_sceneviewer_get_viewport_mode(
id));
1014 return cmzn_sceneviewer_set_viewport_mode(
id,
1015 static_cast<cmzn_sceneviewer_viewport_mode>(viewportMode));
1026 return cmzn_sceneviewer_get_far_clipping_plane(
id);
1037 return cmzn_sceneviewer_get_near_clipping_plane(
id);
1048 return cmzn_sceneviewer_set_far_clipping_plane(
id, farClippingPlane);
1059 return cmzn_sceneviewer_set_near_clipping_plane(
id, nearClippingPlane);
1070 int preferred_height,
int preferred_antialias,
int preferred_transparency_layers)
1072 return cmzn_sceneviewer_write_image_to_file(
id, file_name, force_onscreen, preferred_width,
1073 preferred_height, preferred_antialias, preferred_transparency_layers);
1084 return cmzn_sceneviewer_add_light(
id, light.
getId());
1095 return cmzn_sceneviewer_has_light(
id, light.
getId());
1106 return cmzn_sceneviewer_remove_light(
id, light.
getId());
1118 return cmzn_sceneviewer_is_lighting_local_viewer(this->
id);
1137 return cmzn_sceneviewer_set_lighting_local_viewer(this->
id, value);
1148 return cmzn_sceneviewer_is_lighting_two_sided(this->
id);
1167 return cmzn_sceneviewer_set_lighting_two_sided(this->
id, value);
1190 cmzn_sceneviewermodule_id id;
1199 id(in_sceneviewermodule_id)
1203 id(cmzn_sceneviewermodule_access(sceneviewermodule.id))
1208 cmzn_sceneviewermodule_id temp_id = cmzn_sceneviewermodule_access(sceneviewermodule.id);
1211 cmzn_sceneviewermodule_destroy(&
id);
1221 cmzn_sceneviewermodule_destroy(&
id);
1255 return Sceneviewer(cmzn_sceneviewermodule_create_sceneviewer(
id,
1256 static_cast<cmzn_sceneviewer_buffering_mode>(buffering_mode),
1257 static_cast<cmzn_sceneviewer_stereo_mode>(stereo_mode)));
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
Definition: sceneviewer.hpp:389
Definition: sceneviewer.hpp:280
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
Definition: sceneviewer.hpp:282
TransparencyMode getTransparencyMode()
Definition: sceneviewer.hpp:920
Definition: sceneviewer.hpp:312
Definition: sceneviewer.hpp:391
int setAntialiasSampling(int numberOfSamples)
Definition: sceneviewer.hpp:579
Definition: sceneviewer.hpp:61
int renderScene()
Definition: sceneviewer.hpp:485
Definition: sceneviewer.hpp:347
int endChange()
Definition: sceneviewer.hpp:477
bool hasLight(const Light &light)
Definition: sceneviewer.hpp:1093
Definition: sceneviewer.hpp:358
Definition: sceneviewer.hpp:365
Definition: sceneviewer.hpp:345
Container/manager for graphics visualising a region.
Definition: scene.hpp:36
The light controls how vertices will be lit on a sceneviewer.
Definition: light.hpp:28
TransparencyMode
Definition: sceneviewer.hpp:356
Definition: sceneviewer.hpp:360
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
Definition: sceneviewer.hpp:288
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
Definition: sceneviewer.hpp:310
Definition: sceneviewer.hpp:55
ViewportMode
Definition: sceneviewer.hpp:387
Definition: sceneviewer.hpp:349
int setTransparencyMode(TransparencyMode transparencyMode)
Definition: sceneviewer.hpp:936
int processSceneviewerinput(const Sceneviewerinput &input)
Definition: sceneviewerinput.hpp:199
bool isValid() const
Definition: sceneviewer.hpp:1230
Definition: sceneviewer.hpp:331
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
Definition: sceneviewer.hpp:343
double getNearClippingPlane()
Definition: sceneviewer.hpp:1035
Definition: sceneviewer.hpp:394
cmzn_light_id getId() const
Definition: light.hpp:102
Definition: sceneviewer.hpp:298
int setViewAngle(double viewAngle)
Definition: sceneviewer.hpp:990
Sceneviewer createSceneviewer(Sceneviewer::BufferingMode buffering_mode, Sceneviewer::StereoMode stereo_mode)
Definition: sceneviewer.hpp:1253
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:1187
int beginChange()
Definition: sceneviewer.hpp:462
StereoMode
Definition: sceneviewer.hpp:341
Sceneviewermodule getSceneviewermodule()
Definition: sceneviewer.hpp:1262
Sceneviewernotifier createSceneviewernotifier()
Definition: sceneviewer.hpp:1175
cmzn_scene_id getId() const
Definition: scene.hpp:88
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
Definition: sceneviewer.hpp:333
ProjectionMode
Definition: sceneviewer.hpp:327
Definition: sceneviewer.hpp:291
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
Definition: sceneviewer.hpp:57
Sceneviewermodule getSceneviewermodule()
Definition: sceneviewer.hpp:1267
ChangeFlag
Definition: sceneviewer.hpp:53
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
Definition: sceneviewer.hpp:329
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
Definition: sceneviewer.hpp:397
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:1240
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
Definition: sceneviewer.hpp:59
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 getBackgroundColourRGB(double *valuesOut3)
Definition: sceneviewer.hpp:889
InteractMode getInteractMode()
Definition: sceneviewer.hpp:612
Definition: sceneviewer.hpp:285
Definition: sceneviewer.hpp:373
int setScenefilter(const Scenefilter &scenefilter)
Definition: sceneviewer.hpp:521
int getEyePosition(double *eyeValuesOut3)
Definition: sceneviewer.hpp:590