MoleditPy-linux 2.8.1__tar.gz → 2.8.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/PKG-INFO +1 -1
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/pyproject.toml +1 -1
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/MoleditPy_linux.egg-info/PKG-INFO +1 -1
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/angle_dialog.py +6 -13
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/bond_length_dialog.py +6 -5
- moleditpy_linux-2.8.2/src/moleditpy_linux/modules/calculation_worker.py +1320 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/constants.py +1 -1
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_edit_3d.py +8 -19
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/mol_geometry.py +50 -0
- moleditpy_linux-2.8.1/src/moleditpy_linux/modules/calculation_worker.py +0 -1334
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/LICENSE +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/README.md +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/setup.cfg +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/MoleditPy_linux.egg-info/SOURCES.txt +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/MoleditPy_linux.egg-info/dependency_links.txt +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/MoleditPy_linux.egg-info/entry_points.txt +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/MoleditPy_linux.egg-info/requires.txt +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/MoleditPy_linux.egg-info/top_level.txt +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/__init__.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/__main__.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/assets/file_icon.ico +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/assets/icon.icns +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/assets/icon.ico +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/assets/icon.png +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/main.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/__init__.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/about_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/align_plane_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/alignment_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/analysis_window.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/atom_item.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/bond_item.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/color_settings_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/constrained_optimization_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/custom_interactor_style.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/custom_qt_interactor.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/dialog3_d_picking_mixin.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/dihedral_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_app_state.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_compute.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_dialog_manager.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_edit_actions.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_export.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_main_init.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_molecular_parsers.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_project_io.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_string_importers.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_ui_manager.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_view_3d.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/main_window_view_loaders.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/mirror_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/molecular_data.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/molecule_scene.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/move_group_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/periodic_table_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/planarize_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/plugin_interface.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/plugin_manager.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/plugin_manager_window.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/settings_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/sip_isdeleted_safe.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/template_preview_item.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/template_preview_view.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/translation_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/user_template_dialog.py +0 -0
- {moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/zoomable_view.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MoleditPy-linux
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.2
|
|
4
4
|
Summary: A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
|
|
5
5
|
Author-email: HiroYokoyama <titech.yoko.hiro@gmail.com>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: MoleditPy-linux
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.2
|
|
4
4
|
Summary: A cross-platform, simple, and intuitive molecular structure editor built in Python. It allows 2D molecular drawing and 3D structure visualization. It supports exporting structure files for input to DFT calculation software.
|
|
5
5
|
Author-email: HiroYokoyama <titech.yoko.hiro@gmail.com>
|
|
6
6
|
License: GNU GENERAL PUBLIC LICENSE
|
|
@@ -24,10 +24,10 @@ from PyQt6.QtWidgets import (
|
|
|
24
24
|
|
|
25
25
|
try:
|
|
26
26
|
from .dialog3_d_picking_mixin import Dialog3DPickingMixin
|
|
27
|
-
from .mol_geometry import adjust_bond_angle, get_connected_group, rodrigues_rotate
|
|
27
|
+
from .mol_geometry import adjust_bond_angle, calc_angle_deg, get_connected_group, rodrigues_rotate
|
|
28
28
|
except Exception:
|
|
29
29
|
from modules.dialog3_d_picking_mixin import Dialog3DPickingMixin
|
|
30
|
-
from modules.mol_geometry import adjust_bond_angle, get_connected_group, rodrigues_rotate
|
|
30
|
+
from modules.mol_geometry import adjust_bond_angle, calc_angle_deg, get_connected_group, rodrigues_rotate
|
|
31
31
|
|
|
32
32
|
import numpy as np
|
|
33
33
|
from PyQt6.QtCore import Qt
|
|
@@ -310,17 +310,10 @@ class AngleDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
|
|
|
310
310
|
def calculate_angle(self):
|
|
311
311
|
"""現在の角度を計算"""
|
|
312
312
|
conf = self.mol.GetConformer()
|
|
313
|
-
pos1 =
|
|
314
|
-
pos2 =
|
|
315
|
-
pos3 =
|
|
316
|
-
|
|
317
|
-
vec1 = pos1 - pos2
|
|
318
|
-
vec2 = pos3 - pos2
|
|
319
|
-
|
|
320
|
-
cos_angle = np.dot(vec1, vec2) / (np.linalg.norm(vec1) * np.linalg.norm(vec2))
|
|
321
|
-
cos_angle = np.clip(cos_angle, -1.0, 1.0)
|
|
322
|
-
angle_rad = np.arccos(cos_angle)
|
|
323
|
-
return np.degrees(angle_rad)
|
|
313
|
+
pos1 = conf.GetAtomPosition(self.atom1_idx)
|
|
314
|
+
pos2 = conf.GetAtomPosition(self.atom2_idx) # vertex
|
|
315
|
+
pos3 = conf.GetAtomPosition(self.atom3_idx)
|
|
316
|
+
return calc_angle_deg(pos1, pos2, pos3)
|
|
324
317
|
|
|
325
318
|
def on_angle_input_changed(self, text):
|
|
326
319
|
"""Line edit text changed, update slider."""
|
{moleditpy_linux-2.8.1 → moleditpy_linux-2.8.2}/src/moleditpy_linux/modules/bond_length_dialog.py
RENAMED
|
@@ -26,7 +26,7 @@ from PyQt6.QtWidgets import (
|
|
|
26
26
|
)
|
|
27
27
|
|
|
28
28
|
from .dialog3_d_picking_mixin import Dialog3DPickingMixin
|
|
29
|
-
from .mol_geometry import get_connected_group
|
|
29
|
+
from .mol_geometry import calc_distance, get_connected_group
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class BondLengthDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
|
|
@@ -242,9 +242,10 @@ class BondLengthDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
|
|
|
242
242
|
|
|
243
243
|
# Calculate current distance
|
|
244
244
|
conf = self.mol.GetConformer()
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
245
|
+
current_distance = calc_distance(
|
|
246
|
+
conf.GetAtomPosition(self.atom1_idx),
|
|
247
|
+
conf.GetAtomPosition(self.atom2_idx),
|
|
248
|
+
)
|
|
248
249
|
self.distance_label.setText(f"Current distance: {current_distance:.3f} Å")
|
|
249
250
|
self.apply_button.setEnabled(True)
|
|
250
251
|
# Update the distance input box to show current distance
|
|
@@ -349,7 +350,7 @@ class BondLengthDialog(Dialog3DPickingMixin, QDialog): # pragma: no cover
|
|
|
349
350
|
|
|
350
351
|
# Direction vector from atom1 to atom2
|
|
351
352
|
direction = pos2 - pos1
|
|
352
|
-
current_distance =
|
|
353
|
+
current_distance = calc_distance(pos1, pos2)
|
|
353
354
|
|
|
354
355
|
if current_distance == 0:
|
|
355
356
|
return
|