49 Commits

Author SHA1 Message Date
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
3943835a93 PYMOL-4854: Add cell_color setting for unit cell coloring 2024-05-12 23:07:53 -04:00
Jarrett Johnson
1180fec349 Replace makeshift C++17 with standard 2024-04-10 12:31:16 -04:00
Jarrett Johnson
05c920b642 PYMOL-3013: Fix unit cell rendering 2024-01-30 16:58:49 -05:00
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
b85270bc30 PYMOL-3528 isosurface with VTKm
New setting: isosurface_algorithm
2021-04-28 05:17:34 -04:00
Jarrett Johnson
355c45d229 Place CObject in pymol namespace 2021-02-11 19:14:06 +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
64d2b2be5e CarveHelper for isosurface/isomesh/isodot 2020-11-11 16:52:53 +01:00
Thomas Holder
25340f76d4 Tetsurf API refactoring and documentation 2020-10-16 11:16:13 +02:00
Thomas Holder
c0059cc264 Refactor: mesh/surface mode enums, documentation 2020-10-16 11:13:53 +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
7ab2c52f55 PYMOL-3516 Fix isolevel for surfaces
Regression of 35fdb8c30d88ea90
2020-09-22 11:01:45 +02:00
Thomas Holder
96afefbb74 Fix PYMOL-3494 isosurface ramp color regression
Ramp coloring always behaved like ray_color_ramps=on

Closes #115
2020-07-17 12:55:48 +02:00
Jarrett Johnson
1c26a96739 Named Renderpasses 2020-07-03 15:00:38 +02:00
Thomas Holder
8b9efcc028 refactor: use more pymol::Result 2020-04-23 14:11:17 +02:00
Jarrett Johnson
aae0b18a0f refactor ObjectMapState 2020-02-20 12:29:45 +01:00
Jarrett Johnson
c4436fcaeb refactor ObjectSurfaceState 2020-01-22 12:00:16 +01:00
Pedro Lacerda
5750e7ca31 cmd.dump quiet flag and documentation 2019-11-10 04:14:00 -03:00
Thomas Holder
75f06a974e CObject function pointers -> virtual methods 2019-10-29 16:24:12 +01:00
Jarrett Johnson
6dafe8ca5b remove obsolete Debug files 2019-10-15 13:55:58 +02:00
Jarrett Johnson
00473b5656 C++ inheritance for Object classes 2019-09-04 18:18:01 +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
035d6fe611 C++ inheritance for all CObject subclasses 2019-03-29 13:36:14 +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
5e04325863 cleanup (local/unused function declarations) 2019-02-06 15:43:14 +01:00
Jarrett Johnson
fde67f2d9b PYMOL-3098 ScenePickVLA Refactor 2018-11-15 16:44:02 +01: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
d0d46b9a42 PyMOL 1.8.2.0
- fix/silence various compiler warnings
- partly fixes sf#177, sf#178
- fix crash when loading PSE with bg_image_filename
2016-04-19 22:02:24 +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
9686cfea0e 1.8.1.2 2016-03-21 21:20:36 +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
8bf29abf88 post sf.net downtime update
* fix isosurface all_states rendering
* pdb_hetatm_guess_valences for CIF loading
* mutagenesis wizard: improve "apply" performance
* fix measurement and alignment object partial PSE loading
* some load/save refactoring
* keep atom IDs when creating object from selection
* when renaming group "A" to "B", then also rename entry "A.X" to "B.X"
2015-07-29 14:25:52 +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
Thomas Holder
82c677e8c9 1.7.7.1 (unstable/experimental)
* change default (!) of "ignore_case" setting to off. Case insensitve
  identifier matching is not practical anymore with large structures
  which use upper and lower case chain identifiers.

* new setting "assembly" to load assemblies from mmCIF as multi-state
  objects with all_states=1

* new setting "cif_use_auth" controls whether mmCIF "auth" identifiers
  are used or not (on by default)

* mmCIF "CA/P ATOMS ONLY" chains: set atom-level cartoon_trace_atoms
  and ribbon_trace_atoms

* CIF discrete and irregular multi-model loading support

* support "pdb_honor_model_number" setting for CIF

* load multiple objects ("data_" blocks) from one CIF file (multiplex=-1)

* don't store AtmToIdx, DiscreteAtmToIdx or DiscreteCSet to PSE
  (unless pse_export_version <= 1.76)
2015-05-20 18:26:53 +00:00
Thomas Holder
dad194ad0f Restore scenes "disable" recall behavior...
- scenes: Restore the old behavior that when recalling a scene, all objects
  which were not present when storing the scene are disabled.
- fix auto-complete for filenames with spaces
- fix an object menu panel group ordering problem

Refactoring:
- remove unused variables (Partly applies https://sourceforge.net/p/pymol/bugs/166/)
- lots of: char* -> const char*
- remove inline Parse functions, simplify ParseFloat3List
- make functions static
2015-04-09 21:35:38 +00:00
Thomas Holder
96ecb7132c removed obsolete code
- removed obsolete code and settings: use_display_lists, simplify_display_lists, excl_display_lists_shaders
- rename _PYMOL_OPENGL_SHADERS -> _PYMOL_ARB_SHADERS
2015-03-23 19:21:11 +00:00
Thomas Holder
22fdfe3e81 fixed roving detail/density demos, removed unused code
* fixed roving density and roving detail demos (regression from last commit)
  http://sourceforge.net/p/pymol/bugs/156
* fix "narrowing conversion" C++ errors
* removed unused code and preprocessors:
  _PYMOL_GL_DRAWARRAYS
  _PYMOL_GL_CALLLISTS
  _PYMOL_CGO_DRAWARRAYS
  _PYMOL_CGO_DRAWBUFFERS
  OPENGL_ES_1 
  OPENGL_ES_2
* removed deprecated "register" specifier
2015-03-13 22:19:47 +00:00
Thomas Holder
9bb5c2d971 1.7.5.0 (unstable/experimental)
* mmCIF _atom_sites.fract_transf support (SCALEn equivalent)
* Complete port of scenes to C++
* warn user if setting a setting on the wrong level
* cmd.extendaa: shortcut for cmd.extend with argument auto-completion
* reduced memory footprint of AtomInfoType
* expose "reps" to iterate/alter
* expose "protons" to iterate/alter
* adaptive cartoon quality and sampling, depending on number of atoms
* fix ring center color with cartoon_ring_color=default
* make SelectorGetTmp strictly molecular, fixes for example "dss" with group names
* fix "copy" can cause crash
* fix "custom" selection operator
* consider spec_count in shaders
* don't invalidate shaders for lighting settings
* don't disable shaders for all Intel chips
* don't touch sphere_mode when disabling shaders
* map_new buffer == -1 -> gaussian_resolution
* fix all_states picking
* remove cylinder_shader_ff_workaround and cylinders_shader_filter_faces
* remove unused gl_ambient setting
* fix Tcl/Tk menu settings logging
* fix: grid mode scales down label size incorrectly
* fix: no animate argument for cmd.origin
* fix side_chain_helper for hetatm polymer atoms
* fix .mmd export
* refactor many function to take "const" pointer arguments
2015-03-12 17:44:19 +00:00
Thomas Holder
e274a46085 fast CIF loading, 1.7.3.1 (unstable/experimental)
* fast PDBx/mmCIF and core CIF loading in C++
* new connect_mode=4 does bonding with components.cif dictionary
  (mmCIF only, components.cif needs to be present in current
  directory)
* gray out residues in the sequence viewer that are missing from the
  current state; Read missing residues from mmCIF files
  (_pdbx_unobs_or_zero_occ_residues records) so that they show up in
  the sequence viewer
* add spider map reading support
* load "map" as ccp4 instead of throwing "ambiguous" error
* xyz write support
* Improve right-button zoom: use origin instead of clipping slab
  center as depth indicator, fixes zoom speed when far clipping plane
  is very far away
* don't use dynamic_width for nonbonded rep
2014-10-16 20:14:27 +00:00
Thomas Holder
f42840260b c++ for all PyMOL c files
- renaming files c -> cpp
- c++ specific syntax (::)
2014-09-08 13:42:11 +00:00