40 Commits

Author SHA1 Message Date
Jarrett Johnson
07d7a790f0 Forward decls/Move headers to source 2021-08-20 11:24:10 -04:00
Jarrett Johnson
355c45d229 Place CObject in pymol namespace 2021-02-11 19:14:06 +01:00
Thomas Holder
1142e3ab22 PYMOL-3570 Bonds to crystal symmetry mates 2021-02-11 18:58:26 +01:00
Thomas Holder
63c1796bc0 StateIndex_t, StateIndexPython_t 2021-01-14 15:36:48 +01:00
Thomas Holder
f84389f14f Refactor CCrystal and CSymmetry
- Make members private
- Add getters and setters
- Remove CrystalUpdate, SymmetryUpdate, SymmetryFree
- Remove unused CCrystal members (Norm, RecipDim, UnitCellVolume)
- Add CCrystal unit test
2020-12-11 13:57:26 +01:00
Thomas Holder
16f07ea9d5 Write symmetry to MAE format 2020-12-03 18:14:52 +01:00
Thomas Holder
27385b023d Remove unneeded BondType members
BondType::id
- was imported from MOL2 and ChemPy PKL
- was exported to ChemPy PKL
- had no API for querying or manipulation, other than IO with SDF/PKL

BondType::stereo
- was imported+exported from+to SDF and ChemPy PKL
- had no API for querying or manipulation, other than IO with SDF/PKL
- is a 2D projection property (but PyMOL doesn't do any 2D projection)

BondType::temp1
- Used in various places. Usage refactored to use local data structures.

Remove unused functions (leftovers from old undo system):
- BondTypeCompare
- AtomInfoCompareAll
2020-12-03 18:13:22 +01:00
Thomas Holder
35e8225517 PYMOL-3542 Write symmetry to PDB and MMTF formats
When writing a PDB or MMTF file with the "save" command, take the
symmetry information from the first object in the selection.
2020-10-16 11:14:02 +02:00
Jarrett Johnson
4431dd0ce2 Settings copied on object copy 2020-10-16 11:07:17 +02:00
Thomas Holder
05dae22b24 PYMOL-3075 pqr export: don't write MODEL records 2020-04-09 16:01:08 +02:00
Thomas Holder
385df0b0c4 doxygen-ize some documentation 2020-04-09 15:39:51 +02:00
Thomas Holder
efbd15b589 SeleCoordIterator: new "update_table" argument 2020-04-09 15:25:05 +02:00
Thomas Holder
737cd4f65f CObject::getCurrentState refactoring
fixes:
PYMOL-3388
PYMOL-3390
PYMOL-3391
2020-03-13 09:09:38 +01:00
Thomas Holder
4f50d7568a eliminate pymol::vla non-const legacy VLA cast
Avoid assignment of pymol::vla<T> return values to T*.

Refactoring to facilitate this:
- const-correctness (const T* cast still works)
- .data()
- T* -> pymol::vla<T> function arguments
2019-09-23 15:56:55 +02:00
Nandini Naidu
71f77b68ab Converted BondType Bond to a c vla 2019-08-30 17:12:59 +02:00
Nandini Naidu
3eea34803e changed Symmetry and PeriodicBox to unique pointers and changes other pointers to c++ vla's 2019-08-30 10:22:08 +02:00
Nandini Naidu
1b017594ae symmetry class changes to make deep copyable 2019-08-13 16:20:41 +02:00
Thomas Holder
da9dea1cf3 remove pointer constructors from pymol::vla
- remove ambiguity of pymol::vla(0)
- add nullptr assignment (instead of nullptr construction)
- empty initializer list behaves like default constructor
- new factory function to take ownership of legacy VLA (only used in tests)
2019-08-13 15:39:10 +02:00
Thomas Holder
97d0c40bee fix PYMOL-3231 MAE blank chain export 2019-05-02 18:00:13 +02:00
Jarrett Johnson
37f95ef227 ObjectMolecule proper C++ inheritance 2019-03-29 13:04:12 +01:00
Thomas Holder
dd6219996a PYMOL-3221 MAE ANISOU support 2019-03-24 13:52:48 +01:00
Thomas Holder
bc80d7bf02 MAE export: r_m_pdb_tfactor r_m_charge1 2019-03-24 13:34:41 +01:00
Thomas Holder
ca5ffba92d MMTF export id with pdb_retain_ids 2019-02-21 17:43:21 +01:00
Thomas Holder
88e409688a fix PYMOL-3203 MMTF export b/q/alt 2019-02-01 21:39:33 +01:00
Thomas Holder
ae040fa85b clang-tidy modernize-use-override
... and modernize-use-equals-default
2019-01-18 10:06:08 +01:00
Thomas Holder
97d166a858 clang-tidy modernize-use-nullptr
... and modernize-use-bool-literals for some "newer" files.
2019-01-18 10:04:10 +01:00
Thomas Holder
0dcfcc8344 clang-tidy modernize-loop-convert 2019-01-18 10:03:28 +01:00
Thomas Holder
2f12085fe3 PYMOL-3175 pdb_use_ter_records 2018-12-10 18:08:17 +01:00
Thomas Holder
5e063ae19e refactor: unique_vla_ptr -> pymol::vla 2018-11-15 16:31:05 +01:00
Thomas Holder
33937d8543 setup.py: drop --no-cxx11 option 2018-09-03 15:27:33 +02:00
Thomas Holder
be7a8d1f49 PYMOL-3056 export MMTF C++ implementation 2018-08-16 19:14:53 +02:00
Thomas Holder
665aa6884a fix wildcard, fix PDB 99999 crash, PQR parsing...
* fix selection wildcard (sf.net/p/pymol/bugs/209)
* fix PDB atom id > 99999 crash
* more robust PQR parsing
* pymol2.PyMOL() context manager
* new setting: cif_metalc_as_zero_order_bonds
* new setting sdf_write_zero_order_bonds
* cif: accept _chem_comp_bond.type alias for _chem_comp_bond.value_order
* better support for mingwpy compiler (Christoph Gohlke)
2018-06-08 10:52:36 +00:00
Thomas Holder
1742d75d13 anaglyph batch mode, all_states measurements, ...
* fix anaglyph stereo in batch (headless) mode
* fix possible memory corruption with boolean settings
* measurement wizard: distances between states (all_states=on)
* get_fastastr: nucleic acid, by chain
* menu: A (Action) > group
* sequence viewer menu: ss (Secondary Structure)
* MAE export of groups (s_m_subgroupid)
* macOS: -O3 -fno-strict-aliasing (bugs/205)
2018-05-03 14:46:44 +00:00
Thomas Holder
7d2bb243e6 restore r4188
r4188 was published on 2018-04-10 but lost after a sourceforge storage problem.
See for example https://sourceforge.net/p/forge/site-support/17420/

2.2.0a0 (unstable/experimental)

* sf.net/p/pymol/bugs/199 bash -> sh
* ignore zero-order bonds in neighbor lookup
* fix crash loading reduced 5ijo.mmtf
* volume panel: fix zoom (CTRL+R-Drag) and value input (R-Click)
* QOpenGLWidget support (not active by default)
* --gldebug -> backtrace on GL error
2018-05-02 06:32:39 +00:00
Thomas Holder
e2df29a2ee polymer.protein polymer.nucleic multifilesave ...
* new selection keywords: polymer.protein polymer.nucleic
* new command: multifilesave
* MMTF export (requires simplemmtf python module)
* select: present, state -1 -> current object state
* create: source_state = -1 -> current
  (was: source_state = -1/0 -> all)
* cif: support quoted '?' and '.' as values
  cif_get_array -> None instead of empty string for ? and .
* fix copy discrete object w/o coords
* fix loading pdbqr AutoDock 4 atom types
* fix get_model('none') and get_str('mol', 'none')
* h_add refactored: 5x faster, support discrete objects
2018-02-07 15:44:17 +00:00
Thomas Holder
520bf2a72a 1.9.0.0
* use PyMOL 2.0 setting defaults
* L > residues (oneletter)
* fix py3 crash in "A > copy to object"
* fix scene object visibility with hidden groups
* fix "ending" after loading movie session
2017-10-18 17:21:19 +00:00
Thomas Holder
e53f7d17eb label sele op, iterate/alter improvements, ...
* new "label" selection operator
* alter_state: remove restriction on x/y/z/flags
* iterate/label: expose "state" for discrete atoms
* CTRL+L drag/click -> move/center in 3-Button-Viewing mode
* auto-detect $PREFIX/share/pymol as $PYMOL_PATH
* locale LC_NUMERIC=C float parsing/formatting
* Python 3: fix wrong PyCapsule_New destructor
2017-06-01 10:09:12 +00:00
Thomas Holder
2fca882cf7 1.8.6.1 fixes
* Python 3: fix builder bond order buttons (Red Hat Bug 1442127)
* fix MAE export PDB residue/atom names
* restored "scene_animation" setting (1.7.6 regression)
* restored "import cmd" prevention (1.8.6.0 regression)
2017-04-17 18:13:26 +00:00
Thomas Holder
60ac273a83 backport C++11 features for gcc-4.5 2016-10-18 10:37:13 +00:00
Thomas Holder
999ceebbe8 1.8.3.2
* 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
2016-08-30 19:14:39 +00:00