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.
- ObjectStateGetMatrix const-correctness
- Make SymmetryAttemptGeneration "private" and call it from getNSymMat()
- match_info: Silence -Wnon-c-typedef-for-linkage warning
* 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 setting "pse_binary_dump"
- get_sasa_relative (command ported from Incentive PyMOL)
- Color menu uses util.color_deep (ported from Incentive PyMOL)
- C > by rep (ported from Incentive PyMOL)
- fix crash when saving mesh PSE without map
- fix isosurface invalidation when setting surface_negative_visible
* support segi, resn and name of arbitrary string length
* expose settings to iterate/alter via "s.<name>"
* Python 3 compatibility for champ module
* apbs_tools: apply fixes from Pymol-script-repo
* fix isosurface all_states rendering
* pdb_hetatm_guess_valences for CIF loading
* mutagenesis wizard: improve "apply" performance
* fix measurement and alignment object partial PSE loading
* some load/save refactoring
* keep atom IDs when creating object from selection
* when renaming group "A" to "B", then also rename entry "A.X" to "B.X"
* change default (!) of "ignore_case" setting to off. Case insensitve
identifier matching is not practical anymore with large structures
which use upper and lower case chain identifiers.
* new setting "assembly" to load assemblies from mmCIF as multi-state
objects with all_states=1
* new setting "cif_use_auth" controls whether mmCIF "auth" identifiers
are used or not (on by default)
* mmCIF "CA/P ATOMS ONLY" chains: set atom-level cartoon_trace_atoms
and ribbon_trace_atoms
* CIF discrete and irregular multi-model loading support
* support "pdb_honor_model_number" setting for CIF
* load multiple objects ("data_" blocks) from one CIF file (multiplex=-1)
* don't store AtmToIdx, DiscreteAtmToIdx or DiscreteCSet to PSE
(unless pse_export_version <= 1.76)
- scenes: Restore the old behavior that when recalling a scene, all objects
which were not present when storing the scene are disabled.
- fix auto-complete for filenames with spaces
- fix an object menu panel group ordering problem
Refactoring:
- remove unused variables (Partly applies https://sourceforge.net/p/pymol/bugs/166/)
- lots of: char* -> const char*
- remove inline Parse functions, simplify ParseFloat3List
- make functions static
* 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
* fast PDBx/mmCIF and core CIF loading in C++
* new connect_mode=4 does bonding with components.cif dictionary
(mmCIF only, components.cif needs to be present in current
directory)
* gray out residues in the sequence viewer that are missing from the
current state; Read missing residues from mmCIF files
(_pdbx_unobs_or_zero_occ_residues records) so that they show up in
the sequence viewer
* add spider map reading support
* load "map" as ccp4 instead of throwing "ambiguous" error
* xyz write support
* Improve right-button zoom: use origin instead of clipping slab
center as depth indicator, fixes zoom speed when far clipping plane
is very far away
* don't use dynamic_width for nonbonded rep