149 Commits

Author SHA1 Message Date
Anton Butsev
ce1fb16bde halogen-bond detection and display (PYMOL-3466) 2024-01-30 12:46:06 -05:00
Thomas Holder
d59041b68c enum cAtomProtected_* (#316) 2023-09-25 12:18:38 -04:00
Thomas Holder
85b6ce440a New setting: cell_centered (#259)
Closes https://github.com/schrodinger/pymol-open-source/issues/258
2022-10-05 11:15:15 -04:00
Thomas Stewart
07d9206379 PYMOL-3823: Fix for misleading h-bonds 2022-05-04 15:54:43 -04:00
Thomas Holder
54b187c6aa More consistent cmd.load_model discrete behavior
- Allow discrete=0 for multi-state objects
- Keep existing discrete flag with discrete=-1

Fixes https://github.com/schrodinger/pymol-open-source/issues/212
2021-12-15 15:05:35 -05:00
Jarrett Johnson
07d7a790f0 Forward decls/Move headers to source 2021-08-20 11:24:10 -04:00
Jarrett Johnson
65835f9991 Remove OOMac 2021-07-07 12:03:25 -04:00
Thomas Holder
10af8bd0b9 Refactor ObjectMolecule::Neighbor access
- Make ObjectMolecule::Neighbor private
- Use AtomNeighbors or ObjectMolecule::getNeighborArray
- Eliminate ObjectMoleculeUpdateNeighbors
2021-04-28 04:34:33 -04:00
Jarrett Johnson
7d392b852c Backport Seq refactor from undo 2021-04-28 04:05:21 -04:00
Jarrett Johnson
f6dd412e7d Symop strings from 'bond' never nullptr 2021-03-26 14:29:52 +01:00
Thomas Holder
9154ce95a4 defer_builds_mode 3: Don't purge object-level caches
`cRepInvPurge` will only purge reps, but will not invalidate object data
like nonbonded atoms, neighbors, selections, or sculpting.
2021-02-18 19:32:11 +01: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
6818037bb8 symexp: Symmetry operation as title 2021-01-18 19:29:11 +01:00
Thomas Holder
4578d0145e Improve fuse command
- Allow mixed hydrogen/non-hydrogen input
- Treat all "single geometry" atoms like hydrogens
- Attaching to an atom with no free valence is an error
2021-01-14 15:36:29 +01:00
Thomas Holder
5308f66381 Refactor: ITERNEIGHBORATOMS -> AtomNeighbors 2021-01-14 15:31:38 +01:00
Thomas Holder
dc2aff4133 Refactor: Doxygen comments, ObjectMoleculeUpdateNeighbors
- Use proper doxygen syntax for all function comments
- ObjectMoleculeUpdateNeighbors allow const argument
- Remove obsolete ObjectMolecule::BondCounter
2021-01-14 15:23:06 +01:00
Thomas Holder
68a18a3e09 CoordSet refactoring/cleanup
- Remove unused CoordSet::appendIndices()
- Simplify ObjectMoleculeDummyNew
- Simplify ObjectMoleculeSort
- Turn atom_state_setting_id into a method
- Consolidate CoordSetAdjustAtmIdx and CoordSetPurge
- Convert IdxToAtm and AtmToIdx to std::vector
- Eliminate CoordSet::NAtIndex
- Use setNIndex() where possible
2021-01-14 14:15:44 +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
a686d16fc7 Cleanup: SymmetryAttemptGeneration, ObjectStateGetMatrix
- ObjectStateGetMatrix const-correctness
- Make SymmetryAttemptGeneration "private" and call it from getNSymMat()
- match_info: Silence -Wnon-c-typedef-for-linkage warning
2020-12-03 18:15:45 +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
Jarrett Johnson
e4a8aaca9c SceneClick logic extraction and misc improvements 2020-11-11 16:53:13 +01:00
Jarrett Johnson
33b1f33e1f Extract Scene Mouse logic to another source 2020-11-11 16:52:12 +01:00
Thomas Holder
15b74a6062 Refactor: Remove fFree methods
Also remove unused members:
- GadgetSet::P
- GadgetSet::Setting
2020-10-16 11:14:05 +02:00
Thomas Holder
dc7572ede5 PYMOL-3541 Fix "show cell" for PDB files
Regression of PYMOL-3216 dc3bdc4c7f41
2020-10-16 11:13:58 +02:00
Jarrett Johnson
4431dd0ce2 Settings copied on object copy 2020-10-16 11:07:17 +02:00
Thomas Holder
08c9dff871 PYMOL-3533 Refactor Rep as polymorphic type (2)
Part 2: virtual member functions
2020-09-30 09:46:26 +02:00
Thomas Holder
a5fcfcbf58 Refactor CGO vertexVals allocation & magic numbers 2020-09-22 11:17:21 +02:00
Jarrett Johnson
5bdbb0df12 Copy object settings for ObjectMolecule 2020-09-22 11:01:08 +02:00
Jarrett Johnson
ce2dc5dd59 move logic from CmdLoadTraj to ExecutiveLoadTraj 2020-09-03 09:39:27 +02:00
Thomas Holder
63aa337e8e show/hide: use cRepsAtomMask and cRepsObjectMask
Limit assignment of AtomInfoType::visRep to cRepsAtomMask and
ObjectMolecule::visRep cRepsObjectMask
2020-07-29 11:50:30 +02:00
Thomas Holder
d91a233218 PYMOL-3216 per-state symmetry and cell
- Added CoordSet::UnitCellCGO
- Removed ObjectMolecule::UnitCellCGO
- Finally implemented the `state` argument for
  - ObjectMolecule::getSymmetry
  - ObjectMolecule::setSymmetry
- Per-state symmetry loading in PlugIOManager

Closes #114
2020-07-15 18:06:20 +02:00
Thomas Holder
39723012f2 iterate/alter: Propagate exceptions 2020-07-03 15:24:24 +02:00
Jarrett Johnson
1c26a96739 Named Renderpasses 2020-07-03 15:00:38 +02:00
Thomas Holder
2bcdfaa856 Refactoring: some const-correctness 2020-07-03 14:54:31 +02:00
Thomas Holder
60bafcace1 Remove _PYMOL_NO_UNDO stubs 2020-06-22 11:07:06 +02:00
Thomas Holder
0bd6bbbdaa PYMOL-3410 Remove some Python #defines 2020-06-05 09:13:06 +02:00
Thomas Holder
8b9efcc028 refactor: use more pymol::Result 2020-04-23 14:11:17 +02:00
Thomas Holder
cc69c21605 refactor: use more atmToIdx() and coordPtr() 2020-03-13 09:16:52 +01:00
Thomas Holder
737cd4f65f CObject::getCurrentState refactoring
fixes:
PYMOL-3388
PYMOL-3390
PYMOL-3391
2020-03-13 09:09:38 +01:00
Thomas Holder
48a9994774 refactor: CoordSet CObjectState inheritance 2020-02-26 19:16:54 +01:00
Jarrett Johnson
af625b664f Set Geometry Result refactor 2020-02-26 19:04:24 +01:00
Thomas Holder
1d98290033 refactor symmetry function
get_symmetry
set_symmetry
symmetry_copy
2020-02-20 12:31:22 +01:00
Thomas Holder
8f8c82f712 PYMOL-3236 polar contacts: Ignore "pseudo" atoms 2020-02-20 12:08:34 +01:00
Thomas Holder
2f0f737424 fix chempy model loading with Python 3.8 2020-01-22 18:16:47 +01:00
Thomas Holder
6337b36d83 isosurface/isomesh/volume error handling
- reject state < -2
- don't create empty surface for invalid selection
- don't delete surf_name if early error detected
2020-01-22 11:52:20 +01:00
Jarrett Johnson
3d18fe3783 use standard containers in CSelector; CSelector split 2020-01-10 16:52:28 +01:00
Thomas Holder
52b9278814 fix atom remove crash with AMBER top files 2019-12-09 19:46:43 +01:00
Thomas Holder
6d6016254c fix #44 load_traj selection for xtc format 2019-12-03 12:58:23 +01:00
Thomas Holder
b57f131940 -Wunused-variable 2019-11-27 13:18:08 +01:00