73 Commits

Author SHA1 Message Date
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
Jarrett Johnson
74894e01da Generic CGO Render 2022-03-08 15:16:16 -05:00
Jarrett Johnson
65835f9991 Remove OOMac 2021-07-07 12:03:25 -04:00
Thomas Holder
07435800fc pbc_wrap/pbc_unwrap, smooth+intra_fit pbc support
- new `pbc_wrap` and `pbc_unwrap` commands
- `intra_fit pbc=1` (default) automatically unwraps and rewraps
- `smooth pbc=1` (default) automatically unwraps and rewraps
- Changes CoordSetRealToFrac/CoordSetFracToReal to take the
  premultiplied state matrix into account
2021-03-26 14:04:35 +01:00
Jarrett Johnson
355c45d229 Place CObject in pymol namespace 2021-02-11 19:14:06 +01:00
Thomas Holder
f3c0419654 rebond pbc=1
- Add `pbc` argument to cmd.rebond()
- Refactor ObjectMoleculeConnect
- Add support for OpenMP
2021-02-11 19:05:08 +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
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
f0a7c72e3c Fix PYMOL-3583 Removing atoms removes properties 2021-01-14 14:08:12 +01:00
Thomas Holder
b1d9cee8aa Fix PYMOL-3582 Crash in CoordSetPurge
- Remove obsolete CoordSet::LabPos
- Fix AppendAtomVertex (HydrogenAdder): It was not resizing
  has_atom_state_settings, atom_state_setting_id, and RefPos
2021-01-14 14:07:22 +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
7833037c5e CGOOptimizeToVBO: Call CGOCombineBeginEnd
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.
2020-12-11 13:01:38 +01:00
Thomas Holder
d2667fecb8 CoordSet.cpp cleanup 2020-12-11 13:01:28 +01:00
Thomas Holder
2c43bac511 Fix PYMOL-3578 Rep::hasTransparency()
Track the "rep has transparency" information with a flag which is set
during CGO building. Fixes CoordSet::render() which was trying to get
this information from the object-state-level setting.
2020-12-11 12:59:34 +01:00
Jarrett Johnson
3350791d9e Refactor LabPos VLA to std::vector 2020-12-03 18:25:31 +01:00
Thomas Holder
5588befd98 Store CoordSet::Symmetry in PSE 2020-12-03 18:15:10 +01:00
Jarrett Johnson
e4a8aaca9c SceneClick logic extraction and misc improvements 2020-11-11 16:53:13 +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
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
49526fa89f Fix PYMOL-3495 APBS with empty residue names
APBS parses PQR files as space-delimited columns. The value of residue
names does not matter but it must not be empty.
2020-07-29 11:48:12 +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
Jarrett Johnson
1c26a96739 Named Renderpasses 2020-07-03 15:00:38 +02:00
Thomas Holder
cc69c21605 refactor: use more atmToIdx() and coordPtr() 2020-03-13 09:16:52 +01:00
Thomas Holder
48a9994774 refactor: CoordSet CObjectState inheritance 2020-02-26 19:16:54 +01:00
Thomas Holder
b57f131940 -Wunused-variable 2019-11-27 13:18:08 +01:00
Thomas Holder
276640cd29 Port EPAM's VR fork to PyMOL 2.4
Porting the essential parts of EPAM System's "openvr" branch to the
master branch.

Original authors:
Natalia Smirnova, EPAM Systems, Inc.
Pavel Smirnov, EPAM Systems, Inc.

Original fork:
https://github.com/epam/pymol-open-source/tree/openvr

Adjustments:
- Make feature optional with "--openvr" compile option
- Python 3 support
- Remove C++11 workarounds
- Exclude build system changes

Co-authored-by: Natalia Smirnova <Natalia_Smirnova@epam.com>
Co-authored-by: Pavel Smirnov <pavel_smirnov1@epam.com>
2019-11-11 00:50:01 -08: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
Thomas Holder
bc3a221b26 fix spheroid GL rendering 2019-08-30 10:23:37 +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
10d11025a1 changed spheroid and spheroidNormal to c++ vla's 2019-08-30 10:09:08 +02:00
Nandini Naidu
79a6b1af5e changed AtmtoIdx and TmpBond to C++ vla's 2019-08-19 22:00:58 +02:00
Nandini Naidu
1d8d6c861a float Coord and int IdxtoAtm changed to C++ vlas 2019-08-13 17:06:49 +02:00
Nandini Naidu
7dc7091a40 Converted C VLAs to C++ VLAs, managed combination C and C++ memmory allocation issues. 2019-08-13 16:33:10 +02:00
Nandini Naidu
1b017594ae symmetry class changes to make deep copyable 2019-08-13 16:20:41 +02:00
Nandini Naidu
2d7d280b79 Refactor crystal class 2019-08-13 15:59:25 +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
Jarrett Johnson
9ab62cc113 PYMOL-1475 Atom-level Cartoon transparency 2018-12-06 08:51:34 +01:00
Jarrett Johnson
fde67f2d9b PYMOL-3098 ScenePickVLA Refactor 2018-11-15 16:44:02 +01:00
Thomas Holder
3b541d6bef lexidx_t cleanup 2018-11-15 16:08:29 +01:00
Thomas Holder
51c2503c86 PYMOL-3082 optimize cmd.get_model()
- exclude empty fields during export
- refactor chempy.Atom.resi as property
2018-08-16 19:10:22 +02:00
Thomas Holder
4f3c781a74 cleanup: compiler warnings
-Wdangling-else
-Wmisleading-indentation
-Wmismatched-tags
-Wparentheses
-Wsometimes-uninitialized
-Wunused-but-set-variable
-Wunused-function
-Wunused-label
-Wunused-variable
2018-08-16 19:00:17 +02:00
Thomas Holder
f21c61958e Graphics refactoring, ported from Incentive PyMOL 2018-07-03 20:19:12 +02:00
Thomas Holder
be408fa1d3 cleanup: remove obsolete CmdGetPDB 2018-06-22 19:25:32 -04: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
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
c2731f62ef molfile plugins, fetch URLs, ...
* update molfile plugins to VMD version 1.9.3
* fetch 2fofc/fofc: update URLs, EDS will retire in 2017
* fix sf#102 pseudoatom multi-state problem
* editor.attach_amino_acid: fix PRO/N geometry
2016-12-14 19:07:39 +00:00