pbrt_r3/core/api/
parse_context.rs1use crate::core::base::*;
2use crate::core::param_set::*;
3
4pub trait ParseContext {
6 fn pbrt_cleanup(&mut self);
7 fn pbrt_identity(&mut self);
8 fn pbrt_translate(&mut self, dx: Float, dy: Float, dz: Float);
9 fn pbrt_rotate(&mut self, angle: Float, ax: Float, ay: Float, az: Float);
10 fn pbrt_scale(&mut self, sx: Float, sy: Float, sz: Float);
11 fn pbrt_look_at(
12 &mut self,
13 ex: Float,
14 ey: Float,
15 ez: Float,
16 lx: Float,
17 ly: Float,
18 lz: Float,
19 ux: Float,
20 uy: Float,
21 uz: Float,
22 );
23 fn pbrt_concat_transform(&mut self, tansform: &[Float]);
24 fn pbrt_transform(&mut self, tansform: &[Float]);
25 fn pbrt_coordinate_system(&mut self, name: &str);
26 fn pbrt_coord_sys_transform(&mut self, name: &str);
27 fn pbrt_active_transform_all(&mut self);
28 fn pbrt_active_transform_end_time(&mut self);
29 fn pbrt_active_transform_start_time(&mut self);
30 fn pbrt_transform_times(&mut self, start: Float, end: Float);
31 fn pbrt_pixel_filter(&mut self, name: &str, params: &ParamSet);
32 fn pbrt_film(&mut self, name: &str, params: &ParamSet);
33 fn pbrt_sampler(&mut self, name: &str, params: &ParamSet);
34 fn pbrt_accelerator(&mut self, name: &str, params: &ParamSet);
35 fn pbrt_integrator(&mut self, name: &str, params: &ParamSet);
36 fn pbrt_camera(&mut self, name: &str, params: &ParamSet);
37 fn pbrt_make_named_medium(&mut self, name: &str, params: &ParamSet);
38 fn pbrt_medium_interface(&mut self, inside_name: &str, outside_name: &str);
39
40 fn pbrt_world_begin(&mut self);
41 fn pbrt_attribute_begin(&mut self);
42 fn pbrt_attribute_end(&mut self);
43 fn pbrt_transform_begin(&mut self);
44 fn pbrt_transform_end(&mut self);
45 fn pbrt_texture(&mut self, name: &str, _type: &str, tex_name: &str, params: &ParamSet);
46 fn pbrt_material(&mut self, name: &str, params: &ParamSet);
47 fn pbrt_make_named_material(&mut self, name: &str, params: &ParamSet);
48 fn pbrt_named_material(&mut self, name: &str);
49 fn pbrt_light_source(&mut self, name: &str, params: &ParamSet);
50 fn pbrt_area_light_source(&mut self, name: &str, params: &ParamSet);
51 fn pbrt_shape(&mut self, name: &str, params: &ParamSet);
52 fn pbrt_reverse_orientation(&mut self);
53 fn pbrt_object_begin(&mut self, name: &str);
54 fn pbrt_object_end(&mut self);
55 fn pbrt_object_instance(&mut self, name: &str);
56 fn pbrt_world_end(&mut self);
57
58 fn pbrt_parse_file(&mut self, filename: &str);
59 fn pbrt_parse_string(&mut self, s: &str);
60
61 fn pbrt_work_dir_begin(&mut self, _path: &str) {}
63 fn pbrt_work_dir_end(&mut self) {}
64 fn pbrt_include(&mut self, _filename: &str, _params: &ParamSet) {}
65 }