Added automatic binding generator script with basic template, updated/extended parser and added generated error and file listing

Former-commit-id: cb25fb2ce7
This commit is contained in:
Sebastian Koch
2016-05-20 20:24:28 +02:00
parent 94b7d07f84
commit dce8825124
6 changed files with 1762 additions and 43 deletions
+46
View File
@@ -0,0 +1,46 @@
% for enum in enums:
py::enum_<\
% for n in enum['namespaces']:
${n}::\
% endfor
${enum['name']}>(m, "${enum['name']}")
% for c in enum['constants']:
.value("${c}", \
% for n in enum['namespaces']:
${n}::\
% endfor
${c})
% endfor
.export_values();
% endfor
% for func in functions:
m.def("${func['name']}", []
(
% for p in func['parameters'][:-1]:
${p['type']} ${p['name']},
% endfor
${func['parameters'][-1]['type']} ${func['parameters'][-1]['name']}
)
{
return \
% for n in func['namespaces']:
${n}::\
% endfor
${func['name']}(\
% for p in func['parameters'][:-1]:
${p['name']}, \
% endfor
${func['parameters'][-1]['name']});
}, __doc_\
% for n in func['namespaces']:
${n}_\
% endfor
${func['name']},
% for p in func['parameters'][:-1]:
py::arg("${p['name']}"), \
% endfor
py::arg("${func['parameters'][-1]['name']}"));
% endfor
+894
View File
@@ -0,0 +1,894 @@
empty: 10
Function C_STR contains no parseable content in cpp header. Something might be wrong.
Function REDRUM contains no parseable content in cpp header. Something might be wrong.
Function STR contains no parseable content in cpp header. Something might be wrong.
Function copyleft_marching_cubes_tables contains no parseable content in cpp header. Something might be wrong.
Function deprecated contains no parseable content in cpp header. Something might be wrong.
Function embree_Embree_convenience contains no parseable content in cpp header. Something might be wrong.
Function igl_inline contains no parseable content in cpp header. Something might be wrong.
Function opengl_OpenGL_convenience contains no parseable content in cpp header. Something might be wrong.
Function viewer_TextRenderer contains no parseable content in cpp header. Something might be wrong.
Function viewer_TextRenderer_fonts contains no parseable content in cpp header. Something might be wrong.
incorrect: 364
Incorrect function in adjacency_list: adjacency_list, Unknown typechain: std::vector<std::vector<IndexVector> > &,Unknown typechain: bool
Incorrect function in all_pairs_distances: all_pairs_distances, Unknown typechain: Mat &,Unknown typechain: Mat &,Empty typechain: bool,Unknown typechain: Mat &
Incorrect function in ambient_occlusion: ambient_occlusion, Unknown typechain: std::function<bool (const Eigen::Vector3f &, const Eigen::Vector3f &)> &,Empty typechain: int
Incorrect function in ambient_occlusion: ambient_occlusion, Unknown typechain: igl::AABB<DerivedV, DIM> &,Empty typechain: int
Incorrect function in angular_distance: angular_distance, Unknown typechain: Eigen::Quaterniond &,Unknown typechain: Eigen::Quaterniond &
Incorrect function in any_of: any_of, Unknown typechain: Mat &
Incorrect function in arap_linear_block: arap_linear_block, Unknown typechain: MatV &,Unknown typechain: MatF &,Empty typechain: int,Empty typechain: int,Empty typechain: int &
Incorrect function in arap_linear_block: arap_linear_block_spokes, Unknown typechain: MatV &,Unknown typechain: MatF &,Empty typechain: int,Empty typechain: int &
Incorrect function in arap_linear_block: arap_linear_block_spokes_and_rims, Unknown typechain: MatV &,Unknown typechain: MatF &,Empty typechain: int,Empty typechain: int &
Incorrect function in arap_linear_block: arap_linear_block_elements, Unknown typechain: MatV &,Unknown typechain: MatF &,Empty typechain: int,Empty typechain: int &
Incorrect function in arap_rhs: arap_rhs, Empty typechain: int,Empty typechain: int,Empty typechain: int &
Incorrect function in average_onto_faces: average_onto_faces, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: Eigen::Matrix<I, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &
Incorrect function in axis_angle_to_quat: axis_angle_to_quat, Unknown typechain: Q_type *,Unknown typechain: Q_type,Unknown typechain: Q_type *
Incorrect function in biharmonic_coordinates: biharmonic_coordinates, Unknown typechain: std::vector<std::vector<SType> > &
Incorrect function in biharmonic_coordinates: biharmonic_coordinates, Unknown typechain: std::vector<std::vector<SType> > &,Empty typechain: int
Incorrect function in boundary_conditions: boundary_conditions, Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::VectorXi &
Incorrect function in boundary_facets: boundary_facets, Unknown typechain: std::vector<std::vector<IntegerT> > &,Unknown typechain: std::vector<std::vector<IntegerF> > &
Incorrect function in boundary_loop: boundary_loop, Unknown typechain: std::vector<Index> &
Incorrect function in cat: cat, Empty typechain: int,Unknown typechain: MatC &
Incorrect function in cat: cat, Empty typechain: int,Unknown typechain: Mat &,Unknown typechain: Mat &
Incorrect function in cat: cat, Unknown typechain: std::vector<std::vector<Mat> > &,Unknown typechain: Mat &
Incorrect function in centroid: centroid, Unknown typechain: Derivedvol &
Incorrect function in circulation: circulation, Empty typechain: int,Empty typechain: bool,Unknown typechain: Eigen::VectorXi &
Incorrect function in circulation: circulation, Empty typechain: int,Empty typechain: bool,Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::VectorXi &
Incorrect function in collapse_edge: collapse_edge, Empty typechain: int,Unknown typechain: Eigen::RowVectorXd &,Unknown typechain: Eigen::VectorXi &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &
Incorrect function in collapse_edge: collapse_edge, Empty typechain: int,Unknown typechain: Eigen::RowVectorXd &,Unknown typechain: Eigen::VectorXi &
Incorrect function in collapse_edge: collapse_edge, Unknown typechain: std::function<void (const int, const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, double &, Eigen::RowVectorXd &)> &,Unknown typechain: Eigen::VectorXi &,Unknown typechain: std::set<std::pair<double, int> > &,Unknown typechain: std::vector<std::set<std::pair<double, int> >::iterator> &
Incorrect function in collapse_edge: collapse_edge, Unknown typechain: std::function<void (const int, const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, double &, Eigen::RowVectorXd &)> &,Unknown typechain: Eigen::VectorXi &,Unknown typechain: std::set<std::pair<double, int> > &,Unknown typechain: std::vector<std::set<std::pair<double, int> >::iterator> &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &
Incorrect function in collapse_small_triangles: collapse_small_triangles, Empty typechain: double
Incorrect function in colon: colon, Unknown typechain: L,Unknown typechain: S,Unknown typechain: H,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, 1> &
Incorrect function in colon: colon, Unknown typechain: L,Unknown typechain: H,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, 1> &
Incorrect function in colon: colon, Unknown typechain: L,Unknown typechain: H
Incorrect function in column_to_quats: column_to_quats, Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &
Incorrect function in components: components, Unknown typechain: Eigen::SparseMatrix<AScalar> &
Incorrect function in components: components, Unknown typechain: Eigen::SparseMatrix<AScalar> &
Incorrect function in copyleft_cgal_assign_scalar: assign_scalar, Unknown typechain: typename CGAL::Epeck::FT &,Unknown typechain: CGAL::Epeck::FT &
Incorrect function in copyleft_cgal_assign_scalar: assign_scalar, Unknown typechain: typename CGAL::Epeck::FT &,Empty typechain: double &
Incorrect function in copyleft_cgal_assign_scalar: assign_scalar, Empty typechain: double &,Empty typechain: double &
Incorrect function in copyleft_cgal_cell_adjacency: cell_adjacency, Unknown typechain: size_t,Unknown typechain: std::vector<std::set<std::tuple<typename DerivedC::Scalar, bool, size_t> > > &
Incorrect function in copyleft_cgal_closest_facet: closest_facet, Unknown typechain: std::vector<std::vector<uE2EType> > &
Incorrect function in copyleft_cgal_closest_facet: closest_facet, Unknown typechain: std::vector<std::vector<uE2EType> > &
Incorrect function in copyleft_cgal_closest_facet: closest_facet, Unknown typechain: std::vector<std::vector<uE2EType> > &,Unknown typechain: std::vector<std::vector<size_t> > &,Unknown typechain: std::vector<std::vector<size_t> > &,Unknown typechain: CGAL::AABB_tree<CGAL::AABB_traits<Kernel, CGAL::AABB_triangle_primitive<Kernel, typename std::vector<typename Kernel::Triangle_3>::iterator> > > &,Unknown typechain: std::vector<typename Kernel::Triangle_3> &,Unknown typechain: std::vector<bool> &
Incorrect function in copyleft_cgal_complex_to_mesh: complex_to_mesh, Unknown typechain: CGAL::Complex_2_in_triangulation_3<Tr> &
Incorrect function in copyleft_cgal_extract_cells: extract_cells, Unknown typechain: std::vector<std::vector<uE2EType> > &
Incorrect function in copyleft_cgal_extract_cells: extract_cells_single_component, Unknown typechain: std::vector<std::vector<uE2EType> > &
Incorrect function in copyleft_cgal_half_space_box: half_space_box, Unknown typechain: CGAL::Plane_3<CGAL::Epeck> &,Unknown typechain: Eigen::Matrix<CGAL::Epeck::FT, 8, 3> &,Unknown typechain: Eigen::Matrix<int, 12, 3> &
Incorrect function in copyleft_cgal_half_space_box: half_space_box, Unknown typechain: Eigen::Matrix<CGAL::Epeck::FT, 8, 3> &,Unknown typechain: Eigen::Matrix<int, 12, 3> &
Incorrect function in copyleft_cgal_half_space_box: half_space_box, Unknown typechain: Eigen::Matrix<CGAL::Epeck::FT, 8, 3> &,Unknown typechain: Eigen::Matrix<int, 12, 3> &
Incorrect function in copyleft_cgal_intersect_other: intersect_other, Unknown typechain: igl::copyleft::cgal::RemeshSelfIntersectionsParam &
Incorrect function in copyleft_cgal_mesh_boolean: mesh_boolean, Unknown typechain: igl::MeshBooleanType &
Incorrect function in copyleft_cgal_mesh_boolean: mesh_boolean, Unknown typechain: std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> &,Unknown typechain: std::function<int (const int, const int)> &
Incorrect function in copyleft_cgal_mesh_boolean: mesh_boolean, Unknown typechain: std::vector<DerivedV> &,Unknown typechain: std::vector<DerivedF> &,Unknown typechain: std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> &,Unknown typechain: std::function<int (const int, const int)> &
Incorrect function in copyleft_cgal_mesh_boolean: mesh_boolean, Unknown typechain: std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> &,Unknown typechain: std::function<int (const int, const int)> &
Incorrect function in copyleft_cgal_mesh_boolean: mesh_boolean, Unknown typechain: igl::MeshBooleanType &
Incorrect function in copyleft_cgal_mesh_boolean_type_to_funcs: mesh_boolean_type_to_funcs, Unknown typechain: igl::MeshBooleanType &,Unknown typechain: std::function<int (const Eigen::Matrix<int, 1, Eigen::Dynamic>)> &,Unknown typechain: std::function<int (const int, const int)> &
Incorrect function in copyleft_cgal_mesh_to_cgal_triangle_list: mesh_to_cgal_triangle_list, Unknown typechain: std::vector<CGAL::Triangle_3<Kernel> > &
Incorrect function in copyleft_cgal_mesh_to_polyhedron: mesh_to_polyhedron, Unknown typechain: Polyhedron &
Incorrect function in copyleft_cgal_minkowski_sum: minkowski_sum, Unknown typechain: Eigen::Matrix<sType, 1, sCols, sOptions> &,Unknown typechain: Eigen::Matrix<dType, 1, dCols, dOptions> &,Empty typechain: bool
Incorrect function in copyleft_cgal_minkowski_sum: minkowski_sum, Unknown typechain: Eigen::Matrix<sType, 1, sCols, sOptions> &,Unknown typechain: Eigen::Matrix<dType, 1, dCols, dOptions> &
Incorrect function in copyleft_cgal_order_facets_around_edge: order_facets_around_edge, Unknown typechain: size_t,Unknown typechain: size_t,Unknown typechain: std::vector<int> &,Unknown typechain: bool
Incorrect function in copyleft_cgal_order_facets_around_edge: order_facets_around_edge, Unknown typechain: size_t,Unknown typechain: size_t,Unknown typechain: std::vector<int> &
Incorrect function in copyleft_cgal_order_facets_around_edges: order_facets_around_edges, Unknown typechain: std::vector<std::vector<uE2EType> > &,Unknown typechain: std::vector<std::vector<uE2oEType> > &,Unknown typechain: std::vector<std::vector<uE2CType> > &
Incorrect function in copyleft_cgal_order_facets_around_edges: order_facets_around_edges, Unknown typechain: std::vector<std::vector<uE2EType> > &,Unknown typechain: std::vector<std::vector<uE2oEType> > &,Unknown typechain: std::vector<std::vector<uE2CType> > &
Incorrect function in copyleft_cgal_order_facets_around_edges: order_facets_around_edges, Unknown typechain: std::vector<std::vector<uE2EType> > &,Unknown typechain: std::vector<std::vector<uE2oEType> > &,Unknown typechain: std::vector<std::vector<uE2CType> > &
Incorrect function in copyleft_cgal_outer_element: outer_vertex, Unknown typechain: IndexType &
Incorrect function in copyleft_cgal_outer_element: outer_edge, Unknown typechain: IndexType &,Unknown typechain: IndexType &
Incorrect function in copyleft_cgal_outer_facet: outer_facet, Unknown typechain: IndexType &,Empty typechain: bool &
Incorrect function in copyleft_cgal_outer_facet: outer_facet, Unknown typechain: IndexType &,Empty typechain: bool &
Incorrect function in copyleft_cgal_point_mesh_squared_distance: point_mesh_squared_distance, Unknown typechain: Eigen::VectorXi &
Incorrect function in copyleft_cgal_point_mesh_squared_distance: point_mesh_squared_distance_precompute, Unknown typechain: CGAL::AABB_tree<CGAL::AABB_traits<Kernel, CGAL::AABB_triangle_primitive<Kernel, typename std::vector<CGAL::Triangle_3<Kernel> >::iterator> > > &,Unknown typechain: std::vector<CGAL::Triangle_3<Kernel> > &
Incorrect function in copyleft_cgal_point_mesh_squared_distance: point_mesh_squared_distance, Unknown typechain: CGAL::AABB_tree<CGAL::AABB_traits<Kernel, CGAL::AABB_triangle_primitive<Kernel, typename std::vector<CGAL::Triangle_3<Kernel> >::iterator> > > &,Unknown typechain: std::vector<CGAL::Triangle_3<Kernel> > &,Unknown typechain: Eigen::VectorXi &
Incorrect function in copyleft_cgal_polyhedron_to_mesh: polyhedron_to_mesh, Unknown typechain: Polyhedron &
Incorrect function in copyleft_cgal_projected_delaunay: projected_delaunay, Unknown typechain: CGAL::Triangle_3<Kernel> &,Unknown typechain: std::vector<CGAL::Object> &,Unknown typechain: CGAL::Constrained_triangulation_plus_2<CGAL::Constrained_Delaunay_triangulation_2<Kernel, CGAL::Triangulation_data_structure_2<CGAL::Triangulation_vertex_base_2<Kernel>, CGAL::Constrained_triangulation_face_base_2<Kernel> >, CGAL::Exact_intersections_tag> > &
Incorrect function in copyleft_cgal_propagate_winding_numbers: propagate_winding_numbers, Unknown typechain: std::vector<std::vector<uE2EType> > &,Unknown typechain: size_t,Unknown typechain: size_t
Incorrect function in copyleft_cgal_relabel_small_immersed_cells: relabel_small_immersed_cells, Unknown typechain: size_t,Unknown typechain: size_t,Unknown typechain: FT
Incorrect function in copyleft_cgal_remesh_intersections: remesh_intersections, Unknown typechain: std::vector<CGAL::Triangle_3<Kernel> > &,Unknown typechain: std::map<typename DerivedF::Index, std::vector<std::pair<typename DerivedF::Index, CGAL::Object> > > &,Unknown typechain: std::map<std::pair<typename DerivedF::Index, typename DerivedF::Index>, std::vector<typename DerivedF::Index> > &,Empty typechain: bool
Incorrect function in copyleft_cgal_remesh_intersections: remesh_intersections, Unknown typechain: std::vector<CGAL::Triangle_3<Kernel> > &,Unknown typechain: std::map<typename DerivedF::Index, std::vector<std::pair<typename DerivedF::Index, CGAL::Object> > > &,Unknown typechain: std::map<std::pair<typename DerivedF::Index, typename DerivedF::Index>, std::vector<typename DerivedF::Index> > &
Incorrect function in copyleft_cgal_remesh_self_intersections: remesh_self_intersections, Unknown typechain: igl::copyleft::cgal::RemeshSelfIntersectionsParam &
Incorrect function in copyleft_cgal_signed_distance_isosurface: signed_distance_isosurface, Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double,Unknown typechain: igl::SignedDistanceType
Incorrect function in copyleft_cgal_string_to_mesh_boolean_type: string_to_mesh_boolean_type, Unknown typechain: igl::MeshBooleanType &
Incorrect function in copyleft_cgal_submesh_aabb_tree: submesh_aabb_tree, Unknown typechain: CGAL::AABB_tree<CGAL::AABB_traits<Kernel, CGAL::AABB_triangle_primitive<Kernel, typename std::vector<typename Kernel::Triangle_3>::iterator> > > &,Unknown typechain: std::vector<typename Kernel::Triangle_3> &,Unknown typechain: std::vector<bool> &
Incorrect function in copyleft_comiso_miq: miq, Unknown typechain: double,Unknown typechain: double,Unknown typechain: bool,Unknown typechain: int,Unknown typechain: int,Unknown typechain: bool,Unknown typechain: bool,Unknown typechain: std::vector<int>,Unknown typechain: std::vector<std::vector<int> >
Incorrect function in copyleft_comiso_miq: miq, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 3> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 3> &,Unknown typechain: double,Unknown typechain: double,Unknown typechain: bool,Unknown typechain: int,Unknown typechain: int,Unknown typechain: bool,Unknown typechain: bool,Unknown typechain: std::vector<int>,Unknown typechain: std::vector<std::vector<int> >
Incorrect function in copyleft_comiso_nrosy: nrosy, Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::VectorXi &,Empty typechain: int,Empty typechain: double
Incorrect function in copyleft_comiso_nrosy: nrosy, Unknown typechain: Eigen::VectorXi &,Empty typechain: int
Incorrect function in copyleft_cork_from_cork_mesh: from_cork_mesh, Empty typechain: int &
Incorrect function in copyleft_cork_mesh_boolean: mesh_boolean, Unknown typechain: igl::MeshBooleanType &
Incorrect function in copyleft_cork_to_cork_mesh: to_cork_mesh, Empty typechain: int &
Incorrect function in copyleft_marching_cubes: marching_cubes, Empty typechain: unsigned int,Empty typechain: unsigned int,Empty typechain: unsigned int
Incorrect function in copyleft_progressive_hulls: progressive_hulls, Unknown typechain: size_t
Incorrect function in copyleft_progressive_hulls_cost_and_placement: progressive_hulls_cost_and_placement, Empty typechain: int,Unknown typechain: Eigen::VectorXi &,Empty typechain: double &,Unknown typechain: Eigen::RowVectorXd &
Incorrect function in copyleft_tetgen_mesh_to_tetgenio: mesh_to_tetgenio, Empty typechain: int &,Empty typechain: int &,Empty typechain: int &
Incorrect function in copyleft_tetgen_mesh_with_skeleton: mesh_with_skeleton, Unknown typechain: Eigen::VectorXi &,Empty typechain: int
Incorrect function in copyleft_tetgen_mesh_with_skeleton: mesh_with_skeleton, Unknown typechain: Eigen::VectorXi &,Empty typechain: int
Incorrect function in copyleft_tetgen_read_into_tetgenio: read_into_tetgenio, Empty typechain: int &
Incorrect function in copyleft_tetgen_tetgenio_to_tetmesh: tetgenio_to_tetmesh, Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &
Incorrect function in copyleft_tetgen_tetrahedralize: tetrahedralize, Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &
Incorrect function in covariance_scatter_matrix: covariance_scatter_matrix, Unknown typechain: igl::ARAPEnergyType,Unknown typechain: Eigen::SparseMatrix<double> &
Incorrect function in cross: cross, Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in crouzeix_raviart_massmatrix: crouzeix_raviart_massmatrix, Unknown typechain: Eigen::SparseMatrix<MT> &
Incorrect function in crouzeix_raviart_massmatrix: crouzeix_raviart_massmatrix, Unknown typechain: Eigen::SparseMatrix<MT> &
Incorrect function in cut_mesh: cut_mesh, Unknown typechain: std::vector<std::vector<VFType> > &,Unknown typechain: std::vector<std::vector<VFType> > &,Unknown typechain: std::vector<bool> &
Incorrect function in decimate: decimate, Unknown typechain: size_t
Incorrect function in decimate: decimate, Unknown typechain: std::function<void (const int, const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, double &, Eigen::RowVectorXd &)> &,Unknown typechain: std::function<bool (const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const std::set<std::pair<double, int> > &, const std::vector<std::set<std::pair<double, int> >::iterator> &, const Eigen::MatrixXd &, const int, const int, const int, const int, const int)> &
Incorrect function in deform_skeleton: deform_skeleton, Unknown typechain: std::vector<Eigen::Affine3d, Eigen::aligned_allocator<Eigen::Affine3d> > &
Incorrect function in dijkstra: dijkstra_compute_paths, Unknown typechain: IndexType &,Unknown typechain: std::set<IndexType> &,Unknown typechain: std::vector<std::vector<IndexType> > &
Incorrect function in dijkstra: dijkstra_get_shortest_path_to, Unknown typechain: IndexType &,Unknown typechain: std::vector<IndexType> &
Incorrect function in directed_edge_orientations: directed_edge_orientations, Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &
Incorrect function in dot: dot, Empty typechain: double *,Empty typechain: double *
Incorrect function in dqs: dqs, Unknown typechain: std::vector<Q, QAlloc> &,Unknown typechain: std::vector<T> &
Incorrect function in edge_collapse_is_valid: edge_collapse_is_valid, Empty typechain: int,Unknown typechain: Eigen::VectorXi &
Incorrect function in edge_flaps: edge_flaps, Unknown typechain: Eigen::VectorXi &
Incorrect function in edge_flaps: edge_flaps, Unknown typechain: Eigen::VectorXi &
Incorrect function in eigs: eigs, Unknown typechain: Eigen::SparseMatrix<Atype> &,Unknown typechain: Eigen::SparseMatrix<Btype> &,Unknown typechain: size_t
Incorrect function in embree_bone_heat: bone_heat, Unknown typechain: Eigen::VectorXi &
Incorrect function in example_fun: example_fun, Unknown typechain: Printable &
Incorrect function in extract_manifold_patches: extract_manifold_patches, Unknown typechain: std::vector<std::vector<uE2EType> > &
Incorrect function in extract_non_manifold_edge_curves: extract_non_manifold_edge_curves, Unknown typechain: std::vector<std::vector<uE2EType> > &,Unknown typechain: std::vector<std::vector<size_t> > &
Incorrect function in face_occurrences: face_occurrences, Unknown typechain: std::vector<std::vector<IntegerF> > &,Unknown typechain: std::vector<IntegerC> &
Incorrect function in faces_first: faces_first, Unknown typechain: MatV &,Unknown typechain: MatF &,Unknown typechain: MatV &,Unknown typechain: MatF &,Unknown typechain: VecI &
Incorrect function in faces_first: faces_first, Unknown typechain: MatV &,Unknown typechain: MatF &,Unknown typechain: VecI &
Incorrect function in facet_components: facet_components, Unknown typechain: std::vector<std::vector<std::vector<TTIndex> > > &
Incorrect function in find: find, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, 1> &
Incorrect function in find_cross_field_singularities: find_cross_field_singularities, Unknown typechain: bool
Incorrect function in fit_plane: fit_plane, Unknown typechain: Eigen::RowVector3d &,Unknown typechain: Eigen::RowVector3d &
Incorrect function in fit_rotations: fit_rotations_SSE, Unknown typechain: Eigen::MatrixXf &,Unknown typechain: Eigen::MatrixXf &
Incorrect function in forward_kinematics: forward_kinematics, Unknown typechain: Eigen::VectorXi &,Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &,Unknown typechain: std::vector<Eigen::Vector3d> &,Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &,Unknown typechain: std::vector<Eigen::Vector3d> &
Incorrect function in forward_kinematics: forward_kinematics, Unknown typechain: Eigen::VectorXi &,Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &,Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &,Unknown typechain: std::vector<Eigen::Vector3d> &
Incorrect function in forward_kinematics: forward_kinematics, Unknown typechain: Eigen::VectorXi &,Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &,Unknown typechain: std::vector<Eigen::Vector3d> &
Incorrect function in forward_kinematics: forward_kinematics, Unknown typechain: Eigen::VectorXi &,Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> > &
Incorrect function in frame_field_deformer: frame_field_deformer, Unknown typechain: int,Unknown typechain: double,Unknown typechain: bool
Incorrect function in frustum: frustum, Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar
Incorrect function in grad: grad, Unknown typechain: Eigen::SparseMatrix<typename DerivedV::Scalar> &
Incorrect function in group_sum_matrix: group_sum_matrix, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Empty typechain: int
Incorrect function in group_sum_matrix: group_sum_matrix, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in harwell_boeing: harwell_boeing, Empty typechain: int &,Unknown typechain: std::vector<Scalar> &,Unknown typechain: std::vector<Index> &,Unknown typechain: std::vector<Index> &
Incorrect function in hausdorff: hausdorff, Unknown typechain: Scalar &
Incorrect function in histc: histc, Unknown typechain: typename DerivedE::Scalar &,Unknown typechain: typename DerivedE::Index &
Incorrect function in hsv_to_rgb: hsv_to_rgb, Unknown typechain: T *,Unknown typechain: T *
Incorrect function in hsv_to_rgb: hsv_to_rgb, Unknown typechain: T &,Unknown typechain: T &,Unknown typechain: T &,Unknown typechain: T &,Unknown typechain: T &,Unknown typechain: T &
Incorrect function in in_element: in_element, Unknown typechain: AABB<DerivedV, DIM> &,Unknown typechain: Eigen::VectorXi &
Incorrect function in in_element: in_element, Unknown typechain: AABB<DerivedV, DIM> &
Incorrect function in intersect: intersect, Unknown typechain: M &,Unknown typechain: M &,Unknown typechain: M &
Incorrect function in intersect: intersect, Unknown typechain: M &,Unknown typechain: M &
Incorrect function in is_dir: is_dir, Empty typechain: char *
Incorrect function in is_file: is_file, Empty typechain: char *
Incorrect function in is_readable: is_readable, Empty typechain: char *
Incorrect function in is_symmetric: is_symmetric, Unknown typechain: Eigen::SparseMatrix<AT> &
Incorrect function in is_symmetric: is_symmetric, Unknown typechain: Eigen::SparseMatrix<AT> &,Unknown typechain: epsilonT
Incorrect function in is_writable: is_writable, Empty typechain: char *
Incorrect function in jet: jet, Unknown typechain: T,Unknown typechain: T *
Incorrect function in jet: jet, Unknown typechain: T,Unknown typechain: T &,Unknown typechain: T &,Unknown typechain: T &
Incorrect function in jet: jet, Empty typechain: double,Empty typechain: double
Incorrect function in lbs_matrix: lbs_matrix_column, Unknown typechain: Eigen::SparseMatrix<double> &
Incorrect function in lbs_matrix: lbs_matrix_column, Unknown typechain: Eigen::SparseMatrix<double> &
Incorrect function in lim_lim: lim, Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: int &,Empty typechain: double,Empty typechain: int,Empty typechain: bool
Incorrect function in limit_faces: limit_faces, Unknown typechain: MatF &,Unknown typechain: VecL &,Empty typechain: bool,Unknown typechain: MatF &
Incorrect function in line_segment_in_rectangle: line_segment_in_rectangle, Unknown typechain: Eigen::Vector2d &,Unknown typechain: Eigen::Vector2d &,Unknown typechain: Eigen::Vector2d &,Unknown typechain: Eigen::Vector2d &
Incorrect function in list_to_matrix: list_to_matrix, Unknown typechain: std::vector<std::vector<T> > &
Incorrect function in list_to_matrix: list_to_matrix, Unknown typechain: std::vector<std::vector<T> > &,Empty typechain: int,Unknown typechain: T &
Incorrect function in list_to_matrix: list_to_matrix, Unknown typechain: std::vector<T> &
Incorrect function in lscm: lscm, Unknown typechain: Eigen::VectorXi &
Incorrect function in map_vertices_to_circle: map_vertices_to_circle, Unknown typechain: Eigen::VectorXi &
Incorrect function in mat_max: mat_max, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Empty typechain: int,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in mat_min: mat_min, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Empty typechain: int,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in mat_to_quat: mat4_to_quat, Unknown typechain: Q_type *,Unknown typechain: Q_type *
Incorrect function in mat_to_quat: mat3_to_quat, Unknown typechain: Q_type *,Unknown typechain: Q_type *
Incorrect function in matlab_format: matlab_format, Unknown typechain: Eigen::SparseMatrix<DerivedS> &
Incorrect function in matlab_matlabinterface: mlinit, Empty typechain: int **
Incorrect function in matlab_matlabinterface: mlclose, Empty typechain: int **
Incorrect function in matlab_matlabinterface: mlsetmatrix, Empty typechain: int **
Incorrect function in matlab_matlabinterface: mlgetmatrix, Empty typechain: int **
Incorrect function in matlab_matlabinterface: mlsetscalar, Empty typechain: int **,Empty typechain: double
Incorrect function in matlab_matlabinterface: mlgetscalar, Empty typechain: int **
Incorrect function in matlab_matlabinterface: mleval, Empty typechain: int **
Incorrect function in matlab_mexErrMsgTxt: mexErrMsgTxt, Empty typechain: bool,Empty typechain: char *
Incorrect function in matlab_requires_arg: requires_arg, Empty typechain: int,Empty typechain: int,Empty typechain: char *
Incorrect function in matlab_validate_arg: validate_arg_scalar, Empty typechain: int,Empty typechain: int,Empty typechain: int *[],Empty typechain: char *
Incorrect function in matlab_validate_arg: validate_arg_logical, Empty typechain: int,Empty typechain: int,Empty typechain: int *[],Empty typechain: char *
Incorrect function in matlab_validate_arg: validate_arg_char, Empty typechain: int,Empty typechain: int,Empty typechain: int *[],Empty typechain: char *
Incorrect function in matlab_validate_arg: validate_arg_double, Empty typechain: int,Empty typechain: int,Empty typechain: int *[],Empty typechain: char *
Incorrect function in matlab_validate_arg: validate_arg_function_handle, Empty typechain: int,Empty typechain: int,Empty typechain: int *[],Empty typechain: char *
Incorrect function in matrix_to_list: matrix_to_list, Unknown typechain: std::vector<std::vector<typename DerivedM::Scalar> > &
Incorrect function in matrix_to_list: matrix_to_list, Unknown typechain: std::vector<typename DerivedM::Scalar> &
Incorrect function in max_faces_stopping_condition: max_faces_stopping_condition, Empty typechain: int &,Empty typechain: int,Unknown typechain: std::function<bool (const Eigen::MatrixXd &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const Eigen::VectorXi &, const Eigen::MatrixXi &, const Eigen::MatrixXi &, const std::set<std::pair<double, int> > &, const std::vector<std::set<std::pair<double, int> >::iterator> &, const Eigen::MatrixXd &, const int, const int, const int, const int, const int)> &
Incorrect function in max_faces_stopping_condition: max_faces_stopping_condition, Unknown typechain: Eigen::VectorXi &,Unknown typechain: std::set<std::pair<double, int> > &,Unknown typechain: std::vector<std::set<std::pair<double, int> >::iterator> &,Empty typechain: int,Empty typechain: int,Empty typechain: int,Empty typechain: int,Empty typechain: int,Empty typechain: int &,Empty typechain: int
Incorrect function in max_size: max_size, Unknown typechain: std::vector<T> &
Incorrect function in median: median, Empty typechain: double &
Incorrect function in min_quad_dense: min_quad_dense_precompute, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Empty typechain: bool,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &
Incorrect function in min_size: min_size, Unknown typechain: std::vector<T> &
Incorrect function in mode: mode, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Empty typechain: int,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, 1> &
Incorrect function in mosek_mosek_linprog: mosek_linprog, Unknown typechain: Eigen::SparseMatrix<double> &
Incorrect function in n_polyvector: n_polyvector, Unknown typechain: Eigen::VectorXi &
Incorrect function in n_polyvector_general: n_polyvector_general, Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::VectorXi &
Incorrect function in normalize_quat: normalize_quat, Unknown typechain: Q_type *,Unknown typechain: Q_type *
Incorrect function in on_boundary: on_boundary, Unknown typechain: std::vector<std::vector<IntegerT> > &,Unknown typechain: std::vector<bool> &,Unknown typechain: std::vector<std::vector<bool> > &
Incorrect function in opengl2_draw_floor: draw_floor, Empty typechain: float *,Empty typechain: float *,Unknown typechain: int,Unknown typechain: int
Incorrect function in opengl2_draw_floor: draw_floor_outline, Empty typechain: float *,Empty typechain: float *,Unknown typechain: int,Unknown typechain: int
Incorrect function in opengl2_draw_mesh: draw_mesh, Unknown typechain: GLuint,Unknown typechain: GLuint
Incorrect function in opengl2_draw_mesh: draw_mesh, Unknown typechain: GLuint,Unknown typechain: GLuint
Incorrect function in opengl2_draw_point: draw_point, Empty typechain: double,Empty typechain: double,Empty typechain: double,Unknown typechain: double,Unknown typechain: bool
Incorrect function in opengl2_draw_point: draw_point, Unknown typechain: double,Unknown typechain: bool
Incorrect function in opengl2_draw_skeleton_3d: draw_skeleton_3d, Unknown typechain: double
Incorrect function in opengl2_draw_skeleton_vector_graphics: draw_skeleton_vector_graphics, Empty typechain: float *,Empty typechain: float *
Incorrect function in opengl2_draw_skeleton_vector_graphics: draw_skeleton_vector_graphics, Empty typechain: float *,Empty typechain: float *
Incorrect function in opengl2_print_gl_get: print_gl_get, Unknown typechain: GLenum
Incorrect function in opengl2_project: project, Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_right_axis: right_axis, Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_right_axis: right_axis, Empty typechain: double *,Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_unproject: unproject, Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_unproject_to_zero_plane: unproject_to_zero_plane, Empty typechain: double,Empty typechain: double,Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_up_axis: up_axis, Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_up_axis: up_axis, Empty typechain: double *,Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_view_axis: view_axis, Empty typechain: double *,Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl2_view_axis: view_axis, Empty typechain: double *,Empty typechain: double *,Empty typechain: double *
Incorrect function in opengl_compile_and_link_program: compile_and_link_program, Empty typechain: char *,Empty typechain: char *
Incorrect function in opengl_compile_shader: compile_shader, Unknown typechain: GLint,Empty typechain: char *
Incorrect function in opengl_create_index_vbo: create_index_vbo, Unknown typechain: GLuint &
Incorrect function in opengl_create_mesh_vbo: create_mesh_vbo, Unknown typechain: GLuint &,Unknown typechain: GLuint &
Incorrect function in opengl_create_mesh_vbo: create_mesh_vbo, Unknown typechain: GLuint &,Unknown typechain: GLuint &,Unknown typechain: GLuint &
Incorrect function in opengl_create_shader_program: create_shader_program, Unknown typechain: std::map<std::string, GLuint> &,Unknown typechain: GLuint &
Incorrect function in opengl_create_shader_program: create_shader_program, Unknown typechain: std::map<std::string, GLuint> &,Unknown typechain: GLuint &
Incorrect function in opengl_create_shader_program: create_shader_program, Unknown typechain: std::map<std::string, GLuint> &
Incorrect function in opengl_create_shader_program: create_shader_program, Unknown typechain: std::map<std::string, GLuint> &
Incorrect function in opengl_create_vector_vbo: create_vector_vbo, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: GLuint &
Incorrect function in opengl_destroy_shader_program: destroy_shader_program, Unknown typechain: GLuint
Incorrect function in opengl_gl_type_size: gl_type_size, Unknown typechain: GLenum
Incorrect function in opengl_init_render_to_texture: init_render_to_texture, Unknown typechain: size_t,Unknown typechain: size_t,Unknown typechain: GLuint &,Unknown typechain: GLuint &,Unknown typechain: GLuint &
Incorrect function in opengl_load_shader: load_shader, Empty typechain: char *,Unknown typechain: GLenum
Incorrect function in opengl_print_program_info_log: print_program_info_log, Unknown typechain: GLuint
Incorrect function in opengl_print_shader_info_log: print_shader_info_log, Unknown typechain: GLuint
Incorrect function in opengl_texture_from_tga: texture_from_tga, Unknown typechain: GLuint &
Incorrect function in opengl_uniform_type_to_string: uniform_type_to_string, Unknown typechain: GLenum
Incorrect function in ortho: ortho, Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar,Unknown typechain: typename DerivedP::Scalar
Incorrect function in outer_element: outer_vertex, Unknown typechain: IndexType &
Incorrect function in outer_element: outer_edge, Unknown typechain: IndexType &,Unknown typechain: IndexType &
Incorrect function in outer_element: outer_facet, Unknown typechain: IndexType &,Empty typechain: bool &
Incorrect function in partition: partition, Empty typechain: int,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<double, Eigen::Dynamic, 1> &
Incorrect function in parula: parula, Unknown typechain: T,Unknown typechain: T *
Incorrect function in parula: parula, Unknown typechain: T,Unknown typechain: T &,Unknown typechain: T &,Unknown typechain: T &
Incorrect function in parula: parula, Empty typechain: double,Empty typechain: double
Incorrect function in per_corner_normals: per_corner_normals, Empty typechain: double
Incorrect function in per_corner_normals: per_corner_normals, Empty typechain: double
Incorrect function in per_corner_normals: per_corner_normals, Unknown typechain: std::vector<std::vector<IndexType> > &,Empty typechain: double
Incorrect function in piecewise_constant_winding_number: piecewise_constant_winding_number, Unknown typechain: std::vector<std::vector<uE2EType> > &
Incorrect function in planarize_quad_mesh: planarize_quad_mesh, Empty typechain: int,Empty typechain: double &
Incorrect function in png_texture_from_file: texture_from_file, Unknown typechain: GLuint &
Incorrect function in png_texture_from_png: texture_from_png, Empty typechain: bool,Unknown typechain: GLuint &
Incorrect function in png_texture_from_png: texture_from_png, Unknown typechain: GLuint &
Incorrect function in png_texture_from_png: texture_from_png, Unknown typechain: Eigen::Matrix<char, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: Eigen::Matrix<char, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: Eigen::Matrix<char, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: Eigen::Matrix<char, Eigen::Dynamic, Eigen::Dynamic> &
Incorrect function in point_in_circle: point_in_circle, Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double
Incorrect function in point_in_poly: point_in_poly, Unknown typechain: std::vector<std::vector<unsigned int> > &,Empty typechain: unsigned int,Empty typechain: unsigned int
Incorrect function in point_simplex_squared_distance: point_simplex_squared_distance, Unknown typechain: typename DerivedEle::Index,Unknown typechain: Derivedsqr_d &
Incorrect function in polar_svd3x3: polar_svd3x3, Unknown typechain: Mat &,Unknown typechain: Mat &
Incorrect function in polar_svd3x3: polar_svd3x3_sse, Unknown typechain: Eigen::Matrix<T, 3 * 4, 3> &,Unknown typechain: Eigen::Matrix<T, 3 * 4, 3> &
Incorrect function in polyroots: polyRoots, Unknown typechain: Eigen::Matrix<S, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<std::complex<T>, Eigen::Dynamic, 1> &
Incorrect function in polyvector_field_cut_mesh_with_singularities: polyvector_field_cut_mesh_with_singularities, Unknown typechain: std::vector<std::vector<VFType> > &,Unknown typechain: std::vector<std::vector<VVType> > &
Incorrect function in polyvector_field_singularities_from_matchings: polyvector_field_one_ring_matchings, Unknown typechain: std::vector<std::vector<VFType> > &,Empty typechain: int,Empty typechain: int,Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::VectorXi &
Incorrect function in polyvector_field_singularities_from_matchings: polyvector_field_singularities_from_matchings, Unknown typechain: std::vector<bool> &,Unknown typechain: std::vector<std::vector<VFType> > &
Incorrect function in principal_curvature: principal_curvature, Unknown typechain: unsigned int,Unknown typechain: bool
Incorrect function in print_ijv: print_ijv, Unknown typechain: int
Incorrect function in print_vector: print_vector, Unknown typechain: std::vector<T> &
Incorrect function in print_vector: print_vector, Unknown typechain: std::vector<std::vector<T> > &
Incorrect function in print_vector: print_vector, Unknown typechain: std::vector<std::vector<std::vector<T> > > &
Incorrect function in procrustes: procrustes, Empty typechain: bool,Empty typechain: bool,Unknown typechain: Scalar &
Incorrect function in procrustes: procrustes, Empty typechain: bool,Empty typechain: bool,Unknown typechain: Eigen::Transform<Scalar, DIM, TType> &
Incorrect function in procrustes: procrustes, Unknown typechain: Eigen::Rotation2D<Scalar> &
Incorrect function in project: project, Unknown typechain: Eigen::Matrix<Scalar, 3, 1> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 4> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 4> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 1> &
Incorrect function in project: project, Unknown typechain: Eigen::Matrix<Scalar, 4, 4> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 4> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 1> &
Incorrect function in project_to_line: project_to_line, Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar &,Unknown typechain: Scalar &,Unknown typechain: Scalar &,Unknown typechain: Scalar &,Unknown typechain: Scalar &
Incorrect function in project_to_line: project_to_line, Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar,Unknown typechain: Scalar &,Unknown typechain: Scalar &
Incorrect function in pseudonormal_test: pseudonormal_test, Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::RowVector3d &,Empty typechain: int,Unknown typechain: Eigen::RowVector3d &,Empty typechain: double &,Unknown typechain: Eigen::RowVector3d &
Incorrect function in pseudonormal_test: pseudonormal_test, Unknown typechain: Eigen::RowVector2d &,Empty typechain: int,Unknown typechain: Eigen::RowVector2d &,Empty typechain: double &,Unknown typechain: Eigen::RowVector2d &
Incorrect function in quat_conjugate: quat_conjugate, Unknown typechain: Q_type *,Unknown typechain: Q_type *
Incorrect function in quat_mult: quat_mult, Unknown typechain: Q_type *,Unknown typechain: Q_type *,Unknown typechain: Q_type *
Incorrect function in quat_to_axis_angle: quat_to_axis_angle, Unknown typechain: Q_type *,Unknown typechain: Q_type *,Unknown typechain: Q_type &
Incorrect function in quat_to_axis_angle: quat_to_axis_angle_deg, Unknown typechain: Q_type *,Unknown typechain: Q_type *,Unknown typechain: Q_type &
Incorrect function in quat_to_mat: quat_to_mat, Unknown typechain: Q_type *,Unknown typechain: Q_type *
Incorrect function in quats_to_column: quats_to_column, Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> >
Incorrect function in quats_to_column: quats_to_column, Unknown typechain: std::vector<Eigen::Quaterniond, Eigen::aligned_allocator<Eigen::Quaterniond> >
Incorrect function in random_points_on_mesh: random_points_on_mesh, Empty typechain: int,Unknown typechain: Eigen::SparseMatrix<ScalarB> &
Incorrect function in ray_box_intersect: ray_box_intersect, Unknown typechain: Eigen::AlignedBox<Scalar, 3> &,Unknown typechain: Scalar &,Unknown typechain: Scalar &,Unknown typechain: Scalar &,Unknown typechain: Scalar &
Incorrect function in ray_mesh_intersect: ray_mesh_intersect, Unknown typechain: std::vector<igl::Hit> &
Incorrect function in ray_mesh_intersect: ray_mesh_intersect, Unknown typechain: igl::Hit &
Incorrect function in ray_sphere_intersect: ray_sphere_intersect, Unknown typechain: r_type,Unknown typechain: t_type &,Unknown typechain: t_type &
Incorrect function in readPLY: readPLY, Unknown typechain: std::vector<std::vector<Vtype> > &,Unknown typechain: std::vector<std::vector<Ftype> > &,Unknown typechain: std::vector<std::vector<Ntype> > &,Unknown typechain: std::vector<std::vector<UVtype> > &
Incorrect function in readSTL: readSTL, Unknown typechain: std::vector<std::vector<TypeV> > &,Unknown typechain: std::vector<std::vector<TypeF> > &,Unknown typechain: std::vector<std::vector<TypeN> > &
Incorrect function in readTGF: readTGF, Unknown typechain: std::vector<std::vector<double> > &,Unknown typechain: std::vector<std::vector<int> > &,Unknown typechain: std::vector<int> &,Unknown typechain: std::vector<std::vector<int> > &,Unknown typechain: std::vector<std::vector<int> > &,Unknown typechain: std::vector<std::vector<int> > &
Incorrect function in readTGF: readTGF, Unknown typechain: Eigen::VectorXi &
Incorrect function in remove_duplicate_vertices: remove_duplicate_vertices, Empty typechain: double
Incorrect function in remove_duplicate_vertices: remove_duplicate_vertices, Empty typechain: double
Incorrect function in remove_duplicates: remove_duplicates, Unknown typechain: Eigen::Matrix<typename DerivedF::Scalar, Eigen::Dynamic, 1> &,Unknown typechain: double
Incorrect function in remove_unreferenced: remove_unreferenced, Unknown typechain: size_t
Incorrect function in reorder: reorder, Unknown typechain: std::vector<T> &,Unknown typechain: std::vector<size_t> &,Unknown typechain: std::vector<T> &
Incorrect function in repdiag: repdiag, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Empty typechain: int,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &
Incorrect function in repdiag: repdiag, Unknown typechain: Mat &,Empty typechain: int
Incorrect function in rgb_to_hsv: rgb_to_hsv, Unknown typechain: R *,Unknown typechain: H *
Incorrect function in rotate_by_quat: rotate_by_quat, Unknown typechain: Q_type *,Unknown typechain: Q_type *,Unknown typechain: Q_type *
Incorrect function in rotation_matrix_from_directions: rotation_matrix_from_directions, Unknown typechain: Eigen::Matrix<Scalar, 3, 1>,Unknown typechain: Eigen::Matrix<Scalar, 3, 1>
Incorrect function in round: round, Unknown typechain: DerivedX
Incorrect function in rows_to_matrix: rows_to_matrix, Unknown typechain: std::vector<Row> &,Unknown typechain: Mat &
Incorrect function in signed_distance: signed_distance, Unknown typechain: Eigen::VectorXi &
Incorrect function in signed_distance: signed_distance_pseudonormal, Unknown typechain: AABB<Eigen::MatrixXd, 3> &,Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::RowVector3d &
Incorrect function in signed_distance: signed_distance_pseudonormal, Unknown typechain: AABB<Eigen::MatrixXd, 3> &,Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::VectorXi &
Incorrect function in signed_distance: signed_distance_pseudonormal, Unknown typechain: AABB<Eigen::MatrixXd, 3> &,Unknown typechain: Eigen::VectorXi &,Unknown typechain: Eigen::RowVector3d &,Empty typechain: double &,Empty typechain: double &,Empty typechain: int &,Unknown typechain: Eigen::RowVector3d &,Unknown typechain: Eigen::RowVector3d &
Incorrect function in signed_distance: signed_distance_pseudonormal, Unknown typechain: AABB<Eigen::MatrixXd, 2> &,Unknown typechain: Eigen::RowVector2d &,Empty typechain: double &,Empty typechain: double &,Empty typechain: int &,Unknown typechain: Eigen::RowVector2d &,Unknown typechain: Eigen::RowVector2d &
Incorrect function in signed_distance: signed_distance_winding_number, Unknown typechain: AABB<Eigen::MatrixXd, 3> &,Unknown typechain: igl::WindingNumberAABB<Eigen::Vector3d> &,Unknown typechain: Eigen::RowVector3d &
Incorrect function in slice: slice, Unknown typechain: Eigen::SparseMatrix<TX> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::SparseMatrix<TY> &
Incorrect function in slice: slice, Unknown typechain: MatX &,Empty typechain: int
Incorrect function in slice: slice, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in slice: slice, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in slice: slice, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Empty typechain: int
Incorrect function in slice_into: slice_into, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in slice_into: slice_into, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in slice_into: slice_into, Unknown typechain: Mat &,Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &,Empty typechain: int,Unknown typechain: Mat &
Incorrect function in slice_into: slice_into, Unknown typechain: Eigen::Matrix<int, Eigen::Dynamic, 1> &
Incorrect function in slice_mask: slice_mask, Unknown typechain: Eigen::Array<bool, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Array<bool, Eigen::Dynamic, 1> &
Incorrect function in slice_mask: slice_mask, Unknown typechain: Eigen::Array<bool, Eigen::Dynamic, 1> &,Empty typechain: int
Incorrect function in slice_mask: slice_mask, Unknown typechain: Eigen::Array<bool, Eigen::Dynamic, 1> &,Unknown typechain: Eigen::Array<bool, Eigen::Dynamic, 1> &
Incorrect function in slice_mask: slice_mask, Unknown typechain: Eigen::Array<bool, Eigen::Dynamic, 1> &,Empty typechain: int
Incorrect function in slice_tets: slice_tets, Unknown typechain: Eigen::SparseMatrix<BCType> &
Incorrect function in snap_to_canonical_view_quat: snap_to_canonical_view_quat, Unknown typechain: Q_type *,Unknown typechain: Q_type,Unknown typechain: Q_type *
Incorrect function in snap_to_canonical_view_quat: snap_to_canonical_view_quat, Unknown typechain: Eigen::Quaternion<Scalarq> &,Empty typechain: double,Unknown typechain: Eigen::Quaternion<Scalars> &
Incorrect function in snap_to_fixed_up: snap_to_fixed_up, Unknown typechain: Eigen::Quaternion<Qtype> &,Unknown typechain: Eigen::Quaternion<Qtype> &
Incorrect function in sort: sort, Unknown typechain: std::vector<T> &,Empty typechain: bool,Unknown typechain: std::vector<T> &,Unknown typechain: std::vector<size_t> &
Incorrect function in sparse: sparse, Unknown typechain: IndexVector &,Unknown typechain: IndexVector &,Unknown typechain: ValueVector &
Incorrect function in sparse: sparse, Unknown typechain: IndexVector &,Unknown typechain: IndexVector &,Unknown typechain: ValueVector &,Unknown typechain: size_t,Unknown typechain: size_t
Incorrect function in stdin_to_temp: stdin_to_temp, Unknown typechain: FILE **
Incorrect function in svd3x3: svd3x3, Unknown typechain: Eigen::Matrix<T, 3, 3> &,Unknown typechain: Eigen::Matrix<T, 3, 3> &,Unknown typechain: Eigen::Matrix<T, 3, 1> &,Unknown typechain: Eigen::Matrix<T, 3, 3> &
Incorrect function in svd3x3_avx: svd3x3_avx, Unknown typechain: Eigen::Matrix<T, 3 * 8, 3> &,Unknown typechain: Eigen::Matrix<T, 3 * 8, 3> &,Unknown typechain: Eigen::Matrix<T, 3 * 8, 1> &,Unknown typechain: Eigen::Matrix<T, 3 * 8, 3> &
Incorrect function in svd3x3_sse: svd3x3_sse, Unknown typechain: Eigen::Matrix<T, 3 * 4, 3> &,Unknown typechain: Eigen::Matrix<T, 3 * 4, 3> &,Unknown typechain: Eigen::Matrix<T, 3 * 4, 1> &,Unknown typechain: Eigen::Matrix<T, 3 * 4, 3> &
Incorrect function in trackball: trackball, Empty typechain: double,Empty typechain: double,Unknown typechain: Q_type,Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double,Unknown typechain: Q_type *
Incorrect function in trackball: trackball, Empty typechain: double,Empty typechain: double,Unknown typechain: Q_type,Unknown typechain: Q_type *,Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double,Unknown typechain: Q_type *
Incorrect function in trackball: trackball, Empty typechain: double,Empty typechain: double,Empty typechain: double,Unknown typechain: Eigen::Quaternion<Scalardown_quat> &,Empty typechain: double,Empty typechain: double,Empty typechain: double,Empty typechain: double,Unknown typechain: Eigen::Quaternion<Scalarquat> &
Incorrect function in transpose_blocks: transpose_blocks, Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &,Unknown typechain: size_t,Unknown typechain: size_t,Unknown typechain: Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> &
Incorrect function in two_axis_valuator_fixed_up: two_axis_valuator_fixed_up, Empty typechain: int,Empty typechain: int,Empty typechain: double,Unknown typechain: Eigen::Quaternion<Scalardown_quat> &,Empty typechain: int,Empty typechain: int,Empty typechain: int,Empty typechain: int,Unknown typechain: Eigen::Quaternion<Scalarquat> &
Incorrect function in uniformly_sample_two_manifold: uniformly_sample_two_manifold, Empty typechain: int,Empty typechain: double
Incorrect function in uniformly_sample_two_manifold: uniformly_sample_two_manifold_at_vertices, Empty typechain: int,Empty typechain: double,Unknown typechain: Eigen::VectorXi &
Incorrect function in unique: unique, Unknown typechain: std::vector<T> &,Unknown typechain: std::vector<T> &,Unknown typechain: std::vector<size_t> &,Unknown typechain: std::vector<size_t> &
Incorrect function in unique: unique, Unknown typechain: std::vector<T> &,Unknown typechain: std::vector<T> &
Incorrect function in unique_edge_map: unique_edge_map, Unknown typechain: std::vector<std::vector<uE2EType> > &
Incorrect function in unproject: unproject, Unknown typechain: Eigen::Matrix<Scalar, 3, 1> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 4> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 4> &,Unknown typechain: Eigen::Matrix<Scalar, 4, 1> &
Incorrect function in unproject_in_mesh: unproject_in_mesh, Unknown typechain: Eigen::Vector2f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Vector4f &,Unknown typechain: std::vector<igl::Hit> &
Incorrect function in unproject_in_mesh: unproject_in_mesh, Unknown typechain: Eigen::Vector2f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Vector4f &,Unknown typechain: std::function<void (const Eigen::Vector3f &, const Eigen::Vector3f &, std::vector<igl::Hit> &)> &,Unknown typechain: std::vector<igl::Hit> &
Incorrect function in unproject_in_mesh: unproject_in_mesh, Unknown typechain: Eigen::Vector2f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Vector4f &
Incorrect function in unproject_onto_mesh: unproject_onto_mesh, Unknown typechain: Eigen::Vector2f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Vector4f &,Empty typechain: int &
Incorrect function in unproject_onto_mesh: unproject_onto_mesh, Unknown typechain: Eigen::Vector2f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Matrix4f &,Unknown typechain: Eigen::Vector4f &,Unknown typechain: std::function<bool (const Eigen::Vector3f &, const Eigen::Vector3f &, igl::Hit &)> &,Empty typechain: int &
Incorrect function in unzip_corners: unzip_corners, Unknown typechain: std::vector<std::reference_wrapper<DerivedA> > &
Incorrect function in upsample: upsample, Unknown typechain: MatV &,Unknown typechain: MatF &
Incorrect function in verbose: verbose, Empty typechain: char *
Incorrect function in verbose: verbose, Empty typechain: char *
Incorrect function in volume: volume_single, Unknown typechain: VecA &,Unknown typechain: VecB &,Unknown typechain: VecC &,Unknown typechain: VecD &
Incorrect function in winding_number: winding_number_3, Unknown typechain: Scalar *,Empty typechain: int,Unknown typechain: DerivedF *,Empty typechain: int,Unknown typechain: Scalar *,Empty typechain: int,Unknown typechain: Scalar *
Incorrect function in winding_number: winding_number_2, Empty typechain: double *,Empty typechain: int,Unknown typechain: DerivedF *,Empty typechain: int,Empty typechain: double *,Empty typechain: int,Empty typechain: double *
Incorrect function in writeDMAT: writeDMAT, Unknown typechain: Mat &,Unknown typechain: bool
Incorrect function in writeDMAT: writeDMAT, Unknown typechain: std::vector<std::vector<Scalar> >
Incorrect function in writeDMAT: writeDMAT, Unknown typechain: std::vector<Scalar>
Incorrect function in writePLY: writePLY, Unknown typechain: bool
Incorrect function in writePLY: writePLY, Unknown typechain: bool
Incorrect function in writeSTL: writeSTL, Unknown typechain: bool
Incorrect function in writeSTL: writeSTL, Unknown typechain: bool
Incorrect function in writeTGF: writeTGF, Unknown typechain: std::vector<std::vector<double> > &,Unknown typechain: std::vector<std::vector<int> > &
Incorrect function in write_triangle_mesh: write_triangle_mesh, Unknown typechain: bool
Incorrect function in xml_write_triangle_mesh: write_triangle_mesh, Unknown typechain: bool
missing: 45
No cpp source file for function ARAPEnergyType found.
No cpp source file for function C_STR found.
No cpp source file for function Camera found.
No cpp source file for function ConjugateFFSolverData found.
No cpp source file for function HalfEdgeIterator found.
No cpp source file for function Hit found.
No cpp source file for function IndexComparison found.
No cpp source file for function MeshBooleanType found.
No cpp source file for function NormalType found.
No cpp source file for function ONE found.
No cpp source file for function PI found.
No cpp source file for function REDRUM found.
No cpp source file for function STR found.
No cpp source file for function SolverStatus found.
No cpp source file for function SortableRow found.
No cpp source file for function Timer found.
No cpp source file for function Viewport found.
No cpp source file for function WindingNumberAABB found.
No cpp source file for function WindingNumberMethod found.
No cpp source file for function WindingNumberTree found.
No cpp source file for function ZERO found.
No cpp source file for function copyleft_cgal_BinaryWindingNumberOperations found.
No cpp source file for function copyleft_cgal_CSGTree found.
No cpp source file for function copyleft_cgal_RemeshSelfIntersectionsParam found.
No cpp source file for function copyleft_cgal_SelfIntersectMesh found.
No cpp source file for function copyleft_marching_cubes_tables found.
No cpp source file for function deprecated found.
No cpp source file for function embree_EmbreeIntersector found.
No cpp source file for function embree_Embree_convenience found.
No cpp source file for function igl_inline found.
No cpp source file for function material_colors found.
No cpp source file for function matlab_MatlabWorkspace found.
No cpp source file for function matlab_MexStream found.
No cpp source file for function opengl2_MouseController found.
No cpp source file for function opengl2_RotateWidget found.
No cpp source file for function opengl2_TranslateWidget found.
No cpp source file for function opengl2_flare_textures found.
No cpp source file for function opengl2_shine_textures found.
No cpp source file for function opengl_OpenGL_convenience found.
No cpp source file for function ply found.
No cpp source file for function serialize found.
No cpp source file for function verbose found.
No cpp source file for function viewer_ViewerPlugin found.
No cpp source file for function xml_ReAntTweakBarXMLSerialization found.
No cpp source file for function xml_XMLSerializable found.
others: 48
Function AABB contains classes/structs in cpp header. Skipping
Function Camera contains classes/structs in cpp header. Skipping
Function ConjugateFFSolverData contains classes/structs in cpp header. Skipping
Function HalfEdgeIterator contains classes/structs in cpp header. Skipping
Function Hit contains classes/structs in cpp header. Skipping
Function IndexComparison contains classes/structs in cpp header. Skipping
Function SortableRow contains classes/structs in cpp header. Skipping
Function Timer contains classes/structs in cpp header. Skipping
Function Viewport contains classes/structs in cpp header. Skipping
Function WindingNumberAABB contains classes/structs in cpp header. Skipping
Function WindingNumberTree contains classes/structs in cpp header. Skipping
Function active_set contains classes/structs in cpp header. Skipping
Function angle_bound_frame_fields contains classes/structs in cpp header. Skipping
Function anttweakbar_ReAntTweakBar contains classes/structs in cpp header. Skipping
Function arap contains classes/structs in cpp header. Skipping
Function arap_dof contains classes/structs in cpp header. Skipping
Function bbw_bbw contains classes/structs in cpp header. Skipping
Function conjugate_frame_fields contains classes/structs in cpp header. Skipping
Function copyleft_cgal_BinaryWindingNumberOperations contains classes/structs in cpp header. Skipping
Function copyleft_cgal_CSGTree contains classes/structs in cpp header. Skipping
Function copyleft_cgal_RemeshSelfIntersectionsParam contains classes/structs in cpp header. Skipping
Function copyleft_cgal_SelfIntersectMesh contains classes/structs in cpp header. Skipping
Function copyleft_tetgen_cdt contains classes/structs in cpp header. Skipping
Function embree_EmbreeIntersector contains classes/structs in cpp header. Skipping
Function embree_ambient_occlusion contains classes/structs in cpp header. Skipping
Function embree_unproject_in_mesh contains classes/structs in cpp header. Skipping
Function embree_unproject_onto_mesh contains classes/structs in cpp header. Skipping
Function integrable_polyvector_fields contains classes/structs in cpp header. Skipping
Function matlab_MatlabWorkspace contains classes/structs in cpp header. Skipping
Function matlab_MexStream contains classes/structs in cpp header. Skipping
Function min_quad_with_fixed contains classes/structs in cpp header. Skipping
Function mosek_mosek_quadprog contains classes/structs in cpp header. Skipping
Function opengl2_MouseController contains classes/structs in cpp header. Skipping
Function opengl2_RotateWidget contains classes/structs in cpp header. Skipping
Function opengl2_TranslateWidget contains classes/structs in cpp header. Skipping
Function opengl2_lens_flare contains classes/structs in cpp header. Skipping
Function opengl_tga contains classes/structs in cpp header. Skipping
Function ply contains classes/structs in cpp header. Skipping
Function serialize contains classes/structs in cpp header. Skipping
Function viewer_OpenGL_shader contains classes/structs in cpp header. Skipping
Function viewer_OpenGL_state contains classes/structs in cpp header. Skipping
Function viewer_Viewer contains classes/structs in cpp header. Skipping
Function viewer_ViewerCore contains classes/structs in cpp header. Skipping
Function viewer_ViewerData contains classes/structs in cpp header. Skipping
Function viewer_ViewerPlugin contains classes/structs in cpp header. Skipping
Function xml_ReAntTweakBarXMLSerialization contains classes/structs in cpp header. Skipping
Function xml_XMLSerializable contains classes/structs in cpp header. Skipping
Function xml_serialize_xml contains classes/structs in cpp header. Skipping
render: 0
various: 22
Function without pars in EPS: EPS,
Function without pars in EPS: EPS_SQ,
Function without pars in EPS: EPS,
Function without pars in EPS: EPS,
Function without pars in EPS: EPS_SQ,
Function without pars in EPS: EPS_SQ,
Function without pars in barycentric_to_global: barycentric_to_global,
Function without pars in dot_row: dot_row,
Function without pars in embree_line_mesh_intersection: line_mesh_intersection,
Function without pars in file_dialog_open: file_dialog_open,
Function without pars in file_dialog_save: file_dialog_save,
Function without pars in get_seconds: get_seconds,
Function without pars in get_seconds_hires: get_seconds_hires,
Function without pars in matlab_format: matlab_format,
Function without pars in mosek_mosek_guarded: mosek_guarded,
Function without pars in opengl2_draw_beach_ball: draw_beach_ball,
Function without pars in opengl2_draw_floor: draw_floor,
Function without pars in opengl2_draw_floor: draw_floor_outline,
Function without pars in opengl_report_gl_error: report_gl_error,
Function without pars in path_to_executable: path_to_executable,
Function without pars in random_dir: random_dir,
Function without pars in random_quaternion: random_quaternion,
+470
View File
@@ -0,0 +1,470 @@
complete: 135
ARAPEnergyType
MeshBooleanType
NormalType
SolverStatus
WindingNumberMethod
adjacency_matrix
all_edges
anttweakbar_cocoa_key_to_anttweakbar_key
average_onto_vertices
avg_edge_length
barycenter
barycentric_coordinates
basename
bone_parents
bounding_box
bounding_box_diagonal
canonical_quaternions
ceil
columnize
comb_cross_field
comb_frame_field
comb_line_field
compute_frame_field_bisectors
copyleft_cgal_component_inside_component
copyleft_cgal_intersect_with_half_space
copyleft_cgal_outer_hull
copyleft_cgal_peel_outer_hull_layers
copyleft_cgal_peel_winding_number_layers
copyleft_cgal_piecewise_constant_winding_number
copyleft_cgal_points_inside_component
copyleft_quadprog
cotmatrix
cotmatrix_entries
cross_field_missmatch
cumsum
cut_mesh_from_singularities
dated_copy
diag
dihedral_angles
directed_edge_parents
dirname
doublearea
edge_lengths
edge_topology
edges
embree_reorient_facets_raycast
exterior_edges
face_areas
false_barycentric_subdivision
field_local_global_conversions
file_contents_as_string
file_exists
floor
frame_to_cross_field
gaussian_curvature
harmonic
internal_angles
invert_diag
is_border_vertex
is_boundary_edge
is_edge_manifold
is_irregular_vertex
is_planar
is_sparse
is_vertex_manifold
launch_medit
line_field_missmatch
linprog
local_basis
look_at
massmatrix
mod
mvc
nchoosek
next_filename
normal_derivative
normalize_row_lengths
normalize_row_sums
null
opengl2_draw_rectangular_marquee
opengl2_model_proj_viewport
opengl2_sort_triangles
opengl_render_to_tga
opengl_report_gl_error
orient_outward
orth
parallel_transport_angles
pathinfo
per_edge_normals
per_face_normals
per_vertex_attribute_smoothing
per_vertex_normals
point_mesh_squared_distance
polar_dec
polar_svd
polygon_mesh_to_triangle_mesh
polyvector_field_comb_from_matchings_and_cuts
polyvector_field_matchings
polyvector_field_poisson_reconstruction
project_isometrically_to_plane
project_to_line_segment
quad_planarity
random_dir
randperm
readBF
readDMAT
readMESH
readNODE
readOBJ
readOFF
readWRL
read_triangle_mesh
repmat
resolve_duplicated_faces
rotate_vectors
sample_edges
setdiff
snap_points
sort_angles
sort_triangles
sort_vectors_ccw
sortrows
speye
sum
triangle_fan
triangles_from_strip
unique_simplices
unproject_ray
vector_area_matrix
writeBF
writeMESH
writeOBJ
writeOFF
writeWRL
xml_writeDAE
empty: 10
C_STR
REDRUM
STR
copyleft_marching_cubes_tables
deprecated
embree_Embree_convenience
igl_inline
opengl_OpenGL_convenience
viewer_TextRenderer
viewer_TextRenderer_fonts
errors: 203
EPS
ONE
PI
ZERO
all_pairs_distances
angular_distance
any_of
arap_linear_block
arap_rhs
average_onto_faces
axis_angle_to_quat
barycentric_to_global
bfs_orient
biharmonic_coordinates
boundary_conditions
circulation
collapse_edge
collapse_small_triangles
colon
column_to_quats
copyleft_cgal_assign_scalar
copyleft_cgal_cell_adjacency
copyleft_cgal_closest_facet
copyleft_cgal_complex_to_mesh
copyleft_cgal_half_space_box
copyleft_cgal_mesh_boolean_type_to_funcs
copyleft_cgal_mesh_to_cgal_triangle_list
copyleft_cgal_mesh_to_polyhedron
copyleft_cgal_order_facets_around_edge
copyleft_cgal_order_facets_around_edges
copyleft_cgal_outer_element
copyleft_cgal_outer_facet
copyleft_cgal_point_mesh_squared_distance
copyleft_cgal_polyhedron_to_mesh
copyleft_cgal_projected_delaunay
copyleft_cgal_relabel_small_immersed_cells
copyleft_cgal_remesh_intersections
copyleft_cgal_remesh_self_intersections
copyleft_cgal_signed_distance_isosurface
copyleft_cgal_submesh_aabb_tree
copyleft_comiso_frame_field
copyleft_comiso_miq
copyleft_comiso_nrosy
copyleft_cork_from_cork_mesh
copyleft_cork_mesh_boolean
copyleft_cork_to_cork_mesh
copyleft_marching_cubes
copyleft_progressive_hulls
copyleft_progressive_hulls_cost_and_placement
copyleft_tetgen_mesh_to_tetgenio
copyleft_tetgen_mesh_with_skeleton
copyleft_tetgen_read_into_tetgenio
copyleft_tetgen_tetgenio_to_tetmesh
covariance_scatter_matrix
crouzeix_raviart_massmatrix
decimate
dijkstra
directed_edge_orientations
dot
dot_row
dqs
edge_collapse_is_valid
edge_flaps
eigs
embree_bone_heat
embree_bone_visible
embree_line_mesh_intersection
example_fun
extract_manifold_patches
extract_non_manifold_edge_curves
face_occurrences
faces_first
file_dialog_open
file_dialog_save
fit_plane
forward_kinematics
frame_field_deformer
frustum
get_seconds
get_seconds_hires
grad
group_sum_matrix
harwell_boeing
hausdorff
in_element
intersect
is_dir
is_file
is_readable
is_writable
lim_lim
limit_faces
line_segment_in_rectangle
list_to_matrix
lscm
map_vertices_to_circle
mat_max
mat_min
mat_to_quat
material_colors
matlab_matlabinterface
matlab_mexErrMsgTxt
matlab_parse_rhs
matlab_prepare_lhs
matlab_requires_arg
matlab_validate_arg
max_faces_stopping_condition
max_size
median
min_quad_dense
min_size
mode
mosek_mosek_guarded
mosek_mosek_linprog
n_polyvector
n_polyvector_general
normalize_quat
opengl2_draw_beach_ball
opengl2_draw_floor
opengl2_draw_point
opengl2_flare_textures
opengl2_print_gl_get
opengl2_right_axis
opengl2_shine_textures
opengl2_up_axis
opengl_compile_and_link_program
opengl_compile_shader
opengl_create_index_vbo
opengl_create_mesh_vbo
opengl_create_shader_program
opengl_create_vector_vbo
opengl_destroy_shader_program
opengl_gl_type_size
opengl_init_render_to_texture
opengl_load_shader
opengl_print_program_info_log
opengl_print_shader_info_log
opengl_texture_from_tga
opengl_uniform_type_to_string
orientable_patches
ortho
outer_element
partition
path_to_executable
per_corner_normals
planarize_quad_mesh
png_render_to_png
png_render_to_png_async
png_texture_from_file
png_texture_from_png
point_in_circle
point_in_poly
point_simplex_squared_distance
polar_svd3x3
polyroots
principal_curvature
print_ijv
print_vector
project
pseudonormal_test
quat_conjugate
quat_mult
quat_to_axis_angle
quat_to_mat
quats_to_column
random_quaternion
ray_box_intersect
ray_mesh_intersect
ray_sphere_intersect
readCSV
remove_duplicate_vertices
remove_duplicates
reorder
rotate_by_quat
rotation_matrix_from_directions
rows_to_matrix
signed_distance
slice_into
slice_mask
slice_tets
snap_to_canonical_view_quat
snap_to_fixed_up
stdin_to_temp
svd3x3
svd3x3_avx
svd3x3_sse
trackball
transpose_blocks
triangle_triangle_adjacency
triangle_triangulate
two_axis_valuator_fixed_up
uniformly_sample_two_manifold
unique_edge_map
unproject_in_mesh
unproject_onto_mesh
unzip_corners
verbose
vertex_triangle_adjacency
writeDMAT
writePLY
writeSTL
write_triangle_mesh
xml_write_triangle_mesh
others: 48
AABB
Camera
ConjugateFFSolverData
HalfEdgeIterator
Hit
IndexComparison
SortableRow
Timer
Viewport
WindingNumberAABB
WindingNumberTree
active_set
angle_bound_frame_fields
anttweakbar_ReAntTweakBar
arap
arap_dof
bbw_bbw
conjugate_frame_fields
copyleft_cgal_BinaryWindingNumberOperations
copyleft_cgal_CSGTree
copyleft_cgal_RemeshSelfIntersectionsParam
copyleft_cgal_SelfIntersectMesh
copyleft_tetgen_cdt
embree_EmbreeIntersector
embree_ambient_occlusion
embree_unproject_in_mesh
embree_unproject_onto_mesh
integrable_polyvector_fields
matlab_MatlabWorkspace
matlab_MexStream
min_quad_with_fixed
mosek_mosek_quadprog
opengl2_MouseController
opengl2_RotateWidget
opengl2_TranslateWidget
opengl2_lens_flare
opengl_tga
ply
serialize
viewer_OpenGL_shader
viewer_OpenGL_state
viewer_Viewer
viewer_ViewerCore
viewer_ViewerData
viewer_ViewerPlugin
xml_ReAntTweakBarXMLSerialization
xml_XMLSerializable
xml_serialize_xml
partial: 59
adjacency_list
ambient_occlusion
boundary_facets
boundary_loop
cat
centroid
components
copyleft_cgal_extract_cells
copyleft_cgal_intersect_other
copyleft_cgal_mesh_boolean
copyleft_cgal_minkowski_sum
copyleft_cgal_propagate_winding_numbers
copyleft_cgal_string_to_mesh_boolean_type
copyleft_tetgen_tetrahedralize
cross
cut_mesh
deform_skeleton
facet_components
find
find_cross_field_singularities
fit_rotations
histc
hsv_to_rgb
is_symmetric
jet
lbs_matrix
matlab_format
matrix_to_list
on_boundary
opengl2_draw_mesh
opengl2_draw_skeleton_3d
opengl2_draw_skeleton_vector_graphics
opengl2_project
opengl2_unproject
opengl2_unproject_to_zero_plane
opengl2_view_axis
parula
piecewise_constant_winding_number
polyvector_field_cut_mesh_with_singularities
polyvector_field_singularities_from_matchings
procrustes
project_to_line
random_points_on_mesh
readPLY
readSTL
readTGF
remove_unreferenced
repdiag
rgb_to_hsv
round
slice
sort
sparse
unique
unproject
upsample
volume
winding_number
writeTGF
+298
View File
@@ -0,0 +1,298 @@
#!/usr/bin/env python3
#
# Syntax: generate_docstrings.py <path_to_c++_header_files> <path_to_python_files>
#
# Extract documentation from C++ header files to use it in libiglPython bindings
#
import os, sys, glob
import pickle
import shutil
from joblib import Parallel, delayed
from multiprocessing import cpu_count
from mako.template import Template
from parser import parse
# http://stackoverflow.com/questions/3207219/how-to-list-all-files-of-a-directory-in-python
def get_filepaths(directory):
"""
This function will generate the file names in a directory
tree by walking the tree either top-down or bottom-up. For each
directory in the tree rooted at directory top (including top itself),
it yields a 3-tuple (dirpath, dirnames, filenames).
"""
file_paths = [] # List which will store all of the full filepaths.
# Walk the tree.
for root, directories, files in os.walk(directory):
for filename in files:
# Join the two strings in order to form the full filepath.
filepath = os.path.join(root, filename)
file_paths.append(filepath) # Add it to the list.
return file_paths # Self-explanatory.
def get_name_from_path(path, basepath, prefix, postfix):
f_clean = path[len(basepath):]
f_clean = f_clean.replace(basepath, "")
f_clean = f_clean.replace(postfix, "")
f_clean = f_clean.replace(prefix, "")
f_clean = f_clean.replace("/", "_")
f_clean = f_clean.replace("\\", "_")
f_clean = f_clean.replace(" ", "_")
f_clean = f_clean.replace(".", "_")
return f_clean
def map_parameter_types(name, cpp_type, parsed_types, errors, enum_types):
# TODO Replace with proper regex matching and derive types from templates, comment parsing, names in cpp files
# CAUTION: This is work in progress mapping code to get a grip of the problem
# Types to map
# const int dim -> const int& dim ?
result = []
if cpp_type.startswith("const"):
result.append("const ")
cpp_type = cpp_type[6:] # Strip const part
# Handle special types
skip_parsing = False
if cpp_type.startswith("MatY"):
result.append("Eigen::SparseMatrix<double>&")
skip_parsing = True
if cpp_type == "std::vector<std::vector<Scalar> > &":
result.append("std::vector<std::vector<double> > &")
skip_parsing = True
if cpp_type == "std::vector<std::vector<Index> > &":
result.append("std::vector<std::vector<int> > &")
skip_parsing = True
for constant in enum_types:
if cpp_type.endswith(constant):
result.append(cpp_type)
skip_parsing = True
if len(parsed_types) == 0:
errors.append("Empty typechain: %s" % cpp_type)
if cpp_type == "int" or cpp_type == "bool":
return cpp_type, True
else:
return cpp_type, False
# print(parsed_types, cpp_type)
if not skip_parsing:
for i, t in enumerate(parsed_types):
if t == "Eigen":
result.append("Eigen::")
continue
if t == "std":
result.append("std::")
continue
if t == "PlainObjectBase" or t == "MatrixBase":
if name == "F":
result.append("MatrixXi&")
elif name == "V":
result.append("MatrixXd&")
else:
result.append("MatrixXd&")
break
if t == "MatrixXi":
result.append("MatrixXi&")
break
if t == "MatrixXd" or t == "VectorXd":
result.append("MatrixXd&")
break
if t == "SparseMatrix" and len(parsed_types) >= i + 2 and (
parsed_types[i + 1] == "Scalar" or parsed_types[i + 1] == "T"):
result.append("SparseMatrix<double>&")
break
if t == "SparseVector" and len(parsed_types) >= i + 2 and (parsed_types[i + 1] == "Scalar" or parsed_types[
i + 1] == "T"):
result.append("SparseMatrix<double>&")
break
if t == "bool" or t == "int" or t == "double" or t == "unsigned" or t == "string":
if cpp_type.endswith("&"):
result.append(t + " &")
else:
result.append(t)
break
else:
errors.append("Unknown typechain: %s" % cpp_type)
return cpp_type, False
return "".join(result), True
if __name__ == '__main__':
if len(sys.argv) != 2:
print('Syntax: %s <path_to_c++_files>' % sys.argv[0])
exit(-1)
errors = {"missing": [], "empty": [], "others": [], "incorrect": [], "render": [], "various": []}
files = {"complete": [], "partial": [], "errors": [], "others": [], "empty": []}
# List all files in the given folder and subfolders
cpp_base_path = sys.argv[1]
cpp_file_paths = get_filepaths(cpp_base_path)
# Add all the .h filepaths to a dict
print("Collecting cpp files for parsing...")
mapping = {}
cppmapping = {}
for f in cpp_file_paths:
if f.endswith(".h"):
name = get_name_from_path(f, cpp_base_path, "", ".h")
mapping[name] = f
if f.endswith(".cpp"):
name = get_name_from_path(f, cpp_base_path, "", ".cpp")
cppmapping[name] = f
# Add all python binding files to a list
implemented_names = list(mapping.keys()) # ["point_mesh_squared_distance"]
implemented_names.sort()
single_postfix = ""
single_prefix = ""
# Create a list of all cpp header files
files_to_parse = []
cppfiles_to_parse = []
for n in implemented_names:
files_to_parse.append(mapping[n])
if n not in cppmapping:
errors["missing"].append("No cpp source file for function %s found." % n)
else:
cppfiles_to_parse.append(cppmapping[n])
# Parse c++ header files
print("Parsing header files...")
load_headers = False
if load_headers:
with open("headers.dat", 'rb') as fs:
dicts = pickle.load(fs)
else:
job_count = cpu_count()
dicts = Parallel(n_jobs=job_count)(delayed(parse)(path) for path in files_to_parse)
if not load_headers:
print("Saving parsed header files...")
with open("headers.dat", 'wb') as fs:
pickle.dump(dicts, fs)
# Not yet needed, as explicit template parsing does not seem to be supported in clang
# Parse c++ source files
# cppdicts = Parallel(n_jobs=job_count)(delayed(parse)(path) for path in cppfiles_to_parse)
# Change directory to become independent of execution directory
print("Generating directory tree for binding files...")
path = os.path.dirname(__file__)
if path != "":
os.chdir(path)
shutil.rmtree("generated")
os.makedirs("generated/complete")
os.mkdir("generated/partial")
print("Generating and writing binding files...")
for idx, n in enumerate(implemented_names):
d = dicts[idx]
contained_elements = sum(map(lambda x: len(x), d.values()))
# Skip files that don't contain functions/enums/classes
if contained_elements == 0:
errors["empty"].append("Function %s contains no parseable content in cpp header. Something might be wrong." % n)
files["empty"].append(n)
continue
# Add functions with classes to others
if len(d["classes"]) != 0 or len(d["structs"]) != 0:
errors["others"].append("Function %s contains classes/structs in cpp header. Skipping" % n)
files["others"].append(n)
continue
# Work on files that contain only functions/enums and namespaces
if len(d["functions"]) + len(d["namespaces"]) + len(d["enums"]) == contained_elements:
correct_functions = []
incorrect_functions = []
# Collect enums to generate binding files
enums = []
enum_types = []
for e in d["enums"]:
enums.append({"name": e.name, "namespaces": d["namespaces"], "constants": e.constants})
enum_types.append(e.name)
# Collect functions to generate binding files
for f in d["functions"]:
parameters = []
correct_function = True
f_errors = []
for p in f.parameters:
typ, correct = map_parameter_types(p[0], p[1], p[2], f_errors, enum_types)
correct_function &= correct
parameters.append({"name": p[0], "type": typ})
if correct_function and len(parameters) > 0: #TODO add constants like EPS
correct_functions.append({"parameters": parameters, "namespaces": d["namespaces"], "name": f.name})
elif len(parameters) > 0:
incorrect_functions.append({"parameters": parameters, "namespaces": d["namespaces"], "name": f.name})
errors["incorrect"].append("Incorrect function in %s: %s, %s\n" % (n, f.name, ",".join(f_errors)))
else:
errors["various"].append("Function without pars in %s: %s, %s\n" % (n, f.name, ","
"".join(f_errors)))
# Write binding files
try:
tpl = Template(filename='basic_function.mako')
rendered = tpl.render(functions=correct_functions, enums=enums)
tpl1 = Template(filename='basic_function.mako')
rendered1 = tpl.render(functions=incorrect_functions, enums=enums)
path = "generated/"
if len(incorrect_functions) == 0 and (len(correct_functions) != 0 or len(enums) != 0):
path += "complete/"
with open(path + single_prefix + "py_" + n + ".cpp", 'w') as fs:
fs.write(rendered)
files["complete"].append(n)
else:
path += "partial/"
with open(path + single_prefix + "py_" + n + ".cpp", 'w') as fs:
fs.write("// COMPLETE BINDINGS ========================\n")
fs.write(rendered)
fs.write("\n\n\n\n// INCOMPLETE BINDINGS ========================\n")
fs.write(rendered1)
if len(correct_functions) != 0:
files["partial"].append(n)
else:
files["errors"].append(n)
except Exception as e:
files["errors"].append(n)
errors["render"].append("Template rendering failed:" + n + " " + str(correct_functions) + ", incorrect "
"functions are " + str(
incorrect_functions) + str(e) + "\n")
print("Writing error and overview files...")
with open("errors.txt" + single_postfix, 'w') as fs:
l = list(errors.keys())
l.sort()
for k in l:
fs.write("%s: %i \n" %(k, len(errors[k])))
fs.writelines("\n".join(errors[k]))
fs.write("\n\n\n")
with open("files.txt" + single_postfix, 'w') as fs:
l = list(files.keys())
l.sort()
for k in l:
fs.write("%s: %i \n" %(k, len(files[k])))
fs.writelines("\n".join(files[k]))
fs.write("\n\n\n")
+4 -4
View File
@@ -87,16 +87,16 @@ if __name__ == '__main__':
cpplines = []
for idx, n in enumerate(implemented_names):
dict = dicts[idx]
contained_elements = sum(map(lambda x: len(x), dict.values()))
d = dicts[idx]
contained_elements = sum(map(lambda x: len(x), d.values()))
# Check for files that don't contain functions/enums/classes
if contained_elements == 0:
print("Function %s contains no parseable content in cpp header. Something might be wrong." % n)
continue
else:
names = []
namespaces = "_".join(dict["namespaces"]) # Assumption that all entities lie in deepest namespace
for f in dict["functions"]:
namespaces = "_".join(d["namespaces"]) # Assumption that all entities lie in deepest namespace
for f in d["functions"]:
h_string = "extern const char *__doc_" + namespaces + "_" + f.name + ";\n"
docu_string = "See " + f.name + " for the documentation."
if f.documentation != "":
+50 -39
View File
@@ -3,10 +3,16 @@ import os
from threading import Thread
import clang.cindex
import ccsyspath
import itertools
from mako.template import Template
def get_annotations(node):
return [c.displayname for c in node.get_children()
if c.kind == clang.cindex.CursorKind.ANNOTATE_ATTR]
@@ -17,33 +23,33 @@ class Function(object):
self.name = cursor.spelling
self.annotations = get_annotations(cursor)
self.access = cursor.access_specifier
# template_pars = [c.extent for c in cursor.get_children() if c.kind == clang.cindex.CursorKind.TEMPLATE_TYPE_PARAMETER]
# parameter_dec = [c for c in cursor.get_children() if c.kind == clang.cindex.CursorKind.PARM_DECL]
# print(parameter_dec, template_pars)
# print(cursor.get_num_template_arguments(), cursor.get_template_argument_type(0), cursor.get_template_argument_value(0), template_pars, parameter_dec)
self.parameters = []
self.parnames = []
# template_pars = [c.extent for c in cursor.get_children() if c.kind == clang.cindex.CursorKind.TEMPLATE_TYPE_PARAMETER]
parameter_dec = [c for c in cursor.get_children() if c.kind == clang.cindex.CursorKind.PARM_DECL]
parameters = []
for p in parameter_dec:
children = []
for c in p.get_children():
# print(c.spelling)
children.append(c.spelling)
parameters.append((p.spelling, p.type.spelling, children))
self.parameters = parameters
self.documentation = cursor.raw_comment
class Enum(object):
def __init__(self, cursor):
self.name = cursor.spelling
self.annotations = get_annotations(cursor)
self.access = cursor.access_specifier
# template_pars = [c.extent for c in cursor.get_children() if c.kind == clang.cindex.CursorKind.TEMPLATE_TYPE_PARAMETER]
# parameter_dec = [c for c in cursor.get_children() if c.kind == clang.cindex.CursorKind.PARM_DECL]
# print(parameter_dec, template_pars)
# print(cursor.get_num_template_arguments(), cursor.get_template_argument_type(0), cursor.get_template_argument_value(0), template_pars, parameter_dec)
self.parameters = []
self.parnames = []
self.constants = [c.spelling for c in cursor.get_children() if c.kind ==
clang.cindex.CursorKind.ENUM_CONSTANT_DECL]
self.documentation = cursor.raw_comment
# class Class(object):
# def __init__(self, cursor):
# self.name = cursor.spelling
class Class(object):
def __init__(self, cursor):
self.name = cursor.spelling
# self.functions = []
# self.annotations = get_annotations(cursor)
self.annotations = get_annotations(cursor)
# for c in cursor.get_children():
# if (c.kind == clang.cindex.CursorKind.CXX_METHOD and
@@ -51,19 +57,16 @@ class Enum(object):
# f = Function(c)
# self.functions.append(f)
def find_namespace_node(c):
if (c.kind == clang.cindex.CursorKind.NAMESPACE and c.spelling == "igl"):
return c
else:
for child_node in c.get_children():
return find_namespace_node(child_node)
def traverse(c, path, objects):
if c.location.file and not c.location.file.name.endswith(path):
return
# print(c.kind, c.spelling)
if c.spelling == "PARULA_COLOR_MAP": # Fix to prevent python stack overflow from infinite recursion
return
# print(c.kind, c.spelling)
if c.kind == clang.cindex.CursorKind.TRANSLATION_UNIT or c.kind == clang.cindex.CursorKind.UNEXPOSED_DECL:
@@ -76,7 +79,7 @@ def traverse(c, path, objects):
pass
elif c.kind == clang.cindex.CursorKind.FUNCTION_TEMPLATE:
# print("Function Template", c.spelling, c.raw_comment)
# print("Function Template", c.spelling, c.raw_comment)
objects["functions"].append(Function(c))
return
@@ -90,6 +93,18 @@ def traverse(c, path, objects):
objects["enums"].append(Enum(c))
return
elif c.kind == clang.cindex.CursorKind.CLASS_DECL:
objects["classes"].append(Class(c))
return
elif c.kind == clang.cindex.CursorKind.CLASS_TEMPLATE:
objects["classes"].append(Class(c))
return
elif c.kind == clang.cindex.CursorKind.STRUCT_DECL:
objects["structs"].append(Class(c))
return
else:
# print("Unknown", c.kind, c.spelling)
pass
@@ -100,20 +115,16 @@ def traverse(c, path, objects):
def parse(path):
index = clang.cindex.Index.create()
tu = index.parse(path, ['-x', 'c++', '-std=c++11', '-fparse-all-comments', '-DIGL_STATIC_LIBRARY'])
# Clang can't parse files with missing definitions, add static library definition
objects = {"functions": [], "enums": [], "namespaces": [], "classes": []}
# Clang can't parse files with missing definitions, add static library definition or not?
args = ['-x', 'c++', '-std=c++11', '-fparse-all-comments', '-DIGL_STATIC_LIBRARY']
args.append('-I/usr/include/eigen3/') # TODO Properly add all needed includes
syspath = ccsyspath.system_include_paths('clang++-3.7') # Add the system libraries
incargs = [(b'-I' + inc).decode("utf-8") for inc in syspath]
args.extend(incargs)
tu = index.parse(path, args)
objects = {"functions": [], "enums": [], "namespaces": [], "classes": [], "structs": []}
traverse(tu.cursor, path, objects)
# tpl = Template(filename='bind.mako')
# rendered = tpl.render(functions=functions)
# OUTPUT_DIR = 'generated'
# if not os.path.isdir(OUTPUT_DIR): os.mkdir(OUTPUT_DIR)
# with open("generated/{}.bind.cc".format(sys.argv[1]), "w") as f:
# f.write(rendered)
return objects
if __name__ == '__main__':