46 Commits

Author SHA1 Message Date
Jarrett Johnson
d017ebc39f RepSurface refactor (VLA2Vec and SurfaceType) 2025-09-26 12:07:26 -04:00
Jarrett Johnson
7b10fa0e84 PYMOL-5089: MapType refactor 2025-09-26 12:07:26 -04:00
Jarrett Johnson
eb606c33c8 Remove unused returnData 2024-08-30 10:09:08 -04:00
Jarrett Johnson
ef9bcd85a1 Remove _PYMOL_IOS (Discontinued; prep for MVK) 2024-08-30 10:05:58 -04:00
Jarrett Johnson
fb80a2dc5a Remove OV_INLINE 2024-08-13 16:09:58 -04:00
Jarrett Johnson
1908775959 Fix crash for surface_type 5/6 2024-08-13 16:09:11 -04:00
Jarrett Johnson
f04596a7ec clang-format RepSurface.cpp 2024-08-13 14:59:16 -04:00
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
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
8b0a5d4156 PYMOL-2851 surface for all-ignored objects
If all atoms in a coordinate set have "flag ignore", then don't use
the flag. This should allow showing ligand surface after extracting a
ligand to a new object.
2021-03-26 13:48:57 +01:00
Thomas Holder
e0f39aa6d4 Fix crash with solvent_radius=0
Closes https://github.com/schrodinger/pymol-open-source/issues/169
2021-02-18 19:33:33 +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
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
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
2d145d2e0f PYMOL-3533 Refactor Rep as polymorphic type (1)
Part 1: virtual destructor
2020-09-30 09:26:20 +02:00
Thomas Holder
93170ab522 PYMOL-3054 Fix surface_type 2 memory issue/crash 2020-09-22 11:14:22 +02:00
Thomas Holder
bdce35f844 cleanup: os_gl_*.h headers 2020-03-13 09:33:11 +01: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
a188383b2b refactor color picking, add cPickableThrough
cPickableThrough for transparency_picking_mode (spheres only so far)
2019-11-27 14:44:28 +01: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
55302e9aa2 MAXFLOAT -> FLT_MAX 2019-05-16 20:14:19 +02:00
Jarrett Johnson
37f95ef227 ObjectMolecule proper C++ inheritance 2019-03-29 13:04:12 +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
571c1d97bc RepSurfaceSmoothEdges: I->allVisibleFlag 2019-01-29 20:47:55 +01:00
Thomas Holder
6eeddb8214 fix PYMOL-1762 ambient occlusion random and patchy 2019-01-29 20:47:48 +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
f6cfe9c55a mpng width/height, pick_shading/surface_color_smoothing, ...
* width/height arguments for movie export (mpng, movie.produce)
* fetch: support "fetch EMD-3489"
* auto_show_classified -1 => 3 for 500k+ atoms
* pick_shading => surface_color_smoothing off
* cleanup: eliminate pymol.pymol_launch variable
2017-01-19 15:45:50 +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
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
425cf86a0b elimination of more compiler warnings
Includes https://sourceforge.net/p/pymol/patches/8/
2014-12-12 20:02:42 +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
4dd7c7ffd4 SCALEn, numpy, set_state_order, ...
* ignore SCALEn if CRYST1 is 1x1x1 or invalid
* new/refactored API functions for accessing coordinates and maps as numpy arrays
* new API function: cmd.set_state_order
* Session file (PSE) support for callback objects
* fix/silence many compiler warnings
* fix bg_rgb_top/bg_rgb_bottom side effects
* revert "fix setting surface_circumscribe"
* delete some obsolete files
2014-09-17 19:17:56 +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