89 Commits

Author SHA1 Message Date
Jarrett Johnson
ef2c05fc35 Remove unnecessary defines 2025-09-26 12:07:27 -04:00
Jarrett Johnson
0313aeba9d PYMOL-4365: Filter gizmo and selections from thumbnails and exports
Some other restructuring (SceneRenderWhich and SceneRenderOrder) to support this
2025-01-04 20:40:13 -05:00
Jarrett Johnson
b52b6f2174 Port code changes from incentive (06/2023) 2025-01-04 12:09:32 -05:00
Jarrett Johnson
fbfda4a257 Replace NULL with nullptr 2024-05-20 09:07:33 -04:00
Jarrett Johnson
6bfc590446 PYMOL-4025 ObjectCurve 2024-01-30 15:30:40 -05:00
Jarrett Johnson
07d7a790f0 Forward decls/Move headers to source 2021-08-20 11:24:10 -04:00
Jarrett Johnson
b184f73cce RenderContext enum class 2021-04-28 05:13:30 -04:00
Thomas Stewart
66ef180467 PYMOL-3615 Display Seq hide_underscore_names
- Exposing hide_underscore_names settings to seq viewer
- Added a SettingGet overload for pymol::CObject
2021-04-28 04:35:48 -04:00
Jarrett Johnson
355c45d229 Place CObject in pymol namespace 2021-02-11 19:14:06 +01:00
Thomas Holder
63c1796bc0 StateIndex_t, StateIndexPython_t 2021-01-14 15:36:48 +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
3bc6158376 Some const-correctness 2020-12-03 18:10:46 +01:00
Jarrett Johnson
e4a8aaca9c SceneClick logic extraction and misc improvements 2020-11-11 16:53:13 +01: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
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
1d98290033 refactor symmetry function
get_symmetry
set_symmetry
symmetry_copy
2020-02-20 12:31:22 +01:00
Thomas Holder
75f06a974e CObject function pointers -> virtual methods 2019-10-29 16:24:12 +01:00
Thomas Holder
698d3cebff refactor pymol.querying
- use with _self.lockcm: pattern
- use API_SETUP_ARGS and related patterns
- use APIEnter instead of APIEnterNotModal
- propagate errors as much as possible (using pymol::Error or PyErr_XXX)
- add doxygen-style documentation for C++ functions
2019-10-15 13:54:54 +02: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
7e748a302e Refactor viewElem 2019-08-13 16:00:05 +02:00
Jarrett Johnson
353f5a8452 Const-correctness for Matrix functions 2019-05-02 18:02:26 +02:00
Thomas Holder
e2206feb68 ObjectMakeValidName: Useful warnings
- polymer/nucleic: warn only once (closes #21)
- warn when replacing invalid characters (#22)
2019-02-21 18:41:04 +01:00
Thomas Holder
5e04325863 cleanup (local/unused function declarations) 2019-02-06 15:43:14 +01:00
Thomas Holder
46b52c0a5f define -> enum: cObject_t, cLoadType_t 2018-11-15 16:32:40 +01:00
Jarrett Johnson
78021420a7 PYMOL-3095 Block Refactor 2018-11-15 15:48:32 +01:00
Thomas Holder
f21c61958e Graphics refactoring, ported from Incentive PyMOL 2018-07-03 20:19:12 +02:00
Thomas Holder
c546b591ad oneletter, wire/licorice, copy_to
* expose "oneletter" to label/iterate
* sequence viewer: MSE=M SEC=U
* wire/licorice rep aliases
* menu: A > copy to object
* new commands: copy_to, uniquify
* fix slow 'extract' performance
2017-09-13 07:16:02 +00:00
Thomas Holder
2930efa152 1.8.5.0 (unstable/experimental)
* avoid selection keyword name conflicts, append underscore
* load: allow format=plugin (by extension) and format=plugin:PLUGIN (with PLUGIN being a molfile plugin identifier)
* load format "vdb": VIPERdb PDB variant with retain_order=1
* load/load_traj: guess trajectory object
* fetch
    * new setting "fetch_type_default"
    * type=mmtf: fetch MMTF format
    * type=2fofc/fofc: get spacegroup from PDBe API
    * update download URLs
* new setting: editor_auto_measure
* new default: ray_transparency_oblique_power=4.0
* "update" command: support "current state" (-1)
* alter elem -> update protons and vdw
* don't allow "import cmd" (corrupts PyMOL namespace)
* support "python -m pymol" to launch PyMOL
2016-12-05 19:04:04 +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
a9b686ad77 color autocomplete for ramps, improve volume blending 2015-10-29 12:10:08 +00:00
Thomas Holder
680f313001 cartoon_trace_atoms for sheets, fast connect_mode=4 2015-08-31 02:08:17 +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
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
67028fe2bc version bump: pymol 1.6
* improved rendering performance using shaders, including
   dynamically updated shaders based on settings
   (see data/shaders directory)

 * implemented shaders for menus, labels, selection indicators,
   background, and other graphics that were not using shaders.

 * consolidated textures used for labels and selection indicators
   to one texture, which helps performance

 * added memory checking to help avoid crashing when memory is
   low or not available

 * cleaned up code base, took out extraneous preprocessor code and
   code that was not used.

 * refactor pmg_tk.Settings

 * Do not clear atom names with chempy.champ.assign.amber99

 * fix some plugin manager exception handling

 * fix create with name=None

 * Plugin override search path: Always include "startup"
   from installation directory in plugin search path

 * Movie > Program > Scene Loop > Nutate > by degrees

 * ObjectMeshRenderImpl refactoring: color isomesh and isodot with
   mesh_color and dot_color settings

 * merging alignment objects: eliminate orphaned atoms

 * fix cealign alignment object creation: rms_cur arguments swapped

 * improved the alignto command to take additional keyword arguments
   which get passed to the used method -> object=aln supported now

 * remove _PYMOL_MODULE constant

 * fix LITERAL mode command parsing: ignore leading whitespace
2013-03-22 21:48:17 +00:00
Thomas Holder
f59bbb4b94 - setup.py refactoring
setup2.py no longer needed
    enable VMD plugins by default
    new install flags:
      --pymol-path=/path/to/pymol_path
      --bundled-pmw (instead of python setup2.py install pmw)
- bug fixes
2013-02-14 16:46:25 +00:00
Jason Vertrees
a5f943ee50 pymol-v1.5.0.1 2012-02-13 19:02:02 +00:00
Jason Vertrees
5e4369f15c object-level state counting; fixes; xray dictionary 2011-04-20 16:32:47 +00:00
Jason Vertrees
2b9d727c61 PyMOL v1.4b1 2011-04-01 21:22:09 +00:00
wdelano
476cd4b3c4 2009-06-27 00:23:48 +00:00
wdelano
039da83840 2009-06-26 21:04:29 +00:00
wdelano
4d15440c8e timeline improvements 2009-06-26 03:41:22 +00:00
wdelano
7ea11cc3a3 more anime stuff 2009-06-23 03:24:20 +00:00
wdelano
aeb1697816 more stuff 2009-06-21 05:32:44 +00:00
wdelano
bf33918456 ridiculously cool stuff 2009-06-20 01:16:38 +00:00
wdelano
80e4e3083e motion paths 2009-06-19 19:17:19 +00:00
wdelano
e1510a777a reindent part 2 2009-06-14 22:20:57 +00:00