rdkit_sys/bridge/
mol_ops.rs

1#[cxx::bridge(namespace = "RDKit")]
2pub mod ffi {
3
4    unsafe extern "C++" {
5        include!("wrapper/include/mol_ops.h");
6
7        pub type ROMol = crate::ro_mol_ffi::ROMol;
8        pub type RWMol = crate::rw_mol_ffi::RWMol;
9
10        pub type RemoveHsParameters;
11        pub fn new_remove_hs_parameters() -> SharedPtr<RemoveHsParameters>;
12
13        pub fn get_remove_degree_zero(params: &SharedPtr<RemoveHsParameters>) -> bool;
14        pub fn set_remove_degree_zero(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
15
16        pub fn get_remove_higher_degrees(params: &SharedPtr<RemoveHsParameters>) -> bool;
17        pub fn set_remove_higher_degrees(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
18
19        pub fn get_remove_only_h_neighbors(params: &SharedPtr<RemoveHsParameters>) -> bool;
20        pub fn set_remove_only_h_neighbors(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
21
22        pub fn get_remove_isotopes(params: &SharedPtr<RemoveHsParameters>) -> bool;
23        pub fn set_remove_isotopes(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
24
25        pub fn get_remove_and_track_isotopes(params: &SharedPtr<RemoveHsParameters>) -> bool;
26        pub fn set_remove_and_track_isotopes(
27            params: &mut SharedPtr<RemoveHsParameters>,
28            what: bool,
29        );
30
31        pub fn get_remove_dummy_neighbors(params: &SharedPtr<RemoveHsParameters>) -> bool;
32        pub fn set_remove_dummy_neighbors(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
33
34        pub fn get_remove_defining_bond_stereo(params: &SharedPtr<RemoveHsParameters>) -> bool;
35        pub fn set_remove_defining_bond_stereo(
36            params: &mut SharedPtr<RemoveHsParameters>,
37            what: bool,
38        );
39
40        pub fn get_remove_with_wedged_bond(params: &SharedPtr<RemoveHsParameters>) -> bool;
41        pub fn set_remove_with_wedged_bond(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
42
43        pub fn get_remove_with_query(params: &SharedPtr<RemoveHsParameters>) -> bool;
44        pub fn set_remove_with_query(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
45
46        pub fn get_remove_mapped(params: &SharedPtr<RemoveHsParameters>) -> bool;
47        pub fn set_remove_mapped(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
48
49        pub fn get_remove_in_s_groups(params: &SharedPtr<RemoveHsParameters>) -> bool;
50        pub fn set_remove_in_s_groups(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
51
52        pub fn get_show_warnings(params: &SharedPtr<RemoveHsParameters>) -> bool;
53        pub fn set_show_warnings(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
54
55        pub fn get_remove_nonimplicit(params: &SharedPtr<RemoveHsParameters>) -> bool;
56        pub fn set_remove_nonimplicit(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
57
58        pub fn get_update_explicit_count(params: &SharedPtr<RemoveHsParameters>) -> bool;
59        pub fn set_update_explicit_count(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
60
61        pub fn get_remove_hydrides(params: &SharedPtr<RemoveHsParameters>) -> bool;
62        pub fn set_remove_hydrides(params: &mut SharedPtr<RemoveHsParameters>, what: bool);
63
64        pub fn get_remove_nontetrahedral_neighbors(params: &SharedPtr<RemoveHsParameters>) -> bool;
65        pub fn set_remove_nontetrahedral_neighbors(
66            params: &mut SharedPtr<RemoveHsParameters>,
67            what: bool,
68        );
69
70        pub fn remove_hs_parameters(
71            mol: &SharedPtr<ROMol>,
72            params: &SharedPtr<RemoveHsParameters>,
73            sanitize: bool,
74        ) -> SharedPtr<ROMol>;
75
76        pub fn add_hs(
77            mol: &SharedPtr<ROMol>,
78            explicit_only: bool,
79            add_coords: bool,
80            add_residue_info: bool,
81        ) -> SharedPtr<ROMol>;
82
83        pub fn romol_set_hybridization(mol: &mut SharedPtr<ROMol>);
84
85        pub fn clean_up(rw_mol: &mut SharedPtr<RWMol>);
86    }
87}