163 Commits

Author SHA1 Message Date
Jarrett Johnson
e0378ecd6d Remove properties #ifdefs 2026-02-20 16:46:25 -05:00
Jarrett Johnson
92eeb4867f Port properties feature from incentive 2026-02-20 16:46:25 -05:00
Thomas Holder
63e312ae08 Fix PytestUnraisableExceptionWarning
pytest reports a warning in tests/api/build.py::TestNucBuilder

  AttributeError: 'Indexed' object has no attribute 'molecule'

Since 'molecule' seems to be an optional member of the chempy Indexed
object, the AttributeError can be deliberately ignored.
2025-11-24 12:35:59 -05:00
Jarrett Johnson
57daee0b7e Refactor Result to include less across source files 2025-09-26 12:07:31 -04:00
Jarrett Johnson
a550aa709f Defer sort and reindexing when loading xyzstr (#467) 2025-08-13 00:39:19 -04:00
Jarrett Johnson
ab9c189971 Update rep states when states deleted (#86) 2025-01-04 21:09:14 -05:00
Jarrett Johnson
677f4a27f3 Move raw OpenGL calls out of selection rendering path 2025-01-04 12:54:39 -05:00
Jarrett Johnson
d82b626b60 New command: delete_states
Delete states from multistate objects. Currently only supports
non-discrete molecular objects.
2024-08-30 11:26:51 -04:00
Jarrett Johnson
83f11bc317 More Replace NULL with nullptr 2024-06-02 20:44:43 -04:00
Jarrett Johnson
fbfda4a257 Replace NULL with nullptr 2024-05-20 09:07:33 -04:00
Jarrett Johnson
63b7438b96 ok assignment breaks tests on Windows 2024-05-11 20:08:12 -04:00
Jarrett Johnson
1180fec349 Replace makeshift C++17 with standard 2024-04-10 12:31:16 -04:00
Jarrett Johnson
8c232d149d Remove unused headers 2024-01-30 15:51:55 -05:00
Jarrett Johnson
1d9e93d52f PYMOL-3919: Remove OVOneToOne uses 2024-01-30 15:48:01 -05:00
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