Module OsgViewer.Viewer


module Viewer: sig .. end
Viewer holds a single view on to a single scene.

type t 
osgViewer::Viewer holder.
val create' : unit -> t

type threading_model =
| Single_threaded
| Cull_draw_thread_per_context
| Thread_per_context
| Draw_thread_per_context
| Cull_thread_per_camera_draw_thread_per_context
| Thread_per_camera
| Automatic_selection
val set_threading_model : t -> threading_model -> unit
val close : t -> unit
unref() underlying osg::Viewer, can be good alternative to close viewer without using of Gc.full_major
val run : t -> unit
val realize : t -> unit
val frame : t -> unit
val advance : t -> float -> unit
val event_traversal : t -> unit
val update_traversal : t -> unit
val rendering_traversals : t -> unit
val vdone : t -> bool
val set_scene_data : t -> Osg.Node.t -> unit
val get_scene_data : t -> Osg.Node.t
val get_contexts : t -> Osg.Graphics_context.t array
val add_event_handler : t -> OsgGA.Gui_event_handler.t -> unit
val set_camera_manipulator : t -> OsgGA.Matrix_manipulator.t -> unit
val get_camera : t -> Osg.Camera.t
val compute_intersections : t ->
float -> float -> OsgUtil.Line_segment_intersector.Intersections.t -> bool
val dynamic_cast : OsgGA.Gui_action_adapter.t -> t option
val create : ?threading_model:threading_model ->
?scene_data:Osg.Node.t ->
?camera_manipulator:OsgGA.Matrix_manipulator.t ->
?event_handlers:OsgGA.Gui_event_handler.t list -> unit -> t
val create_and_run : ?threading_model:threading_model ->
?scene_data:Osg.Node.t ->
?camera_manipulator:OsgGA.Matrix_manipulator.t ->
?event_handlers:OsgGA.Gui_event_handler.t list -> unit -> unit