47 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
Jarrett Johnson
355c45d229 Place CObject in pymol namespace 2021-02-11 19:14:06 +01:00
Thomas Holder
8919b9cdd6 Fix mesh_negative_color with carved meshes
Fixes https://github.com/schrodinger/pymol-open-source/issues/157
2021-01-18 19:29:19 +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
e11cc79941 pymol::vla must only hold trivially copyable types 2020-11-11 16:57:36 +01:00
Thomas Holder
64d2b2be5e CarveHelper for isosurface/isomesh/isodot 2020-11-11 16:52:53 +01: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
766d442e7c PYMOL-3527 Fix crash with isomesh use_shaders=0 2020-09-30 09:21:51 +02:00
Jarrett Johnson
1c26a96739 Named Renderpasses 2020-07-03 15:00:38 +02:00
Thomas Holder
69b1f0b53b PYMOL-3399 isomesh: Support 'transparency' setting 2020-06-05 09:14:13 +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
Thomas Holder
a188383b2b refactor color picking, add cPickableThrough
cPickableThrough for transparency_picking_mode (spheres only so far)
2019-11-27 14:44:28 +01:00
Jarrett Johnson
14e5cefb94 ObjectMesh refactor 2019-11-27 13:30:40 +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
f413840d0d fix PYMOL-3218 isomesh draw 2019-05-16 08:59:10 +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
Thomas Holder
250e04749f refactor: fInvalidate -> invalidate 2019-01-18 10:02:41 +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
520bf2a72a 1.9.0.0
* use PyMOL 2.0 setting defaults
* L > residues (oneletter)
* fix py3 crash in "A > copy to object"
* fix scene object visibility with hidden groups
* fix "ending" after loading movie session
2017-10-18 17:21:19 +00: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
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
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
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
a5cd42bfae VASP file support, fix memory leaks
- VASP file support for: CHGCAR, OUTCAR, POSCAR, XDATCAR
- psf file support
- fix several memory leaks
2015-04-28 21:56:42 +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