1
2//
3// This source file is part of appleseed.
4// Visit http://appleseedhq.net/ for additional information and resources.
5//
6// This software is released under the MIT license.
7//
8// Copyright (c) 2012-2013 Esteban Tovagliari, Jupiter Jazz Limited
9// Copyright (c) 2014-2017 Esteban Tovagliari, The appleseedhq Organization
10//
11// Permission is hereby granted, free of charge, to any person obtaining a copy
12// of this software and associated documentation files (the "Software"), to deal
13// in the Software without restriction, including without limitation the rights
14// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15// copies of the Software, and to permit persons to whom the Software is
16// furnished to do so, subject to the following conditions:
17//
18// The above copyright notice and this permission notice shall be included in
19// all copies or substantial portions of the Software.
20//
21// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27// THE SOFTWARE.
28//
29
30// appleseed.python headers.
31#include "pyseed.h" // has to be first, to avoid redefinition warnings
32
33// appleseed.renderer headers.
34#include "renderer/api/version.h"
35
36// Forward declarations.
37void bind_assembly();
38void bind_basis();
39void bind_bbox();
40void bind_bsdf();
41void bind_bssrdf();
42void bind_camera();
43void bind_color();
44void bind_display();
45void bind_edf();
46void bind_entity();
47void bind_environment();
48void bind_frame();
49void bind_image();
50void bind_light();
51void bind_logger();
52void bind_master_renderer();
53void bind_material();
54void bind_matrix();
55void bind_mesh_object();
56void bind_object();
57void bind_project();
58void bind_quaternion();
59void bind_renderer_controller();
60void bind_scene();
61void bind_shader_group();
62void bind_surface_shader();
63void bind_texture();
64void bind_tile_callback();
65void bind_transform();
66void bind_utility();
67void bind_vector();
68
69BOOST_PYTHON_MODULE(_appleseedpython)
70{
71 boost::python::scope().attr("APPLESEED_VERSION") = APPLESEED_VERSION;
72 boost::python::scope().attr("APPLESEED_VERSION_MAJOR") = APPLESEED_VERSION_MAJOR;
73 boost::python::scope().attr("APPLESEED_VERSION_MINOR") = APPLESEED_VERSION_MINOR;
74 boost::python::scope().attr("APPLESEED_VERSION_PATCH") = APPLESEED_VERSION_PATCH;
75 boost::python::scope().attr("APPLESEED_VERSION_MATURITY") = APPLESEED_VERSION_MATURITY;
76 boost::python::scope().attr("APPLESEED_VERSION_STRING") = APPLESEED_VERSION_STRING;
77
78 bind_utility();
79 bind_logger();
80
81 bind_vector();
82 bind_basis();
83 bind_quaternion();
84 bind_bbox();
85 bind_matrix();
86 bind_transform();
87
88 bind_entity();
89
90 bind_color();
91 bind_texture();
92 bind_bsdf();
93 bind_bssrdf();
94 bind_edf();
95 bind_shader_group();
96
97 bind_surface_shader();
98 bind_material();
99 bind_light();
100 bind_object();
101 bind_mesh_object();
102 bind_assembly();
103
104 bind_camera();
105 bind_environment();
106 bind_scene();
107
108 bind_image();
109 bind_frame();
110 bind_display();
111 bind_project();
112
113 bind_renderer_controller();
114 bind_tile_callback();
115 bind_master_renderer();
116}
117