* MolDraw2D::drawMolecules() should not crash on null molecules
* changes in response to review
Co-authored-by: Tosco, Paolo <paolo.tosco@novartis.com>
* First draft.
Polyline round bond joins is smaller.
Continuous highlight bonds mitre.
* Remove historical and now misleading comment.
* Mitre the continuous bond highlights.
* Better bond highlighting with not continuous highlighting.
* Updated hash codes. Extra test.
* Updated hash codes.
* Script to update hash codes automatically.
* Fix test.
* Fix test.
* Remove debugging file write.
* Removed redundant code.
* More auto.
* Removed newly redundant function.
* More explanation and an extra example/test.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* bring over some new functionality
* adjust your expectations
* more tests
* additional cleanup and testing
* implement fix from #5407
* more testing
* a bit of optimization
* add the new func to the python wrappers
* cleanup
* findPossible working in the new code
NOTE: the combination of findPossible and cleanIt does not work and needs to be disallowed
* do some cleanup
* better handling of UNKNOWN (not unspecified) atoms and bonds
* update
* backup... we're close
* catch_chirality tests all pass
* all tests pass
* cleanup
* docs and a bit of optimization
* "optimization" which makes things slower... maybe revert this
* we don't need cleanExistingStereo() anymore... get rid of it
* cleanup
* changes in response to review
* Fix bug in smoothBondJoins caused by not clearing singleBondLines_ in resetEverything.
Updated test results.
* Changes as result of review.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* Draws a hydrogen atom light blue if not drawing labels.
* Newline at end of file.
* Changes requested from review.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* make 2D coord gen more robust w.r.t. sanitization
* Fixes#5156
prepareMolForDrawing() was being called for mols without coords even if the option was disabled
This resolves that
* update expected hashes
* MolZip now saves the bonddir when zipping
* Add test for saving bonddir in MolZip
* Save either the first or second bond dir, fix the test to actually test
* Add more comprehensive bonddir checking and atom reordering
* Fix the atom swaps after the consistency check
Co-authored-by: Brian Kelley <bkelley@relaytx.com>
* Started on ACS 1996 drawing mode.
Significant change (not by itself, sadly) is that MolDrawOptions::lineWidth has changed from int to double to allow for ACS requirement of 0.6px bond widths.
* Wavy lines and dashed wedges.
* Better dashed wedges.
* Rounder wavy bonds, same as SVG.
* Added FreeSans font for ACS1996 mode.
* Add help functions to write enum classes to ostream.
* Dashed wedge separation now 2.5px between line edges rather than line middles. Therefore wider gap between lines.
* Increase offset for wavy bond. Get classes for atoms and bonds in wavy bond correct.
* For SMILES input, option to force wavy and crossed bonds for unspecified stereochem.
* Tidy debugging.
* Extra space round atom labels.
* Extra space between chars in freetype string.
* Reformats.
* Change double bond offset.
* Improve ring double bonds.
* Simple non-ring double bonds all working.
* Tidy.
* All double bonds seem good.
* Remove redundant function.
Move calcTripleBondLines into DrawMol for consistency with calcDoubleBondLines.
Use doubleBondOffset for wavy lines.
* Correct spacing between FT chars.
* Tidying.
* Use MolBlock wedging if there is any. Needs to be made an option.
* If dashed wedge thick end has bonds of it, stop one dash short.
* Adjust solid wedge ends to line with attached bonds.
* Width of wedge ends now based on double bond separation.
* Change catch_tests.cpp
* Rounder waves in wavy lines.
* Dashed wedges same width even if one dash less..
* Embedded Roboto-Regular font in code.
* Fix docstrings.
* doubleBondTerminal swapped ends.
Deal with O2 - 2 terminal atoms of degree 1.
* Fix terminal double bonds.
* Slightly fatter truncated wedge bonds.
* Fix crash on complicated double bonds.
* Control more assert tests with DO_TEST_ASSERT.
* Fix 2 colour solid wedges.
Fix slanted wedge for morphine (test1_5).
* Change definittion of multipleBondOffset to fraction of mean bond length.
* Don't slant end of solid wedge to atom symbol.
* Fix wiggle separation.
* Fix 2-colour terminal double bonds.
* Fix colours on triple bonds.
* Don't attempt to draw non-existent points in triangle..
* Symmetric bond for P=O and like.
* Fix query bonds.
* Reformatting.
* Tidy up use of font.
* Add FreeSans font and license to $RDBASE/Data/Fonts.
* Draw unspecified stereo as unknown.
* Add check_file_hash.
* Tidying.
* Tidying.
* Start Python wrappers.
* Fix solid wedges for 3-connected atoms.
* Docstrings.
* Tidying.
* Alter width of bond highlights in ACS 1996 mode.
* Expose setACS1996Options and mean BondLength in Python.
* Expose drawMolACS1996Cairo in Python.
Docstrings.
* Extra padding between legend and picture in flexicanvas.
* Python tests.
* Tidy catch tests.
* Tidying.
* Fix catch tests.
* Fix no Freetype tests.
* Draw solid wedge more sensibly..
* Fix bond end at solid wedge.
* Tidy.
* Fix Python Cairo build issues.
* Fix wedge end shape for terminal double bonds.
* Hide the joins at the bond ends.
* Fix gcc pickiness.
* Extra test for no atom labels.
* Change where it looks for FreeSans.ttf for ACS1996 drawings.
* Same number of waves for wavy bonds in SVG and Cairo.
* Same number of waves for wavy bonds in SVG and Cairo.
* rename unspecifiedStereoIsUnknown to markUnspecifiedStereoAsUnknown and move to MolFileStereochem.h
* refactor use of iterators
* py docs update
* undo a bunch of bad formatting changes
* remove FreeSans
* get windows builds working
* Fix problem with Windows build.
* Changes in response to review.
* Align description of unspecifiedStereoIsUnknown in C++ to match Python.
* Still working on file open modes.
* Took out extraneous functions for drawing in ACS1996 mode, including the one that was breaking the windows build.
* Add RDKIT_MOLDRAW2D_EXPORT.
* Fix expected test results.
* Clarified warning.
* RDKIT_MOLDRAW2D_EXPORT missing.
* Windows!
* Update Code/GraphMol/MolDraw2D/rxn_test1.cpp
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
Co-authored-by: greg landrum <greg.landrum@gmail.com>
* Fix#5420.
* Tidy.
* Highlights stay parallel to bonds.
* Change way DrawShapeEllipse is defined, to make it same as DrawShapeArc.
* Change way DrawShapeEllipse is defined, to make it same as DrawShapeArc.
* Make highlight circles bigger when the bond highlights missed initially.
* Update expected test result.
* Update expected test result.
* Turn on check hash code.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* stop using CIP codes in the atomic canonicalization
this will change results in some cases, so lots of tests need to be updated.
* stop breaking string literals... ARGH
* tests now pass
* update double bond canonicalization
* update a python test
* some cleanup
* update expected results for cartridge
* Add draw option to force use of wedge information in MolBlock if present.
* Add check_file_hash.
* Move reapplyMolBlockWedging to MolFileStereochem and test case.
Expose to Python as ReapplyMolBlockWedging.
Co-authored-by: David Cosgrove <david@cozchemix.co.uk>
* revert duplicate chunk in release notes
* replace deprecated ifdefs
This one gets rid of USE_BUILTIN_POPCNT and RDK_THREADSAFE_SS
use RDK_OPTIMIZE_POPCNT or RDK_BUILD_THREADSAFE_SSS instead
* get rid of BUILD_COORDGEN_SUPPORT from ROMol.i
* fix a stupid typo
* update release notes
* do not remoge H if it has a special purpose in an SGroup
* flip the removeinSGroup default
* do not remove H from H-only SGroups
* remove atoms/bonds from SGroups
* update existing tests
* add tests
* Apply suggestions from code review
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
Co-authored-by: Greg Landrum <greg.landrum@gmail.com>
- Use O[CH3] instead of OC for the existing examples, to ensure that the
the examples produce the output shown (assuming the query is parsed as
a SMARTS).
- Add a note and an example showing how bonds are formed only to the
atoms that were connected to the first atom in the substructure query,
and suggest using ChemicalReaction for finer control.
* slow steps towards a string_view experiment
* Move first set of file-handling code to use string_view
This is about 12% faster on my machine
* oops, yaehmop had not been updated to C++17
* start moving v3000 over
* disable storing string_views in Dicts.
* a bit more optimization
* get windows builds working
* fix a couple leaks in the test code
* changes in response to review
* changes suggested in review
+ more refactoring
* fix an oversight
* remove another one
* remove debugging numbers