- Refactored ObjectCGO
- cache_ptr for state CGO's
- State now stored as std::vector
- noexcept added for cache_ptr move
- cmd.copy will now work with all objects
- Uses clone() method
CGOOptimizeToVBONotIndexed and CGOOptimizeToVBOIndexed will
automatically call CGOCombineBeginEnd if the input CGO has Begin/End
operations. They will also set `use_shader` on the CGO.
Fixes `set cgo_debug; wizard demo, raster3d`
Eliminate various CGOFree calls by using unique_ptr.
No nice API available yet. Pick event can be captured like this:
>>> cmd.button("single_left", "none", "clik")
>>> cmd.set_key("F1", lambda: print(_cmd.get_click_string(cmd._COb)))
(press "F1" after a pick)
- Add pick colors to CGO demo (for testing/demo)
* stick_round_nub for COLLADA export
* UTF-8 in feedback
* display_scale_factor (ported from Incentive PyMOL)
* dx map import: support "type float" and skewed delta
* experimental MMTF load support
* map export in CCP4 format
* SDF V3000 import/export support
* refactor molecular file formats export: Unified handling of PDB, PQR, mmCIF, MOL2, SDF, XYZ, MAE
* PLY geometry import (as CGO)
* new command: unset_deep
* new setting: cartoon_all_alt: Create cartoon for every alt code
* stick_h_scale: default=1.0 (was: 0.4) but remove dependency on negative stick_radius
* auto_show_classified: Visualize small (< 50 atoms) polymer classified molecules like organic
* bymol selection operator: ignore zero-order bonds
* menu: isomesh/surface negative color
* improve alignment of residues with unknown resn (e.g. ligands):
give a match score of 5 to perfect matches of unknown residue codes.
Previously, those got match score -1.
* remove broken and obsolete "PMO" file support
* use "label_digits" setting with "label" command
* do not resize window when loading a session file
* fix ignored SCALE w/ identity rotation (e.g. 1WAP)
* fix "scene auto, clear" (Scene > Delete)
* new setting: pick_shading: do flat shading for programmable image color analysis
* experimental cmd.raw_image_callback: post cmd.draw() callback
* mmCIF _atom_sites.fract_transf support (SCALEn equivalent)
* Complete port of scenes to C++
* warn user if setting a setting on the wrong level
* cmd.extendaa: shortcut for cmd.extend with argument auto-completion
* reduced memory footprint of AtomInfoType
* expose "reps" to iterate/alter
* expose "protons" to iterate/alter
* adaptive cartoon quality and sampling, depending on number of atoms
* fix ring center color with cartoon_ring_color=default
* make SelectorGetTmp strictly molecular, fixes for example "dss" with group names
* fix "copy" can cause crash
* fix "custom" selection operator
* consider spec_count in shaders
* don't invalidate shaders for lighting settings
* don't disable shaders for all Intel chips
* don't touch sphere_mode when disabling shaders
* map_new buffer == -1 -> gaussian_resolution
* fix all_states picking
* remove cylinder_shader_ff_workaround and cylinders_shader_filter_faces
* remove unused gl_ambient setting
* fix Tcl/Tk menu settings logging
* fix: grid mode scales down label size incorrectly
* fix: no animate argument for cmd.origin
* fix side_chain_helper for hetatm polymer atoms
* fix .mmd export
* refactor many function to take "const" pointer arguments
* ignore SCALEn if CRYST1 is 1x1x1 or invalid
* new/refactored API functions for accessing coordinates and maps as numpy arrays
* new API function: cmd.set_state_order
* Session file (PSE) support for callback objects
* fix/silence many compiler warnings
* fix bg_rgb_top/bg_rgb_bottom side effects
* revert "fix setting surface_circumscribe"
* delete some obsolete files