Affine transformations in ChemDoodle v1.2.1 have been revamped. Rotations have been improved with the inclusion of a new arbitrary rotation menu item. Scaling has has been implemented with an incredibly functional menu item and lassoed objects now contain two scaling anchors for easy manipulation. In addition to these improvements, there is now an option to display transformation data on the Doodle Sheet. All together, ChemDoodle provides intuitive and advanced controls for translating, scaling and rotating objects.
Objects that are lassoed are surrounded by a faint dashed brownish border. When selecting the Move Components button, several mouse functions become available for interacting with the selected objects as the image below shows. The area inside of the dashed border is the translate area, the two small boxes at the top-left and bottom-right of the border are the scale anchors, and the area 10 pixels in width on the outside of the border is the rotation border. By clicking and dragging in any of these locations, the appropriate transformation will be performed. Additionally, holding the shift key while scaling any objects will force them to retain their original aspect ratios. These gestures allow for easy manipulation of any objects, and all gestures have appropriate mouse cursors that appear for visual feedback. For more precise transformations, use the corresponding menu items in the Edit and right-click menus.
Scaling has now been fully implemented with the included scale anchors associated with the lasso, and a new, precise scale dialog. The scale dialog is split into two sections for scaling by dimension or scaling by bond length. If scaling by dimension, the new width and height of the objects can be specified in pixels, mm, cm, inches or by a relative percentage. If the Constrain Proportions checkbox is selected, then the original aspect ratio will be preserved. If scaling by bond length, all molecules will be scaled appropriately by smallest, largest or mean bond length. If Scale Molecules Separately is selected, each individual molecule will be scaled to the rule applied. If it is not selected, all molecules will be scaled by the same constant.
There is a new Arbitrary… function under the Rotate submenus in the Edit and right-click menus. You may now specify any angle to rotate by in addition to rotating lassoed objects by increments of 90°. Two radiobuttons are provided in the ensuing dialog to specify clockwise or counterclockwise rotations.
In the future, more transformations (such as shearing) may become available. Let us know if you have any suggestions.