diff --git a/Code/GraphMol/MolDraw2D/MolDraw2DSVG.h b/Code/GraphMol/MolDraw2D/MolDraw2DSVG.h index ab05286ba..8736ac1d9 100644 --- a/Code/GraphMol/MolDraw2D/MolDraw2DSVG.h +++ b/Code/GraphMol/MolDraw2D/MolDraw2DSVG.h @@ -69,8 +69,8 @@ class RDKIT_MOLDRAW2D_EXPORT MolDraw2DSVG : public MolDraw2D { std::string getDrawingText() const { return d_ss.str(); }; using MolDraw2D::tagAtoms; // Avoid overload warning. - - void tagAtoms(const ROMol &mol, double radius = 0.2, + void tagAtoms(const ROMol &mol) { tagAtoms(mol, 0.2); } + void tagAtoms(const ROMol &mol, double radius, const std::map &events = {}); void addMoleculeMetadata(const ROMol &mol, int confId = -1) const; diff --git a/Code/JavaWrappers/CMakeLists.txt b/Code/JavaWrappers/CMakeLists.txt index 96533b567..9ea971048 100644 --- a/Code/JavaWrappers/CMakeLists.txt +++ b/Code/JavaWrappers/CMakeLists.txt @@ -20,6 +20,7 @@ if(RDK_BUILD_INCHI_SUPPORT) set(swigRDKitLibList "${swigRDKitLibList}RDInchiLib;${INCHI_LIBRARIES};") endif(RDK_BUILD_INCHI_SUPPORT) set(swigRDKitLibList "${swigRDKitLibList}" + "SubstructLibrary;" "MolStandardize;FilterCatalog;Catalogs;FMCS;MolDraw2D;FileParsers;SmilesParse;" "Depictor;SubstructMatch;ChemReactions;Fingerprints;ChemTransforms;" "Subgraphs;GraphMol;DataStructs;Trajectory;Descriptors;" diff --git a/Code/JavaWrappers/SubstructLibrary.i b/Code/JavaWrappers/SubstructLibrary.i new file mode 100644 index 000000000..ef25ceedd --- /dev/null +++ b/Code/JavaWrappers/SubstructLibrary.i @@ -0,0 +1,96 @@ +/* + * Copyright (c) 2015, Novartis Institutes for BioMedical Research Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * * Neither the name of Novartis Institutes for BioMedical Research Inc. + * nor the names of its contributors may be used to endorse or promote + * products derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +//%import "ROMol.i" +%include "std_vector.i" + + +%{ +#include +%} +%shared_ptr(RDKit::MolHolderBase) +%shared_ptr(RDKit::MolHolder) +%shared_ptr(RDKit::CachedMolHolder) +%shared_ptr(RDKit::CachedSmilesMolHolder) +%shared_ptr(RDKit::CachedTrustedSmilesMolHolder) +%shared_ptr(RDKit::FPHolderBase) +%shared_ptr(RDKit::PatternHolder) + +%template(UChar_Vect) std::vector; + +%typemap(javacode) RDKit::SubstructLibrary %{ + public static SubstructLibrary Deserialize(byte[] b) { + UChar_Vect vec = new UChar_Vect(); + vec.reserve(b.length); + for (int size=0;size & data ) { + std::string str(data.begin(), data.end()); + return new RDKit::SubstructLibrary(str); + } + + bool canSerialize() const { + return RDKit::SubstructLibraryCanSerialize(); + } +} + + +#ifdef SWIGJAVA +%typemap(jni) std::string RDKit::SubstructLibrary::Serialize "jbyteArray" +%typemap(jtype) std::string RDKit::SubstructLibrary::Serialize "byte[]" +%typemap(jstype) std::string RDKit::SubstructLibrary::Serialize "byte[]" +%typemap(javaout) std::string RDKit::SubstructLibrary::Serialize { + return $jnicall; +} +%typemap(out) std::string RDKit::SubstructLibrary::Serialize { + $result = JCALL1(NewByteArray, jenv, $1.size()); + JCALL4(SetByteArrayRegion, jenv, $result, 0, $1.size(), (const jbyte*)$1.c_str()); +} +#endif + +%include + +%pragma(java) modulecode=%{ + public static SubstructLibrary SubstructLibraryDeserialize(byte[] b) { + UChar_Vect vec = new UChar_Vect(); + vec.reserve(b.length); + for (int size=0;size