











open Compatibility;;
open Types;;
open Default;;
open Constants;;
open Exceptions;;
open Basic_types;;
open Font;;
open Fonts;;
open Colors;;
open Vrml_objects_pre;;
open Calc_3D;;
open Vrml_objects_post;;
open Positionables;;
open Geometrics;;
open Geometric_properties;;
open Map;;
open Complex_geometrics;;
open Map_complex;;
open Lights;;
open Map_light;;
open Sound;;
open Frame_manipulations;;
open Specials;;
open World;;
open Translate;;
open Animations;;
open Traject;;


val power : float -> float -> float
val lt_int : 'a -> 'a -> bool
val lt_float : 'a -> 'a -> bool
val le_float : 'a -> 'a -> bool
val gt_int : 'a -> 'a -> bool
val gt_float : 'a -> 'a -> bool
val mult_float : float -> float -> float
val add_int : int -> int -> int
val int_of_char : char -> int
val char_of_int : int -> char
val space_char : char
val lf_char : char
val char_0 : char
val comma_char : char
val open_par_char : char
val close_par_char : char
val ascii_0 : int
val ascii_9 : int
val ascii_a : int
val ascii_f : int
val ascii_A : int
val ascii_F : int
val eq_string : string -> string -> bool
val string_length : string -> int
val sub_string : string -> int -> int -> string
val map : ('a -> 'b) -> 'a list -> 'b list
val map2 : ('a -> 'b -> 'c) -> 'a list -> 'b list -> 'c list
val nth_char : string -> int -> char
val set_nth_char : string -> int -> char -> unit
val create_string : int -> string
val make_string : int -> char -> string
val it_list : ('a -> 'b -> 'a) -> 'a -> 'b list -> 'a
val list_it : ('a -> 'b -> 'b) -> 'a list -> 'b -> 'b
val append : 'a list -> 'a list -> 'a list
val list_length : 'a list -> int
val int_of_float : float -> int
val float_of_int : int -> float
val rev : 'a list -> 'a list
val do_list : ('a -> unit) -> 'a list -> unit
val do_list2 : ('a -> 'b -> unit) -> 'a list -> 'b list -> unit
type 'a vect = 'a Compatibility.vect
val mem : 'a -> 'a list -> bool
val vect_of_list : 'a list -> 'a array
val make_vect : int -> 'a -> 'a array
val except : 'a list -> 'a -> 'a list
val subtract : 'a list -> 'a list -> 'a list
val assoc : 'a -> ('a * 'b) list -> 'b
val index : 'a -> 'a list -> int
val replace_string : string -> string -> int -> unit
val format_float : ('a, unit, string) format -> 'a
val std_out : out_channel
val assq : 'a -> ('a * 'b) list -> 'b
val combine : 'a list -> 'b list -> ('a * 'b) list
val hd : 'a list -> 'a
val tl : 'a list -> 'a list
val vect_length : 'a array -> int


type vect2D = float * float
type vect3D = float * float * float
type rotation = vect3D * float ;;

type color = float * float * float ;;

type time = float ;;

type frame =
  { height: float * float;
    width: float * float;
    depth: float * float }
type clip =
  { clip_loop: bool;
    clip_start_time: time;
    clip_stop_time: time;
    clip_urls: string list }
type fontStyle =
  { family: string;
    horizontal: bool;
    justify: string list;
    language: string;
    left_to_right: bool;
    size: float;
    spacing: float;
    style: string;
    top_to_bottom: bool }
type image =
  { image_width: int;
    image_height: int;
    image_components: int;
    image_pixels: int list }
type textureCoordinate = vect2D list
type movieTexture = { movieTexture_speed: float; movieTexture_clip: clip }
type textureType =
  | ImageTexture of string list
  | MovieTexture of movieTexture
  | PixelTexture of image
type textureItem =
  { texture_repeatS: bool;
    texture_repeatT: bool;
    texture_type: textureType;
    texture_center: vect2D;
    texture_rotation: float;
    texture_scale: vect2D;
    texture_translation: vect2D }
type texture = | NoTexture | Texture of textureItem
type materialItem =
  { ambient_intensity: float;
    diffuse_color: color;
    emissive_color: color;
    shininess: float;
    specular_color: color;
    transparency: float }
type material = | NoMaterial | Material of materialItem
type point = { point_color: color; point_coordinate: vect3D }
type pointSet = point list
type line = { line_point1: vect3D; line_point2: vect3D; line_color: color }
type lineSet = line list
type unlitGeometric = | LineSet of lineSet | PointSet of pointSet
type box = { box_size: vect3D }
type cone =
  { cone_bottom_radius: float;
    cone_height: float;
    cone_side: bool;
    cone_bottom: bool }
type cylinder =
  { cylinder_bottom: bool;
    cylinder_height: float;
    cylinder_radius: float;
    cylinder_side: bool;
    cylinder_top: bool }
type elevationGrid =
  { grid_color: color list;
    grid_texture_coordinate: textureCoordinate;
    grid_height: float list;
    grid_ccw: bool;
    grid_color_per_vertex: bool;
    grid_solid: bool;
    grid_x_dimension: int;
    grid_x_spacing: float;
    grid_z_dimension: int;
    grid_z_spacing: float }
type extrusion =
  { extrusion_begin_cap: bool;
    extrusion_ccw: bool;
    extrusion_convex: bool;
    extrusion_cross_section: vect2D list;
    extrusion_end_cap: bool;
    extrusion_orientation: rotation list;
    extrusion_scale: vect2D list;
    extrusion_solid: bool;
    extrusion_spine: vect3D list }
type sphere = { sphere_radius: float }
type text =
  { content: string list;
    font_style: fontStyle;
    length: float list;
    max_extent: float }
type face = vect3D list
type faceSet =
  { faceSet_faces: face list;
    faceSet_texture_coordinate: textureCoordinate;
    faceSet_ccw: bool;
    faceSet_convex: bool;
    faceSet_solid: bool;
    faceSet_texture_coordinate_index: int list }
type shape =
  | Box of box
  | Cone of cone
  | Cylinder of cylinder
  | ElevationGrid of elevationGrid
  | Extrusion of extrusion
  | FaceSet of faceSet
  | Sphere of sphere
  | Text of text
type directionalLight = { directionalLight_direction: vect3D }
type pointLight =
  { pointLight_attenuation: vect3D;
    pointLight_radius: float }
type spotLight =
  { spotLight_attenuation: vect3D;
    spotLight_beam_width: float;
    spotLight_cut_off_angle: float;
    spotLight_direction: vect3D;
    spotLight_radius: float }
type lightType =
  | DirectionalLight of directionalLight
  | PointLight of pointLight
  | SpotLight of spotLight
type light =
  { light_ambient_intensity: float;
    light_color: color;
    light_intensity: float;
    light_type: lightType }
type geometric = { shape: shape; material: material; texture: texture }
type viewPoint =
  { viewPoint_field_of_view: float;
    viewPoint_jump: bool;
    viewPoint_description: string;
    navigation_avatar_size: float list;
    navigation_headlight: bool;
    navigation_speed: float;
    navigation_type: string list;
    navigation_visibility_limit: float }
type sound =
  { sound_direction: vect3D;
    sound_intensity: float;
    sound_max_back: float;
    sound_max_front: float;
    sound_min_back: float;
    sound_min_front: float;
    sound_priority: float;
    sound_spatialize: bool;
    sound_description: string;
    sound_pitch: float;
    sound_clip: clip }
type background =
  { ground_angle: float list;
    ground_color: color list;
    back_url: string list;
    bottom_url: string list;
    front_url: string list;
    left_url: string list;
    right_url: string list;
    top_url: string list;
    sky_angle: float list;
    sky_color: color list }
type fog =
  { fog_color: color;
    fog_type: string;
    fog_visibility_range: float }
type vrml_special = | Background of background | Fog of fog
type anchorItem =
  { anchor_description: string;
    anchor_parameters: string list;
    anchor_urls: string list }
type anchor = | NoAnchor | Anchor of anchorItem
type billboardItem = { axis_of_rotation: vect3D }
type billboard = | NoBillboard | Billboard of billboardItem
type collisionBox = { collide: bool; bbox_center: vect3D; bbox_size: vect3D }
type collision = | NoCollision | Collision of collisionBox
type proximityBox = { proximity_center: vect3D; proximity_size: vect3D }
type vrml_object =
  { objects: vrml_positionable list;
    children: vrml_object list;
    position: vect3D;
    rotation: rotation;
    scale: vect3D;
    frame: frame;
    unique: bool;
    anchor: anchor;
    billboard: billboard;
    collision: collision }
and  vrml_positionable =
  | Geometric of geometric
  | UnlitGeometric of unlitGeometric
  | CollisionBox of collisionBox
  | Light of light
  | LOD of lod
  | Sound of sound
  | ViewPoint of viewPoint
and lod = { lod_levels: vrml_object list; lod_ranges: float list }
type changing =
  | Translation of (float list * vect3D list)
  | Rotation of (float list * rotation list)
  | Scale of (float list * vect3D list)
  | ChangeColor
type trigger =
  | Instant of time
  | Click of vrml_object
  | Enter of (proximityBox * vrml_object)
  | Exit of (proximityBox * vrml_object)
type animation =
  { target: vrml_object;
    start_trigger: trigger list;
    stop_trigger: trigger list;
    loop: bool;
    duration: float;
    memory: bool;
    movie: changing list }
type vrml_world =
  { info: string list;
    title: string;
    tree: vrml_object;
    specials: vrml_special list;
    animations: animation list }
val default_frame : Types.frame
val default_clip : Types.clip
val default_fontStyle : Types.fontStyle
val default_image : Types.image
val default_vrml_object : Types.vrml_object
val default_anchor : Types.anchorItem
val default_basic_anchor : Types.anchor
val default_billboard : Types.billboardItem
val default_basic_billboard : Types.billboard
val default_collisionBox : Types.collisionBox
val default_basic_collision : Types.collision
val default_material : Types.materialItem
val default_basic_material : Types.material
val default_textureCoordinate : 'a list
val default_basic_imageTexture : Types.textureType
val default_movieTexture : Types.movieTexture
val default_basic_movieTexture : Types.textureType
val default_basic_pixelTexture : Types.textureType
val default_basic_texture : Types.textureType -> Types.texture
val default_texture : Types.textureType -> Types.textureItem
val default_textureItem : Types.textureItem
val default_basic_geometric : Types.shape -> Types.vrml_positionable
val default_point : Types.point
val default_pointSet : 'a list
val default_basic_pointSet : Types.unlitGeometric
val default_line : Types.line
val default_lineSet : 'a list
val default_basic_lineSet : Types.unlitGeometric
val default_box : Types.box
val default_basic_box : Types.shape
val default_cone : Types.cone
val default_basic_cone : Types.shape
val default_cylinder : Types.cylinder
val default_basic_cylinder : Types.shape
val default_elevationGrid : Types.elevationGrid
val default_basic_elevationGrid : Types.shape
val default_extrusion : Types.extrusion
val default_basic_extrusion : Types.shape
val default_sphere : Types.sphere
val default_basic_sphere : Types.shape
val default_text : Types.text
val default_basic_text : Types.shape
val default_face : 'a list
val default_faceSet : Types.faceSet
val default_directionalLight : Types.directionalLight
val default_basic_directionalLight : Types.lightType
val default_pointLight : Types.pointLight
val default_basic_pointLight : Types.lightType
val default_spotLight : Types.spotLight
val default_basic_spotLight : Types.lightType
val default_basic_light : Types.lightType -> Types.vrml_positionable
val default_light : Types.light
val default_sound : Types.sound
val default_basic_sound : Types.vrml_positionable
val default_lod : Types.lod
val default_basic_lod : Types.vrml_positionable
val default_viewPoint : Types.viewPoint
val default_basic_viewPoint : Types.vrml_positionable
val default_background : Types.background
val default_basic_background : Types.vrml_special
val default_fog : Types.fog
val default_basic_fog : Types.vrml_special
val default_vrml_world : Types.vrml_world
val pi : float
val test_color : Types.color -> Types.color
val test_time : Types.time -> Types.time
val test_speed : float -> float
val test_size : Types.vect3D -> Types.vect3D
val test_proximity_size : Types.vect3D -> Types.vect3D
val test_radius : float -> float
val test_height : float -> float
val test_length : float -> float
val test_max_extent : float -> float
val test_elevationGrid_dimension : int -> int
val test_elevationGrid_spacing : float -> float
val test_extrusion_scale : Types.vect2D list -> Types.vect2D list
val test_material_ambient_intensity : float -> float
val test_material_shininess : float -> float
val test_material_transparency : float -> float
val test_attenuation : Types.vect3D -> Types.vect3D
val test_cut_off_angle : float -> float
val test_beam_width : float -> float
val test_light_intensity : float -> float
val test_light_ambient_intensity : float -> float
val test_field_of_view : float -> float
val test_avatar_size : float -> float
val test_visibility_limit : float -> float
val test_sound_min_or_max : float -> float
val test_sound_intensity : float -> float
val test_sound_priority : float -> float
val test_pitch : float -> float
val test_background_angle : float -> float
val new_vect2D : float -> float -> Types.vect2D
val new_vect3D : float -> float -> float -> Types.vect3D
val new_rotation : float -> float -> float -> float -> Types.rotation
val new_color : float -> float -> float -> Types.color
val new_time : Types.time -> Types.time
val new_frame :
  float -> float -> float -> float -> float -> float -> Types.frame
val new_point : Types.color -> float -> float -> float -> Types.point
val setf_point_color : Types.point -> Types.color -> Types.point
val setf_point_coordinate :
  Types.point -> float -> float -> float -> Types.point
val new_line : Types.color -> Types.vect3D -> Types.vect3D -> Types.line
val setf_line_point1 : Types.line -> Types.vect3D -> Types.line
val setf_line_point2 : Types.line -> Types.vect3D -> Types.line
val setf_line_color : Types.line -> Types.color -> Types.line
val new_face : Types.face -> Types.face
val new_complete_clip :
  bool -> Types.time -> Types.time -> string list -> Types.clip
val new_clip : Types.time -> Types.time -> string -> Types.clip
val setf_clip_loop : Types.clip -> bool -> Types.clip
val setf_clip_start_time : Types.clip -> Types.time -> Types.clip
val setf_clip_stop_time : Types.clip -> Types.time -> Types.clip
val setf_clip_urls : Types.clip -> string list -> Types.clip
val new_image : int -> int -> int -> int list -> Types.image
val setf_image_width : Types.image -> int -> Types.image
val setf_image_height : Types.image -> int -> Types.image
val setf_image_components : Types.image -> int -> Types.image
val setf_image_pixels : Types.image -> int list -> Types.image
val new_basic_collisionBox :
  bool -> Types.vect3D -> Types.vect3D -> Types.collisionBox
val new_complete_font :
  string ->
  bool ->
  string list ->
  string -> bool -> float -> float -> string -> bool -> Types.fontStyle
val new_font : string -> float -> string -> Types.fontStyle
val setf_family : Types.fontStyle -> string -> Types.fontStyle
val setf_horizontal : Types.fontStyle -> bool -> Types.fontStyle
val setf_justify : Types.fontStyle -> string list -> Types.fontStyle
val setf_language : Types.fontStyle -> string -> Types.fontStyle
val setf_left_to_right : Types.fontStyle -> bool -> Types.fontStyle
val setf_size : Types.fontStyle -> float -> Types.fontStyle
val setf_spacing : Types.fontStyle -> float -> Types.fontStyle
val setf_style : Types.fontStyle -> string -> Types.fontStyle
val setf_top_to_bottom : Types.fontStyle -> bool -> Types.fontStyle
val serif : string
val sans_serif : string
val typewriter : string
val plain : string
val bold : string
val italic : string
val bold_italic : string
val set_font_family : Types.fontStyle -> string -> Types.fontStyle
val set_font_size : Types.fontStyle -> float -> Types.fontStyle
val set_font_style : Types.fontStyle -> string -> Types.fontStyle
val plain_serif : Types.fontStyle
val plain_sans_serif : Types.fontStyle
val plain_typewriter : Types.fontStyle
val bold_serif : Types.fontStyle
val bold_sans_serif : Types.fontStyle
val bold_typewriter : Types.fontStyle
val italic_serif : Types.fontStyle
val italic_sans_serif : Types.fontStyle
val italic_typewriter : Types.fontStyle
val bold_italic_serif : Types.fontStyle
val bold_italic_sans_serif : Types.fontStyle
val bold_italic_typewriter : Types.fontStyle
val white : Types.color
val black : Types.color
val green : Types.color
val red : Types.color
val blue : Types.color
val yellow : Types.color
val magenta : Types.color
val cyan : Types.color
val dark_gray : Types.color
val dark_blue : Types.color
val dark_cyan : Types.color
val dark_magenta : Types.color
val dark_red : Types.color
val light_green : Types.color
val new_referential : Types.vrml_object
val new_vrml_object :
  Types.vrml_positionable list ->
  Types.vrml_object list ->
  Types.vect3D ->
  Types.rotation ->
  Types.vect3D ->
  Types.frame ->
  bool ->
  Types.anchor -> Types.billboard -> Types.collision -> Types.vrml_object
val setf_objects :
  Types.vrml_object -> Types.vrml_positionable list -> Types.vrml_object
val set_objects :
  Types.vrml_object -> Types.vrml_positionable list -> Types.vrml_object
val setf_children :
  Types.vrml_object -> Types.vrml_object list -> Types.vrml_object
val set_children :
  Types.vrml_object -> Types.vrml_object list -> Types.vrml_object
val setf_position : Types.vrml_object -> Types.vect3D -> Types.vrml_object
val setf_rotation : Types.vrml_object -> Types.rotation -> Types.vrml_object
val setf_scale : Types.vrml_object -> Types.vect3D -> Types.vrml_object
val setf_frame : Types.vrml_object -> Types.frame -> Types.vrml_object
val set_frame : Types.vrml_object -> Types.frame -> Types.vrml_object
val setf_unique : Types.vrml_object -> bool -> Types.vrml_object
val set_unique : Types.vrml_object -> bool -> Types.vrml_object
val setf_anchor : Types.vrml_object -> Types.anchor -> Types.vrml_object
val setf_billboard :
  Types.vrml_object -> Types.billboard -> Types.vrml_object
val setf_collision :
  Types.vrml_object -> Types.collision -> Types.vrml_object
val rescale_3Dvect :
  float * float * float -> float * float * float -> float * float * float
val retranslate_3Dvect :
  float * float * float -> float * float * float -> float * float * float
val rotat_point :
  (float * float * float) * float ->
  float * float * float -> float * float * float
val frame_to_cube : Types.frame -> (float * float * float) list
val translate_frame : Types.frame -> float * float * float -> Types.frame
val extract : ('a -> 'b) -> 'a list -> 'b * 'b
val give_x : 'a * 'b * 'c -> 'a
val give_y : 'a * 'b * 'c -> 'b
val give_z : 'a * 'b * 'c -> 'c
(* val identity : 'a -> 'a *)
val frame_to_frame :
  Types.frame ->
  (float * float * float) * float -> float * float * float -> Types.frame
val build_frame :
  Types.frame ->
  (float * float * float) * float ->
  float * float * float ->
  float * float * float -> Types.frame -> Types.frame
val resize_frame_with_child :
  Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val nth : 'a list -> int -> 'a
val fill_frame : float list -> Types.frame
val inv : float -> float
val member : 'a -> 'a list -> bool
val plane_list : 'a list list -> 'a list
val vertex_extract : 'a list -> 'a list -> 'a list
val extract_shape : 'a list -> ('a * 'a * 'a) list -> 'a list
val resize_frame : Types.frame -> (float * float * float) list -> Types.frame
val translate_point :
  float * float * float -> float * float * float -> float * float * float
val scale_point :
  float * float * float -> float * float * float -> float * float * float
val compute_point :
  (float * float * float) * float ->
  float * float * float ->
  float * float * float -> float * float * float -> float * float * float
val tridim_y : 'a -> 'b * 'c -> 'c * 'a * 'b
val rotat_list_point :
  ((float * float * float) * float) list ->
  float * float * float -> float * float * float
val extrusion_frame_make : Types.extrusion -> Types.frame
val geometric_frame_construct : Types.geometric -> Types.frame
val extract_from_list : ('a -> 'b list) -> 'a list -> 'b list
val unlitGeometric_vertex_construct :
  Types.unlitGeometric -> Types.vect3D list
val unlitGeometric_frame_construct : Types.unlitGeometric -> Types.frame
val vrml_positionable_frame_construct :
  Types.vrml_positionable -> Types.frame
val resize_frame_with_object :
  Types.vrml_object -> Types.vrml_positionable -> Types.vrml_object
val get_resize_frame : Types.vrml_object -> Types.frame
val add_object :
  Types.vrml_object -> Types.vrml_positionable -> Types.vrml_object
val add_objects :
  Types.vrml_object -> Types.vrml_positionable list -> Types.vrml_object
val add_child : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val add_children :
  Types.vrml_object -> Types.vrml_object list -> Types.vrml_object
val set_position :
  Types.vrml_object -> float -> float -> float -> Types.vrml_object
val set_translation :
  Types.vrml_object -> float -> float -> float -> Types.vrml_object
val set_rotation :
  Types.vrml_object -> float -> float -> float -> float -> Types.vrml_object
val set_scale :
  Types.vrml_object -> float -> float -> float -> Types.vrml_object
val translation :
  Types.vrml_object -> float -> float -> float -> Types.vrml_object
val rotation : Types.vrml_object -> float -> Types.vrml_object
val add_rotation :
  Types.vrml_object -> float -> float -> float -> float -> Types.vrml_object
val resize :
  Types.vrml_object -> float -> float -> float -> Types.vrml_object
val group : Types.vrml_object list -> Types.vrml_object
val ungroup : Types.vrml_object -> Types.vrml_object list
val agregate_one :
  Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val objects_from_list :
  Types.vrml_object list -> Types.vrml_positionable list
val children_from_list : Types.vrml_object list -> Types.vrml_object list
val agregate :
  Types.vrml_object list -> Types.vrml_object -> Types.vrml_object
val new_basic_anchor : string -> string list -> string list -> Types.anchor
val set_complete_anchor :
  Types.vrml_object ->
  string -> string list -> string list -> Types.vrml_object
val set_urls : Types.vrml_object -> string list -> Types.vrml_object
val set_url : Types.vrml_object -> string -> Types.vrml_object
val add_url : Types.vrml_object -> string -> Types.vrml_object
val new_basic_billboard : float -> float -> float -> Types.billboard
val set_billboard :
  Types.vrml_object -> float -> float -> float -> Types.vrml_object
val setf_collide : Types.collisionBox -> bool -> Types.collisionBox
val setf_bbox :
  Types.collisionBox -> Types.vect3D -> Types.vect3D -> Types.collisionBox
val setf_collision_collide : Types.collision -> bool -> Types.collision
val setf_collision_bbox :
  Types.collision -> Types.vect3D -> Types.vect3D -> Types.collision
val new_basic_collision :
  bool -> Types.vect3D -> Types.vect3D -> Types.collision
val set_collidable : Types.vrml_object -> Types.vrml_object
val set_uncollidable : Types.vrml_object -> Types.vrml_object
val set_collision :
  Types.vrml_object -> Types.vect3D -> Types.vect3D -> Types.vrml_object
val new_basic_collision_box :
  Types.vect3D -> Types.vect3D -> Types.vrml_positionable
val new_collision_box : Types.vect3D -> Types.vect3D -> Types.vrml_object
val setf_collision_box_center :
  Types.vrml_positionable -> Types.vect3D -> Types.vrml_positionable
val setf_collision_box_size :
  Types.vrml_positionable -> Types.vect3D -> Types.vrml_positionable
val new_unlit_geometric_object : Types.vrml_positionable -> Types.vrml_object
val new_basic_pointSet : Types.pointSet -> Types.vrml_positionable
val new_pointSet : Types.pointSet -> Types.vrml_object
val add_basic_point :
  Types.vrml_positionable -> Types.point -> Types.vrml_positionable
val new_basic_lineSet : Types.lineSet -> Types.vrml_positionable
val new_lineSet : Types.lineSet -> Types.vrml_object
val add_basic_line :
  Types.vrml_positionable -> Types.line -> Types.vrml_positionable
val new_basic_viewPoint :
  float ->
  bool ->
  string ->
  float list ->
  bool -> float -> string list -> float -> Types.vrml_positionable
val new_complete_viewPoint :
  float ->
  bool ->
  string ->
  float list -> bool -> float -> string list -> float -> Types.vrml_object
val new_viewPoint : string -> Types.vrml_object
val setf_viewPoint_field_of_view :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_viewPoint_jump :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_viewPoint_description :
  Types.vrml_positionable -> string -> Types.vrml_positionable
val setf_navigation_avatar_sizes :
  Types.vrml_positionable -> float list -> Types.vrml_positionable
val setf_navigation_headlight :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_navigation_speed :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_navigation_types :
  Types.vrml_positionable -> string list -> Types.vrml_positionable
val setf_navigation_visibility_limit :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val new_basic_lod :
  Types.vrml_object list -> float list -> Types.vrml_positionable
val new_lod : Types.vrml_object list -> float list -> Types.vrml_object
val setf_lod_levels :
  Types.vrml_positionable -> Types.vrml_object list -> Types.vrml_object
val setf_lod_ranges :
  Types.vrml_positionable -> float list -> Types.vrml_object
val add_lod_level_at_range :
  Types.vrml_positionable -> Types.vrml_object -> float -> Types.vrml_object
val new_basic_geometric :
  Types.shape -> Types.material -> Types.texture -> Types.vrml_positionable
val setf_shape :
  Types.vrml_positionable -> Types.shape -> Types.vrml_positionable
val setf_material :
  Types.vrml_positionable -> Types.material -> Types.vrml_positionable
val setf_texture :
  Types.vrml_positionable -> Types.texture -> Types.vrml_positionable
val new_geometric_object : Types.shape -> Types.vrml_object
val setf_shape_field :
  Types.vrml_positionable ->
  (Types.shape -> 'a -> Types.shape) -> 'a -> Types.vrml_positionable
val new_basic_box : float -> float -> float -> Types.shape
val new_basic_cone : float -> float -> bool -> bool -> Types.shape
val setf_basic_cone_radius : Types.shape -> float -> Types.shape
val setf_basic_cone_height : Types.shape -> float -> Types.shape
val setf_basic_cone_side : Types.shape -> bool -> Types.shape
val setf_basic_cone_bottom : Types.shape -> bool -> Types.shape
val setf_cone_radius :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_cone_height :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_cone_side :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_cone_bottom :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val new_basic_cylinder :
  bool -> float -> float -> bool -> bool -> Types.shape
val setf_basic_cylinder_bottom : Types.shape -> bool -> Types.shape
val setf_basic_cylinder_height : Types.shape -> float -> Types.shape
val setf_basic_cylinder_radius : Types.shape -> float -> Types.shape
val setf_basic_cylinder_side : Types.shape -> bool -> Types.shape
val setf_basic_cylinder_top : Types.shape -> bool -> Types.shape
val setf_cylinder_bottom :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_cylinder_height :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_cylinder_radius :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_cylinder_side :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_cylinder_top :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val new_basic_sphere : float -> Types.shape
val new_basic_text :
  string list -> Types.fontStyle -> float list -> float -> Types.shape
val setf_basic_content : Types.shape -> string list -> Types.shape
val setf_basic_font_style : Types.shape -> Types.fontStyle -> Types.shape
val setf_basic_length : Types.shape -> float list -> Types.shape
val setf_basic_max_extent : Types.shape -> float -> Types.shape
val setf_text_content :
  Types.vrml_positionable -> string list -> Types.vrml_positionable
val setf_text_font :
  Types.vrml_positionable -> Types.fontStyle -> Types.vrml_positionable
val setf_text_length :
  Types.vrml_positionable -> float list -> Types.vrml_positionable
val setf_text_max_extent :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val new_box : float -> float -> float -> Types.vrml_object
val new_complete_cone : float -> float -> bool -> bool -> Types.vrml_object
val new_cone : float -> float -> Types.vrml_object
val new_complete_cylinder :
  float -> float -> bool -> bool -> bool -> Types.vrml_object
val new_cylinder : float -> float -> Types.vrml_object
val new_cube : float -> Types.vrml_object
val new_sphere : float -> Types.vrml_object
val new_complete_text :
  string list -> Types.fontStyle -> float list -> float -> Types.vrml_object
val new_text : string list -> Types.vrml_object
val new_text_with_font : string list -> Types.fontStyle -> Types.vrml_object
val new_basic_material :
  float ->
  Types.color ->
  Types.color -> float -> Types.color -> float -> Types.material
val setf_basic_ambient_intensity : Types.material -> float -> Types.material
val setf_basic_diffuse_color :
  Types.material -> Types.color -> Types.material
val setf_basic_emissive_color :
  Types.material -> Types.color -> Types.material
val setf_basic_shininess : Types.material -> float -> Types.material
val setf_basic_specular_color :
  Types.material -> Types.color -> Types.material
val setf_basic_transparency : Types.material -> float -> Types.material
val setf_material_property :
  Types.vrml_positionable ->
  (Types.material -> 'a -> Types.material) -> 'a -> Types.vrml_positionable
val setf_ambient_intensity :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_diffuse_color :
  Types.vrml_positionable -> Types.color -> Types.vrml_positionable
val setf_emissive_color :
  Types.vrml_positionable -> Types.color -> Types.vrml_positionable
val setf_shininess :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_specular_color :
  Types.vrml_positionable -> Types.color -> Types.vrml_positionable
val setf_transparency :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val new_basic_texture :
  Types.textureType ->
  bool ->
  bool ->
  Types.vect2D -> float -> Types.vect2D -> Types.vect2D -> Types.texture
val new_basic_imageTexture : string list -> Types.textureType
val new_basic_movieTexture : float -> Types.clip -> Types.textureType
val new_basic_pixelTexture : Types.image -> Types.textureType
val new_imageTexture : string list -> Types.texture
val new_pixelTexture : Types.image -> Types.texture
val new_complete_movieTexture : float -> Types.clip -> Types.texture
val new_movieTexture : Types.clip -> Types.texture
val setf_basic_texture_repeatS : Types.texture -> bool -> Types.texture
val setf_basic_texture_repeatT : Types.texture -> bool -> Types.texture
val setf_basic_texture_type :
  Types.texture -> Types.textureType -> Types.texture
val setf_basic_texture_center :
  Types.texture -> Types.vect2D -> Types.texture
val setf_basic_texture_rotation : Types.texture -> float -> Types.texture
val setf_basic_texture_scale : Types.texture -> Types.vect2D -> Types.texture
val setf_basic_texture_translation :
  Types.texture -> Types.vect2D -> Types.texture
val setf_basic_imageTexture_urls :
  Types.textureType -> string list -> Types.textureType
val setf_basic_pixelTexture_image :
  Types.textureType -> Types.image -> Types.textureType
val setf_basic_movieTexture_speed :
  Types.textureType -> float -> Types.textureType
val setf_basic_movieTexture_clip :
  Types.textureType -> Types.clip -> Types.textureType
val setf_texture_property :
  Types.vrml_positionable ->
  (Types.texture -> 'a -> Types.texture) -> 'a -> Types.vrml_positionable
val setf_texture_repeatS :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_texture_repeatT :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_texture_type :
  Types.vrml_positionable -> Types.textureType -> Types.vrml_positionable
val setf_texture_center :
  Types.vrml_positionable -> Types.vect2D -> Types.vrml_positionable
val setf_texture_rotation :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_texture_scale :
  Types.vrml_positionable -> Types.vect2D -> Types.vrml_positionable
val setf_texture_translation :
  Types.vrml_positionable -> Types.vect2D -> Types.vrml_positionable
val setf_imageTexture_urls :
  Types.vrml_positionable -> string list -> Types.vrml_positionable
val setf_pixelTexture_image :
  Types.vrml_positionable -> Types.image -> Types.vrml_positionable
val setf_movieTexture_speed :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_movieTexture_clip :
  Types.vrml_positionable -> Types.clip -> Types.vrml_positionable
val mapp : 'a list -> ('a -> 'b -> 'c) -> 'b -> 'c list
val map_obj :
  Types.vrml_object ->
  (Types.vrml_positionable -> 'a -> Types.vrml_positionable) ->
  'a -> Types.vrml_object
val map_all :
  Types.vrml_object ->
  (Types.vrml_positionable -> 'a -> Types.vrml_positionable) ->
  'a -> Types.vrml_object
val map_imageTexture_url : Types.vrml_object -> string -> Types.vrml_object
val map_texture : Types.vrml_object -> string -> Types.vrml_object
val map_pixelTexture_image :
  Types.vrml_object -> Types.image -> Types.vrml_object
val map_movieTexture_speed : Types.vrml_object -> float -> Types.vrml_object
val map_movieTexture_clip :
  Types.vrml_object -> Types.clip -> Types.vrml_object
val map_diffuse_color : Types.vrml_object -> Types.color -> Types.vrml_object
val map_color : Types.vrml_object -> Types.color -> Types.vrml_object
val map_all_color : Types.vrml_object -> Types.color -> Types.vrml_object
val map_all_imageTexture_urls :
  Types.vrml_object -> string -> Types.vrml_object
val map_all_texture : Types.vrml_object -> string -> Types.vrml_object
val map_all_pixelTexture_image :
  Types.vrml_object -> Types.image -> Types.vrml_object
val map_all_movieTexture_clip :
  Types.vrml_object -> Types.clip -> Types.vrml_object
val map_all_movieTexture_speed :
  Types.vrml_object -> float -> Types.vrml_object
val new_basic_elevationGrid :
  Types.color list ->
  Types.textureCoordinate ->
  float list ->
  bool -> bool -> bool -> int -> float -> int -> float -> Types.shape
val new_complete_elevationGrid :
  Types.color list ->
  Types.textureCoordinate ->
  float list ->
  bool -> bool -> bool -> int -> float -> int -> float -> Types.vrml_object
val new_elevationGrid :
  float list -> int -> int -> float -> float -> Types.vrml_object
val setf_basic_grid_color : Types.shape -> Types.color list -> Types.shape
val setf_basic_grid_texture_coordinate :
  Types.shape -> Types.textureCoordinate -> Types.shape
val setf_basic_grid_height : Types.shape -> float list -> Types.shape
val setf_basic_grid_ccw : Types.shape -> bool -> Types.shape
val setf_basic_grid_color_per_vertex : Types.shape -> bool -> Types.shape
val setf_basic_grid_solid : Types.shape -> bool -> Types.shape
val setf_basic_grid_x_dimension : Types.shape -> int -> Types.shape
val setf_basic_grid_x_spacing : Types.shape -> float -> Types.shape
val setf_basic_grid_z_dimension : Types.shape -> int -> Types.shape
val setf_basic_grid_z_spacing : Types.shape -> float -> Types.shape
val setf_elevationGrid_colors :
  Types.vrml_positionable -> Types.color list -> Types.vrml_positionable
val setf_elevationGrid_texture_coordinate :
  Types.vrml_positionable ->
  Types.textureCoordinate -> Types.vrml_positionable
val setf_elevationGrid_height :
  Types.vrml_positionable -> float list -> Types.vrml_positionable
val setf_elevationGrid_ccw :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_elevationGrid_color_per_vertex :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_elevationGrid_solid :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_elevationGrid_x_dimension :
  Types.vrml_positionable -> int -> Types.vrml_positionable
val setf_elevationGrid_x_spacing :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_elevationGrid_z_dimension :
  Types.vrml_positionable -> int -> Types.vrml_positionable
val setf_elevationGrid_z_spacing :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val new_basic_extrusion :
  bool ->
  bool ->
  bool ->
  Types.vect2D list ->
  bool ->
  Types.rotation list ->
  Types.vect2D list -> bool -> Types.vect3D list -> Types.shape
val new_complete_extrusion :
  bool ->
  bool ->
  bool ->
  Types.vect2D list ->
  bool ->
  Types.rotation list ->
  Types.vect2D list -> bool -> Types.vect3D list -> Types.vrml_object
val new_extrusion :
  Types.vect2D list ->
  Types.vect3D list -> Types.rotation list -> Types.vrml_object
val new_extrusion_with_scales :
  Types.vect2D list ->
  Types.vect3D list ->
  Types.rotation list -> Types.vect2D list -> Types.vrml_object
val setf_basic_extrusion_begin_cap : Types.shape -> bool -> Types.shape
val setf_basic_extrusion_ccw : Types.shape -> bool -> Types.shape
val setf_basic_extrusion_convex : Types.shape -> bool -> Types.shape
val setf_basic_extrusion_cross_section :
  Types.shape -> Types.vect2D list -> Types.shape
val setf_basic_extrusion_end_cap : Types.shape -> bool -> Types.shape
val setf_basic_extrusion_orientation :
  Types.shape -> Types.rotation list -> Types.shape
val setf_basic_extrusion_scale :
  Types.shape -> Types.vect2D list -> Types.shape
val setf_basic_extrusion_solid : Types.shape -> bool -> Types.shape
val setf_basic_extrusion_spine :
  Types.shape -> Types.vect3D list -> Types.shape
val setf_extrusion_begin_cap :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_extrusion_ccw :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_extrusion_convex :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_extrusion_cross_section :
  Types.vrml_positionable -> Types.vect2D list -> Types.vrml_positionable
val setf_extrusion_end_cap :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_extrusion_orientation :
  Types.vrml_positionable -> Types.rotation list -> Types.vrml_positionable
val setf_extrusion_scale :
  Types.vrml_positionable -> Types.vect2D list -> Types.vrml_positionable
val setf_extrusion_solid :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_extrusion_spine :
  Types.vrml_positionable -> Types.vect3D list -> Types.vrml_positionable
val new_basic_faceSet :
  Types.face list ->
  Types.textureCoordinate -> bool -> bool -> bool -> int list -> Types.shape
val new_complete_faceSet :
  Types.face list ->
  Types.textureCoordinate ->
  bool -> bool -> bool -> int list -> Types.vrml_object
val new_faceSet : Types.face list -> Types.vrml_object
val setf_basic_faceSet_faces : Types.shape -> Types.face list -> Types.shape
val setf_basic_faceSet_texture_coordinate :
  Types.shape -> Types.textureCoordinate -> Types.shape
val setf_basic_faceSet_ccw : Types.shape -> bool -> Types.shape
val setf_basic_faceSet_convex : Types.shape -> bool -> Types.shape
val setf_basic_faceSet_solid : Types.shape -> bool -> Types.shape
val setf_basic_faceSet_texture_coordinate_index :
  Types.shape -> int list -> Types.shape
val setf_faceSet_faces :
  Types.vrml_positionable -> Types.face list -> Types.vrml_positionable
val setf_faceSet_texture_coordinate :
  Types.vrml_positionable ->
  Types.textureCoordinate -> Types.vrml_positionable
val setf_faceSet_ccw :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_faceSet_convex :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_faceSet_solid :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_faceSet_texture_coordinate_index :
  Types.vrml_positionable -> int list -> Types.vrml_positionable
val map_elevationGrid_colors :
  Types.vrml_object -> Types.color list -> Types.vrml_object
val map_elevationGrid_texture_coordinates :
  Types.vrml_object -> Types.textureCoordinate -> Types.vrml_object
val new_basic_directionalLight : Types.vect3D -> Types.lightType
val setf_basic_directionalLight_direction :
  Types.lightType -> Types.vect3D -> Types.lightType
val new_basic_pointLight : Types.vect3D -> float -> Types.lightType
val setf_basic_pointLight_attenuation :
  Types.lightType -> Types.vect3D -> Types.lightType
val setf_basic_pointLight_radius :
  Types.lightType -> float -> Types.lightType
val new_basic_spotLight :
  Types.vect3D -> float -> float -> Types.vect3D -> float -> Types.lightType
val setf_basic_spotLight_attenuation :
  Types.lightType -> Types.vect3D -> Types.lightType
val setf_basic_spotLight_beam_width :
  Types.lightType -> float -> Types.lightType
val setf_basic_spotLight_cut_off_angle :
  Types.lightType -> float -> Types.lightType
val setf_basic_spotLight_direction :
  Types.lightType -> Types.vect3D -> Types.lightType
val setf_basic_spotLight_radius : Types.lightType -> float -> Types.lightType
val new_basic_light :
  Types.lightType -> Types.color -> float -> float -> Types.vrml_positionable
val setf_light_color :
  Types.vrml_positionable -> Types.color -> Types.vrml_positionable
val setf_light_ambient_intensity :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_light_intensity :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_light_type :
  Types.vrml_positionable -> Types.lightType -> Types.vrml_positionable
val setf_light_type_property :
  Types.vrml_positionable ->
  (Types.lightType -> 'a -> Types.lightType) -> 'a -> Types.vrml_positionable
val setf_directionalLight_direction :
  Types.vrml_positionable -> Types.vect3D -> Types.vrml_positionable
val setf_pointLight_attenuation :
  Types.vrml_positionable -> Types.vect3D -> Types.vrml_positionable
val setf_pointLight_radius :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_spotLight_attenuation :
  Types.vrml_positionable -> Types.vect3D -> Types.vrml_positionable
val setf_spotLight_beam_width :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_spotLight_cut_off_angle :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_spotLight_direction :
  Types.vrml_positionable -> Types.vect3D -> Types.vrml_positionable
val setf_spotLight_radius :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val new_complete_directionalLight :
  Types.color -> float -> float -> Types.vect3D -> Types.vrml_object
val new_directionalLight :
  Types.color -> float -> Types.vect3D -> Types.vrml_object
val new_complete_pointLight :
  Types.color -> float -> float -> Types.vect3D -> float -> Types.vrml_object
val new_pointLight : Types.color -> float -> float -> Types.vrml_object
val new_complete_spotLight :
  Types.color ->
  float ->
  float ->
  Types.vect3D ->
  float -> float -> Types.vect3D -> float -> Types.vrml_object
val new_spotLight :
  Types.color -> float -> Types.vect3D -> float -> Types.vrml_object
val map_light_color : Types.vrml_object -> Types.color -> Types.vrml_object
val map_directionalLight_direction :
  Types.vrml_object -> Types.vect3D -> Types.vrml_object
val new_basic_sound :
  Types.vect3D ->
  float ->
  float ->
  float ->
  float ->
  float ->
  float -> bool -> string -> float -> Types.clip -> Types.vrml_positionable
val new_complete_sound :
  Types.vect3D ->
  float ->
  float ->
  float ->
  float ->
  float ->
  float -> bool -> string -> float -> Types.clip -> Types.vrml_object
val new_sound : Types.vect3D -> float -> Types.clip -> Types.vrml_object
val setf_sound_direction :
  Types.vrml_positionable -> Types.vect3D -> Types.vrml_positionable
val setf_sound_intensity :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_sound_max_back :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_sound_max_front :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_sound_min_back :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_sound_min_front :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_sound_priority :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_sound_spatialize :
  Types.vrml_positionable -> bool -> Types.vrml_positionable
val setf_sound_description :
  Types.vrml_positionable -> string -> Types.vrml_positionable
val setf_sound_pitch :
  Types.vrml_positionable -> float -> Types.vrml_positionable
val setf_sound_clip :
  Types.vrml_positionable -> Types.clip -> Types.vrml_positionable
val get_x1 : Types.frame -> float
val get_x2 : Types.frame -> float
val get_y1 : Types.frame -> float
val get_y2 : Types.frame -> float
val get_z1 : Types.frame -> float
val get_z2 : Types.frame -> float
val place_top : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val place_bottom :
  Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val place_right : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val place_left : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val place_front : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val place_behind :
  Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val stick_top : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val stick_bottom :
  Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val stick_right : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val stick_left : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val stick_front : Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val stick_behind :
  Types.vrml_object -> Types.vrml_object -> Types.vrml_object
val new_basic_background :
  float list ->
  Types.color list ->
  string list ->
  string list ->
  string list ->
  string list ->
  string list ->
  string list -> float list -> Types.color list -> Types.vrml_special
val new_complete_background :
  float list ->
  Types.color list ->
  string list ->
  string list ->
  string list ->
  string list ->
  string list ->
  string list -> float list -> Types.color list -> Types.vrml_special
val new_background : string -> Types.color -> Types.vrml_special
val setf_background_ground_angles :
  Types.vrml_special -> float list -> Types.vrml_special
val setf_background_ground_colors :
  Types.vrml_special -> Types.color list -> Types.vrml_special
val setf_background_back_urls :
  Types.vrml_special -> string list -> Types.vrml_special
val setf_background_bottom_urls :
  Types.vrml_special -> string list -> Types.vrml_special
val setf_background_front_urls :
  Types.vrml_special -> string list -> Types.vrml_special
val setf_background_left_urls :
  Types.vrml_special -> string list -> Types.vrml_special
val setf_background_right_urls :
  Types.vrml_special -> string list -> Types.vrml_special
val setf_background_top_urls :
  Types.vrml_special -> string list -> Types.vrml_special
val setf_background_sky_angles :
  Types.vrml_special -> float list -> Types.vrml_special
val setf_background_sky_colors :
  Types.vrml_special -> Types.color list -> Types.vrml_special
val new_basic_fog : Types.color -> string -> float -> Types.vrml_special
val linear_fog : string
val exponential_fog : string
val new_complete_fog : Types.color -> string -> float -> Types.vrml_special
val new_linear_fog : Types.color -> Types.vrml_special
val new_exponential_fog : Types.color -> Types.vrml_special
val setf_fog_color : Types.vrml_special -> Types.color -> Types.vrml_special
val setf_fog_type : Types.vrml_special -> string -> Types.vrml_special
val setf_fog_visibility_range :
  Types.vrml_special -> float -> Types.vrml_special
val new_vrml_world :
  string list ->
  string ->
  Types.vrml_object ->
  Types.vrml_special list -> Types.animation list -> Types.vrml_world
val set_info : Types.vrml_world -> string list -> Types.vrml_world
val set_title : Types.vrml_world -> string -> Types.vrml_world
val set_tree : Types.vrml_world -> Types.vrml_object -> Types.vrml_world
val set_specials :
  Types.vrml_world -> Types.vrml_special list -> Types.vrml_world
val add_special : Types.vrml_world -> Types.vrml_special -> Types.vrml_world
val set_animations :
  Types.vrml_world -> Types.animation list -> Types.vrml_world
val add_animation : Types.vrml_world -> Types.animation -> Types.vrml_world
type dictionary = { name: string; triggers: Types.trigger list }
type table =
  { trigger_table: (Types.trigger * string) list;
    object_table: (Types.vrml_object * dictionary) list }
val dico : table ref
val object_equivalent : Types.vrml_object -> Types.vrml_object -> bool
val object_table_find : Types.vrml_object -> dictionary
val object_table_remove : Types.vrml_object -> unit
val object_table_add : Types.vrml_object -> dictionary -> unit
val dico_clear : unit -> unit
val trigger_equivalent : Types.trigger -> Types.trigger -> bool
val trigger_name : Types.trigger -> string
val new_trigger_name : Types.trigger -> string -> unit
val new_trigger : Types.vrml_object -> Types.trigger -> unit
val new_object_name : Types.vrml_object -> string -> unit
val object_table_construct : Types.vrml_world -> unit
val gensym : unit -> string
val reset : unit -> unit
val spaced_float : float -> string
val string_of_scalar : float -> string
val quote : string -> string
val string_of_vect2D : float * float -> string
val vect2D_translate : float * float -> string
val string_of_vect3D : float * float * float -> string
val vect3D_translate : float * float * float -> string
val bool_translate : bool -> string
val concapply : ('a -> string) -> 'a list -> string
val rotation_translate : (float * float * float) * float -> string
val translate_list : ('a -> string) -> 'a list -> string
val rotation_list_translate : Types.rotation list -> string
val vect3D_list_translate : Types.vect3D list -> string
val point_color_list_translate : Types.pointSet -> string
val index_translate : int list -> string
val scalar_list_translate : float list -> string
val point_coordinate_list_translate : Types.pointSet -> string
val vect2D_list_translate : Types.textureCoordinate -> string
val string_list_translate : string list -> string
val url_translate : string list -> string
val compare : 'a -> 'a -> ('a -> string) -> string
val box_translate : float * float * float -> float * float * float -> string
val material_translate : Types.material -> string
val common_texture_translate : Types.textureItem -> string
val hexa : int -> string
val clip_translate : Types.clip -> string
val image_translate : Types.image -> string
val color_translate : Types.pointSet -> string
val coordinate_translate : Types.pointSet -> string
val texCoord_translate : Types.textureCoordinate -> string
val pointSet_translate : Types.pointSet -> string
val close_index : int list -> int list
val create_index : 'a -> 'a list -> int list -> 'a list * int list
val multi_create_index : 'a list -> 'a list -> int list -> 'a list * int list
val lineSet_translate : Types.line list -> string
val unlitGeometric_translate : Types.unlitGeometric -> string
val textureCoordinate_translate : Types.textureCoordinate -> string
val create_face_list_index : 'a list list -> 'a list * int list
val faceSet_translate : Types.faceSet -> string
val elevationGrid_translate : Types.elevationGrid -> string
val extrusion_translate : Types.extrusion -> string
val pixelTexture_translate : Types.textureItem -> string
val movieTexture_translate : Types.textureItem -> string
val imageTexture_translate : Types.textureItem -> string
val texture_translate : Types.texture -> string
val font_style_translate : Types.fontStyle -> string
val recenter_translation : Types.shape -> float * float * float
val geometric_translate : Types.shape -> string
val shape_translate : Types.geometric -> string
val sound_translate : Types.sound -> string
val light_translate : Types.light -> string
val viewPoint_translate : Types.viewPoint -> string
val proximityBox_translate : Types.proximityBox -> string
val is_a_real_transform : Types.vrml_object -> bool
val compute_proximity_name :
  string -> Types.trigger -> Types.trigger list -> string
val sensor_translate : string -> 'a -> Types.vrml_object -> string
val collisionBox_translate : Types.collisionBox -> string
val lod_translate : 'a -> Types.lod -> string
val vrml_positionnable_translate :
  string -> Types.vrml_object -> 'a -> Types.vrml_positionable -> string
val anchor_translate : string -> 'a -> Types.vrml_object -> string
val vrml_object_translate : 'a -> Types.vrml_object -> string
val transform_translate : string -> 'a -> Types.vrml_object -> string
val collision_translate : string -> 'a -> Types.vrml_object -> string
val billboard_translate : string -> 'a -> Types.vrml_object -> string
val real_vrml_object_translate : 'a -> Types.vrml_object -> string
val timeSensor_translate :
  string -> float -> bool -> bool -> float -> float -> string
val instant_script : string
val memory_script : string
val script_translate : string -> string -> string
val new_route : 'a list ref -> 'a -> unit
val new_routes : 'a list ref -> 'a list -> unit
(*
val instant_route_translate :
  'a -> string -> ('b, string) Hashtbl.t -> 'b -> 'a * string
val start_instant_route :
  string -> ('a, string) Hashtbl.t -> 'a -> string * string
val stop_instant_route :
  string -> ('a, string) Hashtbl.t -> 'a -> string * string
*)
val trigger_create :
  'a -> (string * string) list ref -> Types.trigger -> string
val start_trigger_route_translate :
  'a -> 'b -> string -> 'c -> Types.trigger -> (string * string) list
val stop_trigger_route_translate :
  'a ->
  'b -> string -> Types.animation -> Types.trigger -> (string * string) list
val start_trigger_translate :
  'a -> (string * string) list ref -> string -> 'b -> Types.trigger -> string
val stop_trigger_translate :
  'a ->
  (string * string) list ref ->
  string -> Types.animation -> Types.trigger -> string
val interpolator_translate :
  string -> string -> float list * 'a -> int -> ('a -> string) -> string
val interpolator_route_translate :
  string -> string -> string -> string -> int -> (string * string) list
val changing_route_translate :
  Types.changing ->
  string -> string -> string -> int -> (string * string) list
val changing_list_route_translate :
  Types.changing list ->
  string -> string -> string -> int -> (string * string) list
val interpolator_translate :
  string -> string -> float list * 'a -> int -> ('a -> string) -> string
val changing_translate : Types.changing -> string -> int -> string
val changing_list_translate : Types.changing list -> string -> int -> string
val animation_translate :
  'a -> (string * string) list ref -> Types.animation -> string
val routes_translate : (string * string) list ref -> string
val moving_object_translate : Types.animation list -> string
val background_translate : Types.background -> string
val fog_translate : Types.fog -> string
val vrml_special_translate : Types.vrml_special -> string
val vrml_special_list_translate : Types.vrml_special list -> string
val vrml_world_translate : Types.vrml_world -> string
val test : Types.vrml_world -> unit
val vrml_translate_to : Types.vrml_world -> string -> unit
val new_animation :
  Types.vrml_object ->
  Types.trigger list ->
  Types.trigger list ->
  bool -> float -> bool -> Types.changing list -> Types.animation
val setf_animation_target :
  Types.animation -> Types.vrml_object -> Types.animation
val setf_animation_start_trigger :
  Types.animation -> Types.trigger list -> Types.animation
val setf_animation_stop_trigger :
  Types.animation -> Types.trigger list -> Types.animation
val setf_animation_loop : Types.animation -> bool -> Types.animation
val setf_animation_duration : Types.animation -> float -> Types.animation
val setf_animation_memory : Types.animation -> bool -> Types.animation
val setf_animation_movie :
  Types.animation -> Types.changing list -> Types.animation
val initialize_object : Types.animation -> Types.animation
val compute_trajectory : (float -> 'a) -> int -> float list * 'a list
val circle_y : float -> float -> float * float * float
val circle_z : float -> float -> float * float * float
val ellipse : float -> float -> float -> float * float * float
val new_extrusion_bis :
  Types.vect2D list ->
  Types.vect3D list ->
  Types.rotation list -> Types.vect2D list -> Types.vrml_object
val revolution_orientation :
  int -> int -> float -> (float * float * float) * float
val compute_values : int -> (float -> 'a) -> 'a list
val compute_2DShape_y : int -> (float -> 'a * 'b * 'c) -> ('a * 'c) list
val identity : 'a -> float * float * float
val compute_revolution_extrusion :
  Types.vect2D list -> float -> int -> Types.vrml_object
val couronne : Types.vrml_object
val couronne : Types.vrml_object
val mon_world : Types.vrml_world
