57 Commits

Author SHA1 Message Date
Jarrett Johnson
74894e01da Generic CGO Render 2022-03-08 15:16:16 -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
d5d05f19c9 PYMOL-3624 Handle map.gz and mrc.gz extensions 2021-03-26 14:30:12 +01:00
Thomas Holder
491e9c5a4d load_raw dx support 2021-02-18 19:33:11 +01:00
Jarrett Johnson
355c45d229 Place CObject in pymol namespace 2021-02-11 19:14:06 +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
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
a170bc4989 Improve error handling for .dx loading
Do not create an empty map object if loading fails.
2020-12-03 18:10:46 +01:00
Thomas Holder
7ad3b9d11b CField refactoring
New member functions to replace data access macros:

- CField::get
- CField::ptr

New CFieldTyped derived class with typed accessors.
2020-10-16 11:15:55 +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
Jarrett Johnson
1c26a96739 Named Renderpasses 2020-07-03 15:00:38 +02:00
Thomas Holder
48931fa8d7 DX map import: binary support (*.dxbin) 2020-06-05 09:13:07 +02:00
Jarrett Johnson
6aad8574c4 pymol::Result color; remove_picked; move, map_trim, map_set, origin 2020-05-05 07:59:59 +02:00
Thomas Holder
bdf1c3a0dc fix PYMOL-3375 map_set crash with missing states 2020-04-23 14:11:46 +02:00
Thomas Holder
8b9efcc028 refactor: use more pymol::Result 2020-04-23 14:11:17 +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
bd1f8970aa fix multi-state map PSE loading 2020-03-13 08:57:59 +01:00
Thomas Holder
1d98290033 refactor symmetry function
get_symmetry
set_symmetry
symmetry_copy
2020-02-20 12:31:22 +01:00
Jarrett Johnson
aae0b18a0f refactor ObjectMapState 2020-02-20 12:29:45 +01:00
Thomas Holder
8b1fa009ad Distinguish mrc/map/ccp4 extensions 2020-01-22 11:52:15 +01:00
Pedro Lacerda
bdc9b11de9 cmd.dump support for maps
Closes #67
2019-12-03 13:47:45 +01:00
Jarrett Johnson
14e5cefb94 ObjectMesh refactor 2019-11-27 13:30:40 +01:00
Jarrett Johnson
e7a2919f68 field refactor 2019-11-27 13:15:15 +01:00
Thomas Holder
5306f2252e generalize object matrix operations 2019-10-29 16:24:26 +01:00
Thomas Holder
75f06a974e CObject function pointers -> virtual methods 2019-10-29 16:24:12 +01:00
Jarrett Johnson
00473b5656 C++ inheritance for Object classes 2019-09-04 18:18:01 +02:00
Thomas Holder
27014c9e93 OOAlloc malloc -> new 2019-08-13 17:08:59 +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
Thomas Holder
abe86e10fc PYMOL-3260 MRC with ORIGIN -> ignore N*START 2019-08-13 16:11:56 +02:00
Jarrett Johnson
13d58ca552 map_set copy bug fix - Fixes #41 2019-06-28 12:38:47 -04:00
Thomas Holder
035d6fe611 C++ inheritance for all CObject subclasses 2019-03-29 13:36:14 +01:00
Thomas Holder
c7ec54efcf CCP4 export: MRC 2000 ORIGIN 2019-03-29 13:09:11 +01:00
Thomas Holder
b59ce09d8a refactor: pymol::malloc<T>
- use typed/namespaced malloc wrapper
- remove Alloc et al.
- remove mmalloc et al.
- remove CINTERFACE define
2019-02-21 17:41:58 +01:00
Thomas Holder
895840e4f7 PYMOL-3155 MRC 2000 ORIGIN 2018-11-15 16:44:19 +01:00
Jarrett Johnson
fde67f2d9b PYMOL-3098 ScenePickVLA Refactor 2018-11-15 16:44:02 +01: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
90939028a3 const correctness for Color.cpp 2018-07-03 20:31:13 +02:00
Thomas Holder
f21c61958e Graphics refactoring, ported from Incentive PyMOL 2018-07-03 20:19:12 +02:00
Thomas Holder
4bbe42513c stick_round_nub, UTF-8, display_scale_factor, ...
* 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
2018-02-28 13:16:16 +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
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
Thomas Holder
f4582bbfcb pse_binary_dump, get_sasa_relative, color_deep, ...
- 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
2016-04-17 02:00:50 +00:00
Thomas Holder
2787af79fc byring, distance mode=4, cartoon dash, ...
* distance mode=4: distance between centroids
* byring: new selection operator
* "Distances to Rings" mode in measurement wizard
* basic atom typing for MOL2 export
* cartoon dash: new dashed loop-like cartoon type
* object-level settings for measurements
* iterate: use Python exceptions
* iterate_state: ignore atomic=0 (fixes crash)
* format 'xyzstr': enable .gz and URL loading
* fix crash with object sele length >= 1024
* re-add -Wno-write-strings
* fix pmg_tk.skins.normal.encode()
* fix askopenfilename CANCEL case with multiple=0
2016-01-11 16:56:37 +00:00
Thomas Holder
9f53f30e47 segi, resn, name of arbitrary length; settings in iterate/alter
* 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
2015-12-14 19:11:12 +00:00
Thomas Holder
f9f76fed07 scene_buttons=on, ...
* new default: scene_buttons=on
* normalize_ccp4_maps=2 -> use mean and stdev from file header
* fix alignment with atoms w/o coords in a state
2015-10-15 17:43:51 +00:00
Thomas Holder
49410f0ac1 mmcif: match pdb1, pdb2, ... files with assembly generation
- fix handling of _pdbx_struct_assembly_gen with repeated asym_id
- create assembly for multi-state objects
- no pdb_insure_orthogonal for assemblies

Also:
- fix "File > Run"
- some "const correctness" refactoring
- experimental pymol.querying.get_object_ttt
2015-07-02 21:04:32 +00:00