pbrt_r3/core/api/
parse_context.rs

1use crate::core::base::*;
2use crate::core::param_set::*;
3
4//Sized
5pub 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    //----------------------------------------
62    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    //----------------------------------------
66}