├── testfiles
├── VASP-8LiH
│ ├── KPOINTS
│ ├── POSCAR
│ ├── readme
│ └── INCAR
├── c60.fchk.gz
├── spc216.xtc
├── amines.smi
├── CO-cc-6Z.fchk.gz
├── ch3cl-esp.cub.gz
├── benzene-homo.cube.gz
├── ch3cl-density.cub.gz
├── acid_chlorides.smi
├── ZnO.fract
├── methane.inp
├── methane.mp
├── spectrum
├── cdspectrum
├── VASP-DOS
│ └── CONTCAR
├── untitled01.gpr
└── COPYING
├── libavogadro
├── src
│ ├── python.png
│ ├── tools
│ │ ├── align.png
│ │ ├── draw.png
│ │ ├── measure.png
│ │ ├── select.png
│ │ ├── zmatrix.png
│ │ ├── autorotate.png
│ │ ├── manipulate.png
│ │ ├── navigate.png
│ │ ├── autoopttool.png
│ │ ├── bondcentric.png
│ │ ├── aligntool.qrc
│ │ ├── drawtool.qrc
│ │ ├── navigatetool.qrc
│ │ ├── selectrotatetool.qrc
│ │ ├── zmatrixtool.qrc
│ │ ├── autoopttool.qrc
│ │ ├── autorotatetool.qrc
│ │ ├── clickmeasuretool.qrc
│ │ ├── manipulatetool.qrc
│ │ ├── bondcentrictool.qrc
│ │ ├── pythonsettingswidget.ui
│ │ └── navigatesettingswidget.ui
│ ├── extensions
│ │ ├── gl2ps
│ │ │ ├── gl2ps.pdf
│ │ │ ├── README.txt
│ │ │ ├── TODO.txt
│ │ │ └── COPYING.GL2PS
│ │ ├── icons
│ │ │ ├── edit-copy.png
│ │ │ ├── edit-cut.png
│ │ │ ├── amarok_back.png
│ │ │ ├── amarok_next.png
│ │ │ ├── amarok_play.png
│ │ │ ├── amarok_stop.png
│ │ │ ├── edit-clear.png
│ │ │ ├── edit-paste.png
│ │ │ ├── amarok_pause.png
│ │ │ └── document-revert.png
│ │ ├── shaders
│ │ │ ├── x-ray-cryos.params
│ │ │ ├── x-ray.params
│ │ │ ├── phong.params
│ │ │ ├── per_pixel2.vert
│ │ │ ├── per-pixel-lighting.vert
│ │ │ ├── clip.vert
│ │ │ ├── x-ray.vert
│ │ │ ├── x-ray-cryos.vert
│ │ │ ├── clip.frag
│ │ │ ├── x-ray.frag
│ │ │ ├── plasma.vert
│ │ │ ├── x-ray-cryos.frag
│ │ │ ├── per_pixel2.frag
│ │ │ ├── per-pixel-lighting.frag
│ │ │ ├── gooch.vert
│ │ │ ├── light.frag
│ │ │ ├── phong.vert
│ │ │ ├── light.vert
│ │ │ ├── phong-use-diffuse.vert
│ │ │ ├── gooch.frag
│ │ │ ├── marble.vert
│ │ │ └── marble.frag
│ │ ├── swcntbuilder
│ │ │ ├── tubegen
│ │ │ │ ├── Core3DMath.c
│ │ │ │ ├── AUTHORS
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── Constants.h
│ │ │ │ ├── Bitmap.h
│ │ │ │ └── eprintf.h
│ │ │ └── CMakeLists.txt
│ │ ├── symmetry
│ │ │ ├── libmsym
│ │ │ │ ├── bin
│ │ │ │ │ └── msym_example
│ │ │ │ ├── libmsymConfigVersion.cmake.in
│ │ │ │ ├── src
│ │ │ │ │ ├── elements.h
│ │ │ │ │ ├── symmetry.h
│ │ │ │ │ ├── geometry.h
│ │ │ │ │ ├── symmetrize.h
│ │ │ │ │ ├── symop.h
│ │ │ │ │ ├── equivalence_set.h
│ │ │ │ │ ├── msym_error.h
│ │ │ │ │ └── point_group.h
│ │ │ │ ├── libmsymConfig.cmake.in
│ │ │ │ ├── examples
│ │ │ │ │ └── Makefile
│ │ │ │ ├── LICENSE
│ │ │ │ └── README.md
│ │ │ └── CMakeLists.txt
│ │ ├── animationextension.qrc
│ │ ├── cartesianextension.qrc
│ │ ├── spectra
│ │ │ ├── CMakeLists.txt
│ │ │ └── ir.h
│ │ ├── orca
│ │ │ ├── CMakeLists.txt
│ │ │ └── orcaspectra.ui
│ │ ├── qtaim
│ │ │ └── CMakeLists.txt
│ │ ├── crystallography
│ │ │ ├── spglib
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── lattice.h
│ │ │ │ └── COPYING
│ │ │ ├── CMakeLists.txt
│ │ │ └── COPYING
│ │ ├── surfaces
│ │ │ ├── openqube
│ │ │ │ ├── openqubeabi.h
│ │ │ │ ├── basisset.cpp
│ │ │ │ ├── atom.cpp
│ │ │ │ └── CMakeLists.txt
│ │ │ ├── CMakeLists.txt
│ │ │ └── htmldelegate.h
│ │ ├── pythonterminalwidget.ui
│ │ └── quantuminput
│ │ │ └── CMakeLists.txt
│ ├── pythontool.qrc
│ ├── python
│ │ ├── unittest
│ │ │ ├── template.py
│ │ │ ├── util.py
│ │ │ ├── tool.py
│ │ │ ├── residue.py
│ │ │ ├── eigen.py
│ │ │ └── fragment.py
│ │ ├── periodictableview.cpp
│ │ ├── elementtranslator.cpp
│ │ ├── tool.cpp
│ │ ├── moleculelist.h
│ │ ├── painterdevice.cpp
│ │ ├── fragment.cpp
│ │ ├── CMakeLists.txt
│ │ ├── navigate.cpp
│ │ └── extension.cpp
│ ├── colors
│ │ ├── CMakeLists.txt
│ │ └── residuecolorsettings.ui
│ ├── engines
│ │ └── wiresettingswidget.ui
│ ├── surfacemeshgenerator.h
│ ├── dockwidget.h
│ ├── dockwidget.cpp
│ ├── pythonthread_p.h
│ └── config.h.in
└── examples
│ ├── thirdPartyExtensions
│ ├── images
│ │ └── 05-promote.png
│ ├── 02-DynamicDisplay
│ │ └── CMakeLists.txt
│ ├── 03-ViewPlane
│ │ └── CMakeLists.txt
│ ├── 01-HelloWorld
│ │ ├── CMakeLists.txt
│ │ ├── helloworlddialog.h
│ │ └── helloworlddialog.cpp
│ ├── 05-ConformerPlot
│ │ ├── CMakeLists.txt
│ │ └── conformerplotdialog.ui
│ ├── 04-RotateSelection
│ │ └── CMakeLists.txt
│ └── 01-HelloWorld.dox
│ ├── c++
│ ├── templateextension.mf
│ ├── templateextension.pro
│ └── CMakeLists.txt
│ └── python
│ ├── extensiontemplate.py
│ └── tooltemplate.py
├── avogadro
├── src
│ ├── icons
│ │ ├── help.png
│ │ ├── tool.png
│ │ ├── Aspirin.png
│ │ ├── arrow-up.png
│ │ ├── avogadro.ico
│ │ ├── avogadro.png
│ │ ├── edit-add.png
│ │ ├── edit-cut.png
│ │ ├── navigate.png
│ │ ├── rebuild.png
│ │ ├── tab-new.png
│ │ ├── arrow-down.png
│ │ ├── arrow-left.png
│ │ ├── configure.png
│ │ ├── edit-clear.png
│ │ ├── edit-copy.png
│ │ ├── edit-paste.png
│ │ ├── edit-redo.png
│ │ ├── edit-undo.png
│ │ ├── fill-color.png
│ │ ├── navigateN.png
│ │ ├── tab-close.png
│ │ ├── tab-detach.png
│ │ ├── AvoDocument.png
│ │ ├── arrow-right.png
│ │ ├── avogadro-icon.png
│ │ ├── document-new.png
│ │ ├── document-open.png
│ │ ├── document-save.png
│ │ ├── edit-remove.png
│ │ ├── selecttable.png
│ │ ├── tab-duplicate.png
│ │ ├── view-restore.png
│ │ ├── document-close.png
│ │ ├── document-export.png
│ │ ├── document-import.png
│ │ ├── document-print.png
│ │ ├── document-revert.png
│ │ ├── edit-add-child.png
│ │ ├── edit-select-all.png
│ │ ├── view-fullscreen.png
│ │ ├── view-list-tree.png
│ │ ├── application-exit.png
│ │ ├── document-save-as.png
│ │ ├── preferences-plugin.png
│ │ ├── tools-report-bug.png
│ │ ├── document-open-recent.png
│ │ └── document-open-remote.png
│ ├── windows
│ │ └── avogadro.rc
│ ├── mac
│ │ ├── avogadro.icns
│ │ ├── AvogadroDocument.icns
│ │ ├── locversion.plist.in
│ │ ├── lang.sh
│ │ └── CreateBundle.sh.in
│ ├── aboutdialog.h
│ ├── enginecolorswidget.ui
│ ├── application.h
│ ├── updatedialog.h
│ └── config.h.in
└── CMakeLists.txt
├── doc
├── figures
│ └── screenshot1.png
├── generate_handbook.sh
├── avogadro.1
└── avopkg.1
├── scripts
├── installer
│ ├── avogadro.ico
│ ├── installer_languages
│ │ ├── german.nsh
│ │ ├── russian.nsh
│ │ └── english.nsh
│ └── Changelog.txt
├── update-po.sh
├── extract-doc-messages.sh
├── clean-po.sh
├── find-po-email.py
├── find-translators.sh
└── runkrazy.rb
├── .gitignore
├── avogadro.pc.in
├── CTestConfig.cmake
├── cmake
└── modules
│ ├── CTestCustom.cmake.in
│ ├── AvogadroConfigVersion.cmake.in
│ ├── cmake_uninstall.cmake.in
│ ├── AvogadroConfig.cmake.in
│ ├── FindNumpy.cmake
│ ├── COPYING-CMAKE-SCRIPTS
│ ├── FindSIP.cmake
│ └── TestIfWeNeedFPermissive.cmake
├── fragments
├── coordination
│ ├── 3-trigonal-planar.cml
│ ├── 3-trigonal-pyramidal.cml
│ ├── 4-planar.cml
│ ├── 4-tetrahedral.cml
│ ├── 5-square-pyramidal.cml
│ ├── 5-trigonal-bipyramidal.cml
│ └── 6-octahedral.cml
├── cyclic_alkanes
│ ├── cyclopropane.cml
│ └── cyclobutane.cml
├── ligands
│ └── Cp-cyclopentadienyl.cml
├── aldehydes
│ └── formaldehyde.cml
└── water.cml
├── AUTHORS
├── avogadro.prf.in
├── crystals
├── ice
│ ├── H2O-Ice-II.cif
│ ├── H2O-Ice-VI.cif
│ └── H2O-Ice-III.cif
├── clays
│ ├── Al2Si2O9H4-Dickite.cif
│ ├── FeSi2O6H-Nontronite.cif
│ ├── Al2Si2O9H4-Kaolinite.cif
│ └── Al4KSi2O12-Illite.cif
├── zeolites
│ ├── EDI.cif
│ ├── NPO.cif
│ ├── OSO.cif
│ └── JBW.cif
└── halides
│ └── AlCl3.cif
└── .travis.yml
/testfiles/VASP-8LiH/KPOINTS:
--------------------------------------------------------------------------------
1 | Automatic generation
2 | 0
3 | Auto
4 | 50
5 |
6 |
--------------------------------------------------------------------------------
/testfiles/c60.fchk.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/testfiles/c60.fchk.gz
--------------------------------------------------------------------------------
/testfiles/spc216.xtc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/testfiles/spc216.xtc
--------------------------------------------------------------------------------
/testfiles/amines.smi:
--------------------------------------------------------------------------------
1 | CN methylamine
2 | CCN ethylamine
3 | CCCNC propylamine
4 | c1ccccc1N aniline
5 |
--------------------------------------------------------------------------------
/libavogadro/src/python.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/python.png
--------------------------------------------------------------------------------
/testfiles/CO-cc-6Z.fchk.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/testfiles/CO-cc-6Z.fchk.gz
--------------------------------------------------------------------------------
/testfiles/ch3cl-esp.cub.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/testfiles/ch3cl-esp.cub.gz
--------------------------------------------------------------------------------
/avogadro/src/icons/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/help.png
--------------------------------------------------------------------------------
/avogadro/src/icons/tool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/tool.png
--------------------------------------------------------------------------------
/avogadro/src/windows/avogadro.rc:
--------------------------------------------------------------------------------
1 | IDI_ICON1 ICON "..\\icons\\avogadro.ico"
2 |
--------------------------------------------------------------------------------
/doc/figures/screenshot1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/doc/figures/screenshot1.png
--------------------------------------------------------------------------------
/avogadro/src/icons/Aspirin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/Aspirin.png
--------------------------------------------------------------------------------
/avogadro/src/icons/arrow-up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/arrow-up.png
--------------------------------------------------------------------------------
/avogadro/src/icons/avogadro.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/avogadro.ico
--------------------------------------------------------------------------------
/avogadro/src/icons/avogadro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/avogadro.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-add.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-cut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-cut.png
--------------------------------------------------------------------------------
/avogadro/src/icons/navigate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/navigate.png
--------------------------------------------------------------------------------
/avogadro/src/icons/rebuild.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/rebuild.png
--------------------------------------------------------------------------------
/avogadro/src/icons/tab-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/tab-new.png
--------------------------------------------------------------------------------
/avogadro/src/mac/avogadro.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/mac/avogadro.icns
--------------------------------------------------------------------------------
/libavogadro/src/tools/align.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/align.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/draw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/draw.png
--------------------------------------------------------------------------------
/scripts/installer/avogadro.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/scripts/installer/avogadro.ico
--------------------------------------------------------------------------------
/testfiles/benzene-homo.cube.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/testfiles/benzene-homo.cube.gz
--------------------------------------------------------------------------------
/testfiles/ch3cl-density.cub.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/testfiles/ch3cl-density.cub.gz
--------------------------------------------------------------------------------
/avogadro/src/icons/arrow-down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/arrow-down.png
--------------------------------------------------------------------------------
/avogadro/src/icons/arrow-left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/arrow-left.png
--------------------------------------------------------------------------------
/avogadro/src/icons/configure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/configure.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-clear.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-copy.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-paste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-paste.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-redo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-redo.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-undo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-undo.png
--------------------------------------------------------------------------------
/avogadro/src/icons/fill-color.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/fill-color.png
--------------------------------------------------------------------------------
/avogadro/src/icons/navigateN.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/navigateN.png
--------------------------------------------------------------------------------
/avogadro/src/icons/tab-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/tab-close.png
--------------------------------------------------------------------------------
/avogadro/src/icons/tab-detach.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/tab-detach.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/measure.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/measure.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/select.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/select.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/zmatrix.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/zmatrix.png
--------------------------------------------------------------------------------
/avogadro/src/icons/AvoDocument.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/AvoDocument.png
--------------------------------------------------------------------------------
/avogadro/src/icons/arrow-right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/arrow-right.png
--------------------------------------------------------------------------------
/avogadro/src/icons/avogadro-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/avogadro-icon.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-new.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-open.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-save.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-save.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-remove.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-remove.png
--------------------------------------------------------------------------------
/avogadro/src/icons/selecttable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/selecttable.png
--------------------------------------------------------------------------------
/avogadro/src/icons/tab-duplicate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/tab-duplicate.png
--------------------------------------------------------------------------------
/avogadro/src/icons/view-restore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/view-restore.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/autorotate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/autorotate.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/manipulate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/manipulate.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/navigate.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/navigate.png
--------------------------------------------------------------------------------
/testfiles/acid_chlorides.smi:
--------------------------------------------------------------------------------
1 | CC(=O)Cl acetyl chloride
2 | CCC(=O)Cl propanoyl chloride
3 | c1ccccc1C(=O)Cl benzoyl chloride
4 |
--------------------------------------------------------------------------------
/avogadro/src/icons/document-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-close.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-export.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-export.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-import.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-import.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-print.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-print.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-revert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-revert.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-add-child.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-add-child.png
--------------------------------------------------------------------------------
/avogadro/src/icons/edit-select-all.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/edit-select-all.png
--------------------------------------------------------------------------------
/avogadro/src/icons/view-fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/view-fullscreen.png
--------------------------------------------------------------------------------
/avogadro/src/icons/view-list-tree.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/view-list-tree.png
--------------------------------------------------------------------------------
/avogadro/src/mac/AvogadroDocument.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/mac/AvogadroDocument.icns
--------------------------------------------------------------------------------
/libavogadro/src/tools/autoopttool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/autoopttool.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/bondcentric.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/tools/bondcentric.png
--------------------------------------------------------------------------------
/avogadro/src/icons/application-exit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/application-exit.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-save-as.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-save-as.png
--------------------------------------------------------------------------------
/avogadro/src/icons/preferences-plugin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/preferences-plugin.png
--------------------------------------------------------------------------------
/avogadro/src/icons/tools-report-bug.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/tools-report-bug.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-open-recent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-open-recent.png
--------------------------------------------------------------------------------
/avogadro/src/icons/document-open-remote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/avogadro/src/icons/document-open-remote.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/gl2ps/gl2ps.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/gl2ps/gl2ps.pdf
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/edit-copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/edit-copy.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/edit-cut.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/edit-cut.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/x-ray-cryos.params:
--------------------------------------------------------------------------------
1 | float da 0
2 | vec3 eyePosition 0 0 0
3 | float maxOpacity 1
4 | float minOpacity 0
5 |
--------------------------------------------------------------------------------
/libavogadro/src/pythontool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | python.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/aligntool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | align.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/drawtool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | draw.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/amarok_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/amarok_back.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/amarok_next.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/amarok_next.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/amarok_play.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/amarok_play.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/amarok_stop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/amarok_stop.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/edit-clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/edit-clear.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/edit-paste.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/edit-paste.png
--------------------------------------------------------------------------------
/scripts/installer/installer_languages/german.nsh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/scripts/installer/installer_languages/german.nsh
--------------------------------------------------------------------------------
/scripts/update-po.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Updating PO translations from POT"
4 | for x in *.po; do
5 | msgmerge -U $x *.pot
6 | done
7 |
8 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/amarok_pause.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/amarok_pause.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/navigatetool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | navigate.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/selectrotatetool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | select.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/zmatrixtool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | zmatrix.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/scripts/extract-doc-messages.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Generating documentation .pot"
4 | xml2po -e -o ../i18n/avogadro-doc.pot ../doc/index.docbook
5 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/icons/document-revert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/icons/document-revert.png
--------------------------------------------------------------------------------
/libavogadro/src/tools/autoopttool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | autoopttool.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/autorotatetool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | autorotate.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/clickmeasuretool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | measure.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/manipulatetool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | manipulate.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/bondcentrictool.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | bondcentric.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/swcntbuilder/tubegen/Core3DMath.c:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/swcntbuilder/tubegen/Core3DMath.c
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/bin/msym_example:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/src/extensions/symmetry/libmsym/bin/msym_example
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/images/05-promote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/probonopd/avogadro/master/libavogadro/examples/thirdPartyExtensions/images/05-promote.png
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/x-ray.params:
--------------------------------------------------------------------------------
1 | vec3 color 0.482353 0.956863 0.917647
2 | float da 0
3 | vec3 eyePosition 0 0 0
4 | float maxOpacity 1
5 | float minOpacity 0
6 |
--------------------------------------------------------------------------------
/scripts/clean-po.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Stripping obsolete PO translations"
4 | for x in *.po; do
5 | msgattrib --no-obsolete -o ${x}.new ${x}
6 | mv ${x}.new ${x}
7 | done
8 |
9 |
--------------------------------------------------------------------------------
/testfiles/ZnO.fract:
--------------------------------------------------------------------------------
1 | ZnO test file
2 | 3.14 3.24 5.18 90.0 90.0 120.0
3 | O 0.66667 0.33333 0.3750
4 | O 0.33333 0.66667 0.8750
5 | Zn 0.66667 0.33333 0.0000
6 | Zn 0.33333 0.66667 0.5000
7 |
--------------------------------------------------------------------------------
/libavogadro/examples/c++/templateextension.mf:
--------------------------------------------------------------------------------
1 | Name: Template of extension
2 | Author: Avogadro Team
3 | Package: templateextension
4 | Files: libtemplateextension.so
5 | Category: contrib
6 | Version: 1
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | CMakeFiles
2 | build
3 | *.[ao]
4 | *.so*
5 | *.qm
6 | *.ts
7 | *.moc
8 | *.log
9 | ui_*.h
10 | moc_*.cxx
11 | qrc_*.cxx
12 | doc/api
13 | cmake_install*
14 | cmake_uninstall*
15 | doc/api
16 |
--------------------------------------------------------------------------------
/doc/generate_handbook.sh:
--------------------------------------------------------------------------------
1 | #/bin/sh
2 | echo "Generating PDF in the subdirectory 'pdf'"
3 | docbook2pdf -o pdf index.docbook
4 |
5 | echo "Generating HTML in the subdirectory 'html'"
6 | docbook2html --output html index.docbook
7 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/animationextension.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | icons/amarok_pause.png
4 | icons/amarok_play.png
5 | icons/amarok_stop.png
6 |
7 |
8 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/phong.params:
--------------------------------------------------------------------------------
1 | vec3 lightDirection0 -1 0 0.2
2 | vec3 lightDirection1 0 1 0.2
3 | vec3 lightDirection2 0.3 0.4 0.9
4 | vec3 lightDirection3 0 -1 0.2
5 | vec4 lightscale 0.5 0.3 0.3 0.1
6 | vec4 material 0.1 1 1 34
7 | float opacity 1
8 | bool orthographic 0
9 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/swcntbuilder/tubegen/AUTHORS:
--------------------------------------------------------------------------------
1 | TubeGen - Nanotube Generator
2 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 |
4 | Written by: Dr. Jeffrey Frey
5 | Email: frey at udel dot edu
6 |
7 | University of Delaware, Network & Systems Services
8 | Newark, DE 19716
9 |
10 |
--------------------------------------------------------------------------------
/avogadro/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | project(avogadro)
2 |
3 | if(WIN32)
4 | add_definitions( -DWIN32 )
5 | # add definitions for OB in WIN32
6 | add_definitions( -DUSING_OBDLL -DUSING_DYNAMIC_LIBS )
7 | endif()
8 |
9 | # tell cmake to process CMakeLists.txt in that subdirectory
10 | add_subdirectory(src)
11 |
--------------------------------------------------------------------------------
/avogadro.pc.in:
--------------------------------------------------------------------------------
1 | prefix=@USER_PREFIX@
2 | exec_prefix=${prefix}
3 | libdir=${exec_prefix}/@LIB_INSTALL_DIR@
4 | includedir=${prefix}/include
5 | pkgincludedir=${includedir}/avogadro
6 |
7 | Name: Avogadro
8 | Description: Avogadro libraries
9 | Version: @Avogadro_VERSION_FULL@
10 | Libs: -L${libdir} -lavogadro
11 | Cflags: -I${pkgincludedir}
12 |
--------------------------------------------------------------------------------
/testfiles/VASP-8LiH/POSCAR:
--------------------------------------------------------------------------------
1 | /vasptmp/8LiH00001x00003/
2 | 1
3 | 8.0805 0 0
4 | -0.116332 8.77828 0
5 | 0.992084 3.07925 6.3039
6 | 3 3
7 | Direct
8 | 0.679785 0.692614 0.771656
9 | 0.119499 0.209146 0.616555
10 | 0.580429 0.856556 0.169955
11 | 0.872621 0.959105 0.512481
12 | 0.716078 0.153642 0.08184
13 | 0.672454 0.351611 0.709959
14 |
15 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/cartesianextension.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | icons/document-revert.png
4 | icons/edit-paste.png
5 | icons/edit-clear.png
6 | icons/edit-copy.png
7 | icons/edit-cut.png
8 |
9 |
10 |
--------------------------------------------------------------------------------
/testfiles/methane.inp:
--------------------------------------------------------------------------------
1 | #P Gfinput IOP(6/7=3) HF/6-31G opt freq=hpmodes
2 |
3 |
4 |
5 | 0 1
6 | C -0.00092 -0.00000 -0.00289
7 | H -0.62971 -0.93095 -0.19667
8 | H -0.62951 0.93099 -0.19709
9 | H 0.92146 -0.00025 -0.67283
10 | H 0.34326 0.00021 1.08392
11 |
12 |
--------------------------------------------------------------------------------
/libavogadro/src/python/unittest/template.py:
--------------------------------------------------------------------------------
1 | import Avogadro
2 | import unittest
3 | from numpy import *
4 |
5 | class TestTemplate(unittest.TestCase):
6 | def setUp(self):
7 | # this method is called before running each test...() method
8 |
9 | def test_test1(self):
10 | # code goes here...
11 |
12 |
13 |
14 |
15 |
16 | if __name__ == "__main__":
17 | unittest.main()
18 |
--------------------------------------------------------------------------------
/CTestConfig.cmake:
--------------------------------------------------------------------------------
1 | set(CTEST_PROJECT_NAME "Avogadro")
2 | set(CTEST_NIGHTLY_START_TIME "21:00:00 EST")
3 |
4 | set(CTEST_DROP_METHOD "http")
5 | set(CTEST_DROP_SITE "my.cdash.org")
6 | set(CTEST_DROP_LOCATION "/submit.php?project=Avogadro")
7 | set(CTEST_DROP_SITE_CDASH TRUE)
8 |
9 | set(CTEST_PROJECT_SUBPROJECTS
10 | avogadro
11 | engines
12 | tools
13 | extensions
14 | colors
15 | avogadro-app)
16 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/per_pixel2.vert:
--------------------------------------------------------------------------------
1 | varying vec3 Normal;
2 | varying vec3 Light;
3 | varying vec3 HalfVector;
4 |
5 | void main(void)
6 | {
7 | Normal = normalize(gl_NormalMatrix * gl_Normal);
8 |
9 | Light = normalize(gl_LightSource[0].position.xyz);
10 |
11 | HalfVector = normalize(gl_LightSource[0].halfVector.xyz);
12 |
13 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
14 | }
--------------------------------------------------------------------------------
/scripts/find-po-email.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | import sys, string
4 |
5 | emails = []
6 | for line in sys.stdin.readlines():
7 | cleanedLine = string.strip(string.strip(string.lstrip(line, "msgstr")), '"')
8 | for address in string.split(cleanedLine, ','):
9 | if (len(address)):
10 | emails.append(address)
11 |
12 | emails.sort()
13 | for email in emails:
14 | print email
15 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/per-pixel-lighting.vert:
--------------------------------------------------------------------------------
1 | varying vec3 Normal;
2 | varying vec3 Light;
3 | varying vec3 HalfVector;
4 |
5 | void main(void)
6 | {
7 | Normal = normalize(gl_NormalMatrix * gl_Normal);
8 |
9 | Light = normalize(gl_LightSource[0].position.xyz);
10 |
11 | HalfVector = normalize(gl_LightSource[0].halfVector.xyz);
12 |
13 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
14 | }
--------------------------------------------------------------------------------
/libavogadro/src/python/periodictableview.cpp:
--------------------------------------------------------------------------------
1 | // Last update: timvdm 12 May 2009
2 |
3 | #include
4 |
5 | #include
6 |
7 | using namespace boost::python;
8 | using namespace Avogadro;
9 |
10 | void export_PeriodicTableView()
11 | {
12 |
13 | class_("PeriodicTableView")
14 | .def(init())
15 | ;
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/clip.vert:
--------------------------------------------------------------------------------
1 | // Taken from Molekel trunk 3 December 2008
2 | varying vec4 pos;
3 | varying vec3 normal;
4 | varying vec4 color;
5 | uniform float factor;
6 | void main()
7 | {
8 | pos = gl_Vertex;
9 | pos.xyz /= gl_Vertex.w;
10 | pos.xyz *= factor;
11 | normal = normalize( gl_NormalMatrix * gl_Normal );
12 | color = gl_Color;
13 | gl_Position = ftransform();
14 |
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/scripts/find-translators.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # This can probably all be done in python, but this works
4 |
5 | for x in i18n/*.po; do
6 | # Finding e-mail addresses
7 | # msggrep --no-wrap -w 20480 --msgctxt -e 'EMAIL OF TRANSLATORS' $x | grep msgstr | grep "@"
8 | # Finding names
9 | msggrep --no-wrap -w 20480 --msgctxt -e 'NAME OF TRANSLATORS' $x | grep msgstr
10 | done | python ./scripts/find-po-email.py | sort -b -f -u | grep -v "Launchpad Contributions"
11 |
--------------------------------------------------------------------------------
/avogadro/src/mac/locversion.plist.in:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | LprojCompatibleVersion
6 | VERSION
7 | LprojLocale
8 | LANG
9 | LprojRevisionLevel
10 | 1
11 | LprojVersion
12 | VERSION
13 |
14 |
15 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/libmsymConfigVersion.cmake.in:
--------------------------------------------------------------------------------
1 | set(PACKAGE_VERSION "@LIBMSYM_VERSION@")
2 |
3 | # Check whether the requested PACKAGE_FIND_VERSION is compatible
4 | if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
5 | set(PACKAGE_VERSION_COMPATIBLE FALSE)
6 | else()
7 | set(PACKAGE_VERSION_COMPATIBLE TRUE)
8 | if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
9 | set(PACKAGE_VERSION_EXACT TRUE)
10 | endif()
11 | endif()
12 |
--------------------------------------------------------------------------------
/libavogadro/src/python/unittest/util.py:
--------------------------------------------------------------------------------
1 | def testReadOnlyProperty(testcase, property, value):
2 | property # check if the property is there
3 | testcase.assertEqual(property, value) # check the value
4 |
5 | def testReadWriteProperty(testcase, property, initValue, setValue):
6 | property # check if the property is there
7 | testcase.assertEqual(property, initValue) # check the initial value
8 | property = setValue
9 | testcase.assertEqual(property, setValue) # check the set value
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/avogadro/src/mac/lang.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #
3 | # Language script for Cmake -- run a few sed commands to create a proper
4 | # locversion.plist file
5 | #
6 | # Arguments:
7 | # ${SRC_DIR} = this directory (which contains locversion.plist.in)
8 | # ${MAC_LANG_DIR} = build directory for ${lang}.lproj
9 | # ${VERSION}
10 | # ${lang}
11 |
12 | SRC_DIR=$1
13 | MAC_LANG_DIR=$2
14 | VERSION=$3
15 | lang=$4
16 |
17 | sed -e "s/LANG/${lang}/" <${SRC_DIR}/locversion.plist.in | \
18 | sed -e "s/VERSION/${VERSION}/" >${MAC_LANG_DIR}/locversion.plist
--------------------------------------------------------------------------------
/libavogadro/src/extensions/swcntbuilder/tubegen/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(tubegen_SRCS
2 | Bitmap.c
3 | Core3DMath.c
4 | eprintf.c
5 |
6 | ANSR.cpp
7 | Cell.cpp
8 | CrystalCell.cpp
9 | diamond.cpp
10 | fcc.cpp
11 | graphite.cpp
12 | TubeGen.cpp
13 | TubuleBasis.cpp
14 | )
15 |
16 | add_library(tubegen STATIC ${tubegen_SRCS})
17 |
18 | # Suppress warnings
19 | set_target_properties(tubegen PROPERTIES COMPILE_FLAGS "-w")
20 |
21 | # Set PIC flag
22 | set_target_properties(tubegen PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
23 |
--------------------------------------------------------------------------------
/libavogadro/examples/c++/templateextension.pro:
--------------------------------------------------------------------------------
1 | ######################################################################
2 | # Example QMake project building a 3rd party extension against
3 | # installed Avogadro library.
4 | # See http://avogadro.cc/ for more information.
5 | ######################################################################
6 |
7 | TEMPLATE = lib
8 | TARGET = templateextension
9 | DEPENDPATH += .
10 | INCLUDEPATH += .
11 | QT += opengl
12 | CONFIG += qt avogadro
13 |
14 | # Input
15 | HEADERS += templateextension.h
16 | SOURCES += templateextension.cpp
17 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/gl2ps/README.txt:
--------------------------------------------------------------------------------
1 | This is GL2PS, an OpenGL to PostScript (and PDF, and SVG...) printing
2 | library.
3 |
4 | GL2PS is available at http://geuz.org/gl2ps/ and is released under
5 | the GNU Library General Public License (see COPYING.LGPL). GL2PS can also
6 | be used under an alternative license that allows (amongst other things, and
7 | under certain conditions) for static linking with closed-source software
8 | (see COPYING.GL2PS).
9 |
10 | Examples are provided in the gl2psTestSimple.c and gl2psTest.c
11 | files. See the documentation for further information.
12 |
--------------------------------------------------------------------------------
/libavogadro/src/python/elementtranslator.cpp:
--------------------------------------------------------------------------------
1 | // Last update: timvdm 18 June 2009
2 | #include
3 |
4 | #include
5 |
6 | using namespace boost::python;
7 | using namespace Avogadro;
8 |
9 | void export_ElementTranslator()
10 | {
11 |
12 | class_("ElementTranslator", no_init)
13 | //
14 | // real functions
15 | //
16 | .def("name",
17 | &ElementTranslator::name,
18 | "Translate element names.")
19 | .staticmethod("name")
20 | ;
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/cmake/modules/CTestCustom.cmake.in:
--------------------------------------------------------------------------------
1 | list(APPEND CTEST_CUSTOM_WARNING_EXCEPTION
2 | ${CTEST_CUSTOM_WARNING_EXCEPTION}
3 | # "python" # Our Python bindings are too noisy to be useful right now
4 | # This one may need more attention - can eigen.cpp be improved?
5 | "libavogadro/src/python/eigen.cpp" # Lots of compiler warnings
6 | "libavogadro/gl2ps/gl2ps.c"
7 | "eigen2/Eigen"
8 | "C4305:" # Truncation from double to float
9 | "C4291:" # Eigen errors - no matching delete found
10 | )
11 |
12 | list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
13 | ".moc"
14 | "ui_*.h"
15 | )
16 |
17 |
--------------------------------------------------------------------------------
/fragments/coordination/3-trigonal-planar.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/fragments/coordination/3-trigonal-pyramidal.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/spectra/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
2 |
3 | set(LINK_LIBS avogadro)
4 | set(PLUGIN_LABEL extensions)
5 | set(PLUGIN_TARGET extensions)
6 |
7 | ### Vibrations
8 | avogadro_plugin_nogl(vibrationextension
9 | "vibrationextension.cpp;vibrationwidget.cpp"
10 | vibrationwidget.ui)
11 |
12 | ### Spectra
13 | avogadro_plugin_nogl(spectraextension
14 | "spectraextension.cpp;spectradialog.cpp;spectratype.cpp;abstract_ir.cpp;ir.cpp;nmr.cpp;dos.cpp;uv.cpp;cd.cpp;raman.cpp"
15 | "spectradialog.ui;tab_ir_raman.ui;tab_nmr.ui;tab_dos.ui;tab_uv.ui;tab_cd.ui")
16 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/elements.h:
--------------------------------------------------------------------------------
1 | //
2 | // elements.h
3 | // libmsym
4 | //
5 | // Created by Marcus Johansson on 17/02/15.
6 | // Copyright (c) 2015 Marcus Johansson.
7 | //
8 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 | //
10 |
11 | #ifndef __MSYM__ELEMENTS_h
12 | #define __MSYM__ELEMENTS_h
13 |
14 | #include
15 |
16 | #include "msym.h"
17 |
18 | void printElement(msym_element_t *element);
19 | msym_error_t complementElementData(msym_element_t *element);
20 |
21 | #endif /* defined(__MSYM__ELEMENTS_h) */
22 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/x-ray.vert:
--------------------------------------------------------------------------------
1 | // X-ray shader
2 | // Set eye position , normal and transformed vertex position
3 |
4 | varying vec3 ViewDirection;
5 | varying vec3 Normal;
6 |
7 | uniform vec3 eyePosition;
8 |
9 | void main( void )
10 | {
11 | // World coordinates.
12 | vec4 vertexPosition = gl_ModelViewMatrix * gl_Vertex;
13 | // View Direction.
14 | ViewDirection = normalize( eyePosition - vertexPosition.xyz );
15 | // Vertex Normal.
16 | Normal = gl_NormalMatrix * gl_Normal;
17 | // Assign transformed vertex coordinates to GLSL variable.
18 | gl_Position = ftransform();
19 | }
--------------------------------------------------------------------------------
/testfiles/methane.mp:
--------------------------------------------------------------------------------
1 | *** Jobname.Temp
2 | !file,2,INSERT WAVEFUNCTION FILE LOCATION HERE
3 | !memory,INSERT MEMORY HERE
4 | basis,6-31g
5 |
6 | gprint,basis
7 | gprint,orbitals
8 |
9 | geomtyp=xyz
10 | geometry={
11 | 5
12 | Geometry specification:
13 | C, -0.00092, -0.00000, -0.00289
14 | H, -0.62971, -0.93095, -0.19667
15 | H, -0.62951, 0.93099, -0.19709
16 | H, 0.92146, -0.00025, -0.67283
17 | H, 0.34326, 0.00021, 1.08392
18 | }
19 |
20 | !INSERT QM METHODS HERE
21 | hf
22 | orbprint,12
23 |
24 | frequencies
25 | ---
26 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/x-ray-cryos.vert:
--------------------------------------------------------------------------------
1 | // X-ray shader
2 | // Set eye position , normal and transformed vertex position
3 |
4 | varying vec3 ViewDirection;
5 | varying vec3 Normal;
6 |
7 | uniform vec3 eyePosition;
8 |
9 | void main( void )
10 | {
11 | // World coordinates.
12 | vec4 vertexPosition = gl_ModelViewMatrix * gl_Vertex;
13 | // View Direction.
14 | ViewDirection = normalize( eyePosition - vertexPosition.xyz );
15 | // Vertex Normal.
16 | Normal = gl_NormalMatrix * gl_Normal;
17 | // Assign transformed vertex coordinates to GLSL variable.
18 | gl_Position = ftransform();
19 | }
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/libmsymConfig.cmake.in:
--------------------------------------------------------------------------------
1 | # LIBMSYM_INCLUDE_DIRS - include directories for FooBar
2 | # LIBMSYM_LIBRARIES - libraries to link against
3 |
4 | # Compute paths
5 | get_filename_component(LIBMSYM_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
6 | set(LIBMSYM_INCLUDE_DIRS "@CONF_INCLUDE_DIRS@")
7 |
8 | # Our library dependencies (contains definitions for IMPORTED targets)
9 | if(NOT TARGET msym AND NOT LIBMSYM_BINARY_DIR)
10 | include("${LIBMSYM_CMAKE_DIR}/libmsymTargets.cmake")
11 | endif()
12 |
13 | # These are IMPORTED targets created by FooBarTargets.cmake
14 | set(LIBMSYM_LIBRARIES msym)
15 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/symmetry.h:
--------------------------------------------------------------------------------
1 | //
2 | // symmetry.h
3 | // libmsym
4 | //
5 | // Created by Marcus Johansson on 12/04/14.
6 | // Copyright (c) 2014 Marcus Johansson.
7 | //
8 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 | //
10 |
11 | #ifndef __MSYM_SYMMETRY_h
12 | #define __MSYM_SYMMETRY_h
13 |
14 | #include "msym.h"
15 | #include "symop.h"
16 |
17 | msym_error_t findSymmetryOperations(int esl, msym_equivalence_set_t es[esl], msym_thresholds_t *t, int *lsops, msym_symmetry_operation_t **sops);
18 |
19 | #endif /* defined(__MSYM_SYMMETRY_h) */
20 |
--------------------------------------------------------------------------------
/testfiles/VASP-8LiH/readme:
--------------------------------------------------------------------------------
1 | This is a sample of a VASP input set. The POSCAR contains the positions of the atoms and unit cell parameters. The other important file (not included) is the CONTCAR file, which contains the output cell and positions in the same format as the POSCAR.
2 |
3 | Information on the files can be found here:
4 |
5 | http://cms.mpi.univie.ac.at/vasp/vasp/vasp.html
6 |
7 | Currently, OpenBabel will open either the POSCAR and CONTCAR files using the OBConversion::ReadFile(). OBConversion::Read() will _not_ work, as the entire path to the POSCAR/CONTCAR is needed. The POTCAR file contains the identities of the atoms and is also necessary for reading.
--------------------------------------------------------------------------------
/cmake/modules/AvogadroConfigVersion.cmake.in:
--------------------------------------------------------------------------------
1 | # Avogadro CMake version file - http://avogadro.cc/
2 |
3 | set(PACKAGE_VERSION @Avogadro_VERSION_MAJOR@.@Avogadro_VERSION_MINOR@.@Avogadro_VERSION_PATCH@)
4 |
5 | if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
6 | set(PACKAGE_VERSION_COMPATIBLE FALSE)
7 | else("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
8 | set(PACKAGE_VERSION_COMPATIBLE TRUE)
9 | if("${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
10 | set(PACKAGE_VERSION_EXACT TRUE)
11 | endif("${PACKAGE_FIND_VERSION}" STREQUAL "${PACKAGE_VERSION}")
12 | endif("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
13 |
14 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/clip.frag:
--------------------------------------------------------------------------------
1 | // Taken from Molekel trunk 3 December 2008
2 | uniform float xmin;
3 | uniform float xmax;
4 | uniform float ymin;
5 | uniform float ymax;
6 | uniform float zmin;
7 | uniform float zmax;
8 |
9 | varying vec4 color;
10 | varying vec3 normal;
11 | varying vec4 pos;
12 |
13 |
14 | vec3 lightDir = vec3( 0., 0., 1. );
15 |
16 | void main()
17 | {
18 | if( pos.x < xmin || pos.x > xmax ||
19 | pos.y < ymin || pos.y > ymax ||
20 | pos.z < zmin || pos.z > zmax ) discard;
21 |
22 | const float kd = abs( dot( normalize( lightDir ), normal ) );
23 | gl_FragColor = vec4( color.rgb * kd, color.a );
24 |
25 | }
26 |
27 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
2 | include_directories(${CMAKE_CURRENT_SOURCE_DIR})
3 |
4 | # Create a list of all source files
5 | set(symmetryextension_SRCS
6 | symmetryextension.cpp
7 | )
8 |
9 | # Create a list of all ui files
10 | set(symmetryextension_UIS
11 | symmetrydialog.ui
12 | )
13 |
14 | # Create the extension target swcntbuilderextension
15 | avogadro_plugin(symmetryextension
16 | "${symmetryextension_SRCS}"
17 | "${symmetryextension_UIS}")
18 |
19 | add_subdirectory(libmsym)
20 |
21 | set_target_properties(msym PROPERTIES POSITION_INDEPENDENT_CODE "TRUE")
22 | target_link_libraries(symmetryextension msym)
23 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/swcntbuilder/tubegen/Constants.h:
--------------------------------------------------------------------------------
1 | //==========================================================
2 | //
3 | // Constants.h
4 | //
5 | // A component of the TubeGen program
6 | //
7 | // Key numerical constants used throughout.
8 | //
9 | // Created: 26.JAN.2002
10 | // Last Mod: n/a
11 | //
12 |
13 | #ifndef __CONSTANTS__
14 | #define __CONSTANTS__
15 |
16 | #define ANGSTROM_PER_BOHR 0.5291772083
17 | #define kStandardCarbonCarbon 1.421
18 | // Chiral padding determined as half the interlayer
19 | // spacing of graphite:
20 | #define kStandardChiralPadding 1.6735
21 |
22 | #endif //__CONSTANTS__
23 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/x-ray.frag:
--------------------------------------------------------------------------------
1 | // X-ray shader
2 | // Opacity is proportional to angle between view vector and surface normal.
3 | // Fragment whose dNormal is less than a specified threshold are discarded; i.e.
4 | // flat areas facing the viewer are completely transparent
5 |
6 | varying vec3 ViewDirection;
7 | varying vec3 Normal;
8 |
9 | uniform float minOpacity;
10 | uniform float maxOpacity;
11 | uniform vec3 color;
12 | uniform float da;
13 |
14 | void main(void)
15 | {
16 | float opacity = 1.0 - abs( dot( ViewDirection, Normal ) );
17 | opacity = clamp( opacity, minOpacity, maxOpacity );
18 | if( opacity < da ) discard;
19 | gl_FragColor = vec4( color, opacity );
20 | }
21 |
--------------------------------------------------------------------------------
/fragments/coordination/4-planar.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/fragments/coordination/4-tetrahedral.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/orca/CMakeLists.txt:
--------------------------------------------------------------------------------
1 |
2 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
3 |
4 | set(LINK_LIBS avogadro)
5 | set(PLUGIN_LABEL extensions)
6 | set(PLUGIN_TARGET extensions)
7 |
8 | # Create a list of all source files
9 | set( orcaextension_SRCS
10 | orcaextension.cpp
11 | orcainputdialog.cpp
12 | orcaanalysedialog.cpp
13 | orcaspectra.cpp
14 | orcadata.cpp
15 | )
16 |
17 | # Create a list of all ui files
18 | set( orcaextension_UIS
19 | orcainputdialog.ui
20 | orcaanalysedialog.ui
21 | orcaspectra.ui
22 | )
23 |
24 | # Create the extension target orcaextension
25 | avogadro_plugin_nogl(orcaextension "${orcaextension_SRCS}" "${orcaextension_UIS}")
26 |
27 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/qtaim/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
2 |
3 | set(LINK_LIBS avogadro)
4 | set(PLUGIN_LABEL extensions)
5 | set(PLUGIN_TARGET extensions)
6 |
7 | set(qtaimextension_SRCS
8 | qtaimextension.cpp
9 | # qtaimdialog.cpp
10 | qtaimwavefunction.cpp
11 | qtaimwavefunctionevaluator.cpp
12 | qtaimodeintegrator.cpp
13 | qtaimcriticalpointlocator.cpp
14 | qtaimmathutilities.cpp
15 | qtaimodeintegrator.cpp
16 | qtaimlsodaintegrator.cpp
17 | qtaimcubature.cpp
18 | )
19 |
20 | #set(qtaim_UIS
21 | # qtaimdialog.ui
22 | #)
23 |
24 | avogadro_plugin_nogl(qtaimextension
25 | "${qtaimextension_SRCS}"
26 | # "${qtaimextension_UIS}"
27 | )
28 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/plasma.vert:
--------------------------------------------------------------------------------
1 | //
2 | // Simple vertex shader for wood
3 | //
4 | // Author: John Kessenich
5 | //
6 | // Copyright (c) 2002-2004 3Dlabs Inc. Ltd.
7 | //
8 | // See 3Dlabs-License.txt for license information
9 | //
10 |
11 | varying float lightIntensity;
12 | varying vec3 Position;
13 | uniform vec3 LightPosition;
14 | uniform float Scale;
15 |
16 | void main(void)
17 | {
18 | vec4 pos = gl_ModelViewMatrix * gl_Vertex;
19 | Position = vec3(gl_Vertex) * Scale;
20 | vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal);
21 | lightIntensity = max(dot(normalize(LightPosition - vec3(pos)), tnorm), 0.0) * 1.5;
22 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
23 | }
24 |
--------------------------------------------------------------------------------
/scripts/installer/Changelog.txt:
--------------------------------------------------------------------------------
1 | Version 1.0
2 |
3 | - The file extension ".cml" is registered to be opened with Avogadro when
4 | double-clicking on cml-files (can be deselected in the installer menu)
5 | - Desktop icon is provided (can be deselected in the installer menu)
6 | - Avogadro is installed for all users, when the the user is admin
7 | - Installer is translatable
8 | - English and German translation is delivered, (the installer detects the
9 | used language by checking the default language of Windows)
10 | - Installer can also be used under Windows Vista
11 | - Avogardo is correctly uninstalled
12 | - Avogadro can be directly started after the installation (checkbox in
13 | the last installer window)
--------------------------------------------------------------------------------
/AUTHORS:
--------------------------------------------------------------------------------
1 | All contributors, in alphabetical order:
2 |
3 | Shahzad Ali
4 | Michael Banck
5 | Ross Braithwaite
6 | James Bunt
7 | Donald Ephraim Curtis
8 | Naomi Fox
9 | Marcus D. Hanwell
10 | Geoffrey Hutchison
11 | Benoit Jacob
12 | David Lonie
13 | Jordan Mantha
14 | Carsten Niehaus
15 | Simon Ochsenreither
16 | Konstantin Tokarev
17 | David Toneian
18 | Tim Vandermeersch
19 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/x-ray-cryos.frag:
--------------------------------------------------------------------------------
1 | // X-ray shader
2 | // Opacity is proportional to angle between view vector and surface normal.
3 | // Fragment whose dNormal is less than a specified threshold are discarded; i.e.
4 | // flat areas facing the viewer are completely transparent
5 |
6 | varying vec3 ViewDirection;
7 | varying vec3 Normal;
8 |
9 | uniform float minOpacity;
10 | uniform float maxOpacity;
11 | uniform float da;
12 |
13 | void main(void)
14 | {
15 | float opacity = 1.0 - abs( dot( ViewDirection, Normal ) );
16 | opacity = clamp( opacity, minOpacity, maxOpacity );
17 | if( opacity < da ) discard;
18 | vec3 myColor = gl_FrontMaterial.ambient;
19 | gl_FragColor = vec4(myColor, opacity);
20 | }
21 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/swcntbuilder/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
2 | include_directories(${CMAKE_CURRENT_SOURCE_DIR})
3 |
4 | # Create a list of all source files
5 | set(swcntbuilderextension_SRCS
6 | ../insertcommand.cpp
7 | swcntbuilderextension.cpp
8 | swcntbuilderwidget.cpp
9 | avotubegen.cpp
10 | )
11 |
12 | # Create a list of all ui files
13 | set(swcntbuilderextension_UIS
14 | swcntbuilderwidget.ui
15 | )
16 |
17 | # Create the extension target swcntbuilderextension
18 | avogadro_plugin(swcntbuilderextension
19 | "${swcntbuilderextension_SRCS}"
20 | "${swcntbuilderextension_UIS}")
21 |
22 | add_subdirectory(tubegen)
23 |
24 | target_link_libraries(swcntbuilderextension tubegen)
25 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/crystallography/spglib/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | set(spglib_SRCS
2 | arithmetic.c
3 | cell.c
4 | debug.c
5 | delaunay.c
6 | hall_symbol.c
7 | lattice.c
8 | mathfunc.c
9 | niggli.c
10 | pointgroup.c
11 | primitive.c
12 | refinement.c
13 | spacegroup.c
14 | spg_database.c
15 | spglib.c
16 | symmetry.c
17 | kgrid.c
18 | kpoint.c
19 | site_symmetry.c
20 | sitesym_database.c
21 | spglib_f.c
22 | spin.c
23 | tetrahedron_method.c
24 | )
25 |
26 | add_library(spglib STATIC ${spglib_SRCS})
27 |
28 | # Suppress spglib warnings
29 | set_target_properties(spglib PROPERTIES COMPILE_FLAGS "-w")
30 |
31 | # Set PIC flag
32 | set_target_properties(spglib PROPERTIES POSITION_INDEPENDENT_CODE TRUE)
33 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/per_pixel2.frag:
--------------------------------------------------------------------------------
1 | varying vec3 Normal;
2 | varying vec3 Light;
3 | varying vec3 HalfVector;
4 |
5 |
6 | // max(abs( dot(n, Light) ),0.0) --> abs( dot(n, Light) ) to fix an issue with OpenMOIV
7 |
8 | void main(void)
9 | {
10 | vec3 n = normalize(Normal);
11 |
12 | vec4 Diffuse = ( gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse ) * abs( dot(n, Light) );
13 |
14 | vec4 Ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
15 | Ambient += gl_LightModel.ambient * gl_FrontMaterial.ambient;
16 |
17 | vec4 Specular = ( gl_FrontMaterial.specular * gl_LightSource[0].specular ) * pow(abs(dot(n,HalfVector)), gl_FrontMaterial.shininess );
18 |
19 | gl_FragColor = Ambient + Diffuse + Specular;
20 | }
--------------------------------------------------------------------------------
/testfiles/VASP-8LiH/INCAR:
--------------------------------------------------------------------------------
1 | /vasptmp/8LiH00001x00003/
2 |
3 | # output options
4 | LWAVE = .FALSE. # write or don't write WAVECAR
5 | LCHARG = .FALSE. # write or don't write CHG and CHGCAR
6 | LELF = .FALSE. # write ELF
7 |
8 | # ionic relaxation
9 | NSW = 100 # number of ionic steps
10 | IBRION = 2 # 2=conjucate gradient, 1=Newton like
11 | ISIF = 3 # 3=relax everything, 2=relax ions only, 4=keep volume fixed
12 |
13 | # precision parameters
14 | EDIFF = 1E-3 # 1E-3 very low precision for pre-relaxation, use 1E-5 next
15 | EDIFFG = 1E-2 # usually: 10 * EDIFF
16 | PREC = med # precision low, med, high, accurate
17 |
18 | # electronic relaxation
19 | ISMEAR = -5 # -5 = tetraedon, 1..N = Methfessel
20 | ENCUT = 250 # cutoff energy
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/per-pixel-lighting.frag:
--------------------------------------------------------------------------------
1 | varying vec3 Normal;
2 | varying vec3 Light;
3 | varying vec3 HalfVector;
4 |
5 |
6 | // max(abs( dot(n, Light) ),0.0) --> abs( dot(n, Light) ) to fix an issue with OpenMOIV
7 |
8 | void main(void)
9 | {
10 | vec3 n = normalize(Normal);
11 |
12 | vec4 Diffuse = ( gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse ) * abs( dot(n, Light) );
13 |
14 | vec4 Ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
15 | Ambient += gl_LightModel.ambient * gl_FrontMaterial.ambient;
16 |
17 | vec4 Specular = ( gl_FrontMaterial.specular * gl_LightSource[0].specular ) * pow(abs(dot(n,HalfVector)), gl_FrontMaterial.shininess );
18 |
19 | gl_FragColor = Ambient + Diffuse + Specular;
20 | }
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/gooch.vert:
--------------------------------------------------------------------------------
1 | //
2 | // Vertex shader for Gooch shading
3 | //
4 | // Author: Randi Rost
5 | //
6 | // Copyright (c) 2002-2005 3Dlabs Inc. Ltd.
7 | //
8 | // See 3Dlabs-License.txt for license information
9 | //
10 |
11 | uniform vec3 LightPosition; // (0.0, 10.0, 4.0)
12 |
13 | varying float NdotL;
14 | varying vec3 ReflectVec;
15 | varying vec3 ViewVec;
16 |
17 | void main()
18 | {
19 | vec3 ecPos = vec3(gl_ModelViewMatrix * gl_Vertex);
20 | vec3 tnorm = normalize(gl_NormalMatrix * gl_Normal);
21 | vec3 lightVec = normalize(LightPosition - ecPos);
22 | ReflectVec = normalize(reflect(-lightVec, tnorm));
23 | ViewVec = normalize(-ecPos);
24 | NdotL = (dot(lightVec, tnorm) + 1.0) * 0.5;
25 | gl_Position = ftransform();
26 | }
--------------------------------------------------------------------------------
/fragments/coordination/5-square-pyramidal.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/libavogadro/examples/python/extensiontemplate.py:
--------------------------------------------------------------------------------
1 | from PyQt4.QtCore import *
2 | from PyQt4.QtGui import *
3 | from numpy import *
4 | import Avogadro
5 |
6 | # always use 'Extension' for class name
7 | class Extension(QObject):
8 | def __init__(self):
9 | QObject.__init__(self)
10 |
11 | def name(self):
12 | return "My Extension"
13 |
14 | def description(self):
15 | return "Extension for ..."
16 |
17 | def actions(self):
18 | actions = []
19 |
20 | action = QAction(self)
21 | action.setText("Some action")
22 | actions.append(action)
23 |
24 | return actions
25 |
26 | def menuPath(self, action):
27 | return "Extensions"
28 |
29 | def performAction(self, action, glwidget):
30 | if action.text() == "Some action":
31 | # do something...
32 | return None
33 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/geometry.h:
--------------------------------------------------------------------------------
1 | //
2 | // geometry.h
3 | // libmsym
4 | //
5 | // Created by Marcus Johansson on 28/11/14.
6 | // Copyright (c) 2014 Marcus Johansson.
7 | //
8 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 | //
10 |
11 | #ifndef __MSYM__GEOMETRY_h
12 | #define __MSYM__GEOMETRY_h
13 |
14 | #include
15 | #include "msym.h"
16 |
17 | msym_error_t findGeometry(int length, msym_element_t *elements[length], double cm[3], msym_thresholds_t *thresholds, msym_geometry_t *g, double e[3], double v[3][3]);
18 | msym_error_t findCenterOfMass(int length, msym_element_t *elements[length], double v[3]);
19 | int geometryDegenerate(msym_geometry_t g);
20 | void printGeometry(msym_geometry_t g);
21 |
22 | #endif /* defined(__MSYM__GEOMETRY_h) */
23 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/02-DynamicDisplay/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Dynamic Display Avogadro extension.
2 | # See http://avogadro.cc/ for more information.
3 |
4 | # Project name
5 | project(DynamicDisplayExtension)
6 |
7 | # Minimum version of CMake that can be used
8 | cmake_minimum_required(VERSION 2.6)
9 |
10 | set(QT_MIN_VERSION "4.5.0")
11 | find_package(Qt4 REQUIRED)
12 | find_package(Avogadro REQUIRED)
13 | include(${Avogadro_USE_FILE})
14 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
15 |
16 | set( dynamicdisplayextension_SRCS
17 | dynamicdisplayextension.cpp
18 | dynamicdisplaydialog.cpp
19 | )
20 |
21 | set( dynamicdisplayextension_UIS
22 | dynamicdisplaydialog.ui
23 | )
24 |
25 | avogadro_plugin( dynamicdisplayextension
26 | "${dynamicdisplayextension_SRCS}"
27 | "${dynamicdisplayextension_UIS}")
28 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/crystallography/spglib/lattice.h:
--------------------------------------------------------------------------------
1 | /* lattice.h */
2 | /* Copyright (C) 2008 Atsushi Togo */
3 |
4 | #ifndef __lattice_H__
5 | #define __lattice_H__
6 |
7 | #include "mathfunc.h"
8 |
9 | typedef enum {
10 | NO_CENTER,
11 | BODY,
12 | FACE,
13 | A_FACE,
14 | B_FACE,
15 | C_FACE,
16 | BASE,
17 | R_CENTER,
18 | } Centering;
19 |
20 | typedef enum {
21 | LAUE1,
22 | LAUE2M,
23 | LAUEMMM,
24 | LAUE4M,
25 | LAUE4MMM,
26 | LAUE3,
27 | LAUE3M,
28 | LAUE6M,
29 | LAUE6MMM,
30 | LAUEM3,
31 | LAUEM3M,
32 | } Laue;
33 |
34 | int lat_smallest_lattice_vector(double lattice_new[3][3],
35 | SPGCONST double lattice[3][3],
36 | const double symprec);
37 | Centering lat_get_centering(double correction_mat[3][3],
38 | SPGCONST int transform_mat[3][3],
39 | const Laue laue);
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/03-ViewPlane/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Hello World Avogadro extension.
2 | # See http://avogadro.cc/ for more information.
3 |
4 | # Project name
5 | project(ViewPlaneExtension)
6 |
7 | # Minimum version of CMake that can be used
8 | cmake_minimum_required(VERSION 2.6)
9 |
10 | # Set up Qt
11 | set(QT_MIN_VERSION "4.5.0")
12 | find_package(Qt4 REQUIRED)
13 |
14 | # Set up Avogadro
15 | find_package(Avogadro REQUIRED)
16 | include(${Avogadro_USE_FILE})
17 |
18 | # Specify include directories
19 | include_directories(
20 | # Needed to include Qt moc'd headers
21 | ${CMAKE_CURRENT_BINARY_DIR}
22 | )
23 |
24 | # Create a list of all source files
25 | set( viewplaneextension_SRCS
26 | viewplaneextension.cpp
27 | )
28 |
29 | # Create the extension target viewplaneextension
30 | avogadro_plugin(viewplaneextension "${viewplaneextension_SRCS}")
31 |
32 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/light.frag:
--------------------------------------------------------------------------------
1 | varying vec4 diffuse,ambient;
2 | varying vec3 normal,lightDir,halfVector;
3 |
4 | void main()
5 | {
6 | vec3 n,halfV;
7 | float NdotL,NdotHV;
8 |
9 | /* The ambient term will always be present */
10 | vec4 color = ambient;
11 |
12 | /* a fragment shader can't write a varying variable, hence we need
13 | a new variable to store the normalized interpolated normal */
14 | n = normalize(normal);
15 |
16 | /* compute the dot product between normal and ldir */
17 | NdotL = max(dot(n,lightDir),0.0);
18 |
19 | if (NdotL > 0.0) {
20 | color += diffuse * NdotL;
21 | halfV = normalize(halfVector);
22 | NdotHV = max(dot(n,halfV),0.0);
23 | color += gl_FrontMaterial.specular *
24 | gl_LightSource[0].specular *
25 | pow(NdotHV, gl_FrontMaterial.shininess);
26 | }
27 |
28 | gl_FragColor = color;
29 | }
--------------------------------------------------------------------------------
/libavogadro/src/extensions/gl2ps/TODO.txt:
--------------------------------------------------------------------------------
1 | $Id: TODO.txt,v 1.1 2009-10-02 22:09:34 geuzaine Exp $
2 |
3 | * Add an option to limit the recursion level depth in BSP tree
4 |
5 | * Add an simple option to subdivide long, stretched triangles so that
6 | SIMPLE_SORT can still be used for simple, non-intersecting geometries
7 | (cf. Olivier Couet's long cylinders at Cern) where BSP_SORT is very
8 | slow due to the presence of many, many curved surfaces
9 |
10 | * do we really need gl2psEnable(GL2PS_BLEND)? Couldn't we just check
11 | what's in rgba[3] and try to do the "right thing" right away?
12 | Update Thu Jul 20 14:51:33 2006: that's what I do now for SVG and it
13 | works pretty well. We could probably significantly simplify the PDF
14 | code that way.
15 |
16 | * Think about a way to provide a progress indicator through a
17 | callback. Not easy for BSP trees due to the recursive
18 | implementation.
19 |
--------------------------------------------------------------------------------
/libavogadro/src/python/unittest/tool.py:
--------------------------------------------------------------------------------
1 | import Avogadro
2 | import unittest
3 | from numpy import *
4 |
5 | from PyQt4.Qt import *
6 | import sys
7 |
8 | class TestTool(unittest.TestCase):
9 | def setUp(self):
10 | self.tools = []
11 | for tool in Avogadro.PluginManager.instance.tools(None):
12 | self.tools.append(tool)
13 |
14 | self.assertNotEqual(len(self.tools), 0)
15 |
16 | def test_typeName(self):
17 | for tool in self.tools:
18 | self.assertEqual(tool.type, Avogadro.PluginType.ToolType)
19 | self.assertEqual(tool.typeName, "Tools")
20 |
21 | def test_settingsWidget(self):
22 | for tool in self.tools:
23 | widget = tool.settingsWidget
24 |
25 | def test_usefulness(self):
26 | for tool in self.tools:
27 | tool.usefulness
28 |
29 | if __name__ == "__main__":
30 | app = QApplication(sys.argv)
31 | unittest.main()
32 | sys.exit(app.exec_())
33 |
--------------------------------------------------------------------------------
/avogadro.prf.in:
--------------------------------------------------------------------------------
1 | AVOGADRO_PREFIX = "@USER_PREFIX@"
2 | OPENBABEL_PREFIX = "@OPENBABEL2_INCLUDE_DIR@/../.."
3 | INCLUDEPATH += . \
4 | "$$AVOGADRO_PREFIX/include" \
5 | "@OPENBABEL2_INCLUDE_DIR@ \
6 | "@EIGEN2_INCLUDE_DIR@"
7 | LIBS += -L"$$AVOGADRO_PREFIX/lib" -lavogadro \
8 | -L"$$OPENBABEL_PREFIX/lib" -lopenbabel
9 |
10 | unix {
11 | manifest_.target = $$eval(TARGET).mf
12 | manifest_.commands = avopkg -wizard $(QMAKE_TARGET)
13 | manifest_.depends = first
14 |
15 | manifest.depends = $$eval(TARGET).mf
16 |
17 | package_.target = $$eval(TARGET).avo
18 | package_.commands = avopkg -pack $$eval(TARGET).mf
19 | #package_.depends = $$eval(TARGET).mf
20 |
21 | package.depends = $$eval(TARGET).avo
22 |
23 | install.commands = avopkg $$eval(TARGET).avo
24 | install.depends = $$eval(TARGET).avo
25 |
26 | QMAKE_EXTRA_TARGETS += manifest_ manifest package_ package install
27 | }
28 |
--------------------------------------------------------------------------------
/fragments/coordination/5-trigonal-bipyramidal.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 5-pcl5.out
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/fragments/coordination/6-octahedral.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/examples/Makefile:
--------------------------------------------------------------------------------
1 | LELEMENTS = msym msym_error context symmetry symmetrize linalg point_group character_table geometry orbital\
2 | permutation symop equivalence_set elements
3 |
4 | SRC = example.c
5 | OBJDIR = ../obj
6 | BINDIR = ../bin
7 | OBJS = $(OBJDIR)/example.o
8 | LSRC = $(foreach I,$(LELEMENTS),../src/$I.c)
9 | LOBJS = $(foreach I,$(LELEMENTS),$(OBJDIR)/$I.o)
10 |
11 |
12 |
13 | CC = gcc
14 | EXE = $(BINDIR)/msym_example
15 | CFLAGS = -g -O2 -flto -std=c99 -pedantic -Wall
16 | INC = ../src
17 | LIBS = -lm
18 |
19 | all: $(OBJDIR) $(BINDIR) $(OBJS) $(LOBJS)
20 | $(CC) -o $(EXE) $(CFLAGS) $(OBJS) $(LOBJS) $(LIBS)
21 |
22 | $(OBJDIR) :
23 | mkdir -p $(OBJDIR)
24 |
25 | $(BINDIR) :
26 | mkdir -p $(BINDIR)
27 |
28 | ../obj/example.o: example.c
29 | $(CC) ${CFLAGS} -I $(INC) -o $@ -c $<
30 |
31 | ../obj/%.o: ../src/%.c
32 | $(CC) ${CFLAGS} -I $(INC) -o $@ -c $<
33 |
34 | clean:
35 | $(RM) -rf $(OBJDIR) $(BINDIR)
36 |
37 |
--------------------------------------------------------------------------------
/cmake/modules/cmake_uninstall.cmake.in:
--------------------------------------------------------------------------------
1 | IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
2 | MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
3 | ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
4 |
5 | FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
6 | STRING(REGEX REPLACE "\n" ";" files "${files}")
7 | FOREACH(file ${files})
8 | MESSAGE(STATUS "Uninstalling \"${file}\"")
9 | IF(EXISTS "${file}")
10 | EXEC_PROGRAM(
11 | "@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
12 | OUTPUT_VARIABLE rm_out
13 | RETURN_VALUE rm_retval
14 | )
15 | IF("${rm_retval}" STREQUAL 0)
16 | ELSE("${rm_retval}" STREQUAL 0)
17 | MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
18 | ENDIF("${rm_retval}" STREQUAL 0)
19 | ELSE(EXISTS "${file}")
20 | MESSAGE(STATUS "File \"${file}\" does not exist.")
21 | ENDIF(EXISTS "${file}")
22 | ENDFOREACH(file)
23 |
--------------------------------------------------------------------------------
/libavogadro/src/python/tool.cpp:
--------------------------------------------------------------------------------
1 | // Last update: timvdm 12 May 2009
2 |
3 | #include
4 |
5 | #include
6 | #include
7 | #include
8 |
9 | using namespace boost::python;
10 | using namespace Avogadro;
11 |
12 | void export_Tool()
13 | {
14 |
15 | class_, boost::noncopyable>("Tool", no_init)
16 | //
17 | // read-only poperties
18 | //
19 | .add_property("usefulness",
20 | &Tool::usefulness,
21 | "Determines the ordering of the tools. More useful "
22 | "tools are placed first. It is up to the tool designer "
23 | "to be humble about their usefulness value.")
24 |
25 | .add_property("typeName",
26 | &Tool::typeName,
27 | "Plugin Type Name (Tools).")
28 |
29 | .add_property("identifier",
30 | &Tool::identifier,
31 | "The untranslated identifier for the tool.")
32 | ;
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/phong.vert:
--------------------------------------------------------------------------------
1 | // wwlk
2 | //
3 | // Trivial Vertex shader to setup per fragment lighting
4 | //
5 |
6 | vec4 ULLight = vec4 ( 0.435028 , 0.602347 , 0.669274 , 0.0 );
7 | vec4 LRLight = vec4 ( 0.894427 , 0.0 , 0.447214 , 0.0 );
8 | vec4 RimLight = vec4( 0.94868, 0.0, 0.316228, 1.0 );
9 |
10 | vec4 DifColor = vec4( 0.35, 0.35, 0.5, 1.0 );
11 | vec4 SpecColor = vec4( 0.4, 0.4, 0.2, 1.0 );
12 | vec4 ULColor = vec4( 0.5, 0.3875, 0.75, 1.0 );
13 | vec4 LRColor = vec4( 0.75, 0.5, 0.5, 1.0 );
14 |
15 |
16 | void main(void)
17 | {
18 | vec3 eyeNormal;
19 |
20 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
21 | eyeNormal = gl_NormalMatrix * gl_Normal;
22 |
23 | gl_TexCoord[0] = vec4( eyeNormal, 0.0 );
24 |
25 | gl_TexCoord[1] = ULLight;
26 | gl_TexCoord[2] = LRLight;
27 | gl_TexCoord[3] = RimLight;
28 |
29 | gl_TexCoord[4] = DifColor;
30 | gl_TexCoord[5] = SpecColor;
31 | gl_TexCoord[6] = ULColor;
32 | gl_TexCoord[7] = LRColor;
33 |
34 | }
--------------------------------------------------------------------------------
/libavogadro/src/extensions/gl2ps/COPYING.GL2PS:
--------------------------------------------------------------------------------
1 |
2 | GL2PS LICENSE
3 | Version 2, November 2003
4 |
5 | Permission to use, copy, and distribute this software and its
6 | documentation for any purpose with or without fee is hereby granted,
7 | provided that the copyright notice appear in all copies and that both
8 | that copyright notice and this permission notice appear in supporting
9 | documentation.
10 |
11 | Permission to modify and distribute modified versions of this software
12 | is granted, provided that:
13 |
14 | 1) the modifications are licensed under the same terms as this
15 | software;
16 |
17 | 2) you make available the source code of any modifications that you
18 | distribute, either on the same media as you distribute any executable
19 | or other form of this software, or via a mechanism generally accepted
20 | in the software development community for the electronic transfer of
21 | data.
22 |
23 | This software is provided "as is" without express or implied warranty.
24 |
--------------------------------------------------------------------------------
/libavogadro/src/colors/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include(${QT_USE_FILE})
2 |
3 | ADD_DEFINITIONS(${QT_DEFINITIONS})
4 | ADD_DEFINITIONS(-DQT_PLUGIN)
5 | ADD_DEFINITIONS(-DQT_SHARED)
6 |
7 | set(DESTINATION_DIR ${Avogadro_PLUGIN_INSTALL_DIR}/colors)
8 |
9 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
10 |
11 | set(LINK_LIBS avogadro)
12 | set(PLUGIN_LABEL colors)
13 | set(PLUGIN_TARGET colors)
14 | add_custom_target(colors COMMENT "Meta target to build all Avogadro colors.")
15 |
16 | ### elementcolor
17 | avogadro_plugin(elementcolor elementcolor.cpp)
18 |
19 | ### residuecolor
20 | avogadro_plugin(residuecolor residuecolor.cpp residuecolorsettings.ui)
21 |
22 | ### indexcolor
23 | avogadro_plugin(atomindexcolor atomindexcolor.cpp)
24 |
25 | ### chargecolor
26 | avogadro_plugin(chargecolor chargecolor.cpp)
27 |
28 | ### distancecolor
29 | avogadro_plugin(distancecolor distancecolor.cpp)
30 |
31 | ## custom color
32 | avogadro_plugin(customcolor customcolor.cpp)
33 |
34 | ## smartscolor
35 | avogadro_plugin(smartscolor smartscolor.cpp)
36 |
--------------------------------------------------------------------------------
/scripts/runkrazy.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | # Small Ruby-script to run Krazy over all directories
4 | #
5 | # (c) 2007, 2008 Carsten Niehaus
6 | #
7 | # License: GPL V2
8 |
9 | # in OpenSUSE 10.x
10 | # export PATH=$PATH:/usr/local/Krazy2/bin
11 |
12 | # in Mandriva 2008.1
13 | # export PATH=$PATH:/usr/local/Krazy2/local/bin
14 |
15 | def dir2filename( dir )
16 | dir = dir.gsub( "/", "-" )
17 | dir
18 | end
19 |
20 |
21 | directories = [ "libavogadro/src" , "libavogadro/src/tools", "libavogadro/src/engines" , "libavogadro/src/extensions", "libavogadro/src/colors", "avogadro/src", "avogadro/src/projectdelegates"]
22 |
23 | for dir in directories
24 | dir.chomp!
25 | filename = dir2filename( dir )
26 |
27 | command = "krazy2 --export text --explain --exclude qclasses,license,copyright ../#{dir}/*.{cpp,h} > #{filename}.txt"
28 |
29 | puts command
30 |
31 | puts "Running Krazy on #{dir}".center(70, "-")
32 | puts "Results are written in #{filename}.txt".center(70, "-")
33 | `#{command}`
34 | end
35 |
36 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/01-HelloWorld/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Hello World Avogadro extension.
2 | # See http://avogadro.cc/ for more information.
3 |
4 | # Project name
5 | project(HelloWorldExtension)
6 |
7 | # Minimum version of CMake that can be used
8 | cmake_minimum_required(VERSION 2.6)
9 |
10 | # Set up Qt
11 | set(QT_MIN_VERSION "4.5.0")
12 | find_package(Qt4 REQUIRED)
13 |
14 | # Set up Avogadro
15 | find_package(Avogadro REQUIRED)
16 | include(${Avogadro_USE_FILE})
17 |
18 | # Specify include directories
19 | include_directories(
20 | # Needed to include Qt moc'd headers
21 | ${CMAKE_CURRENT_BINARY_DIR}
22 | )
23 |
24 | # Create a list of all source files
25 | set( helloworldextension_SRCS
26 | helloworldextension.cpp
27 | helloworlddialog.cpp
28 | )
29 |
30 | # Create a list of all ui files
31 | set( helloworldextension_UIS
32 | helloworlddialog.ui
33 | )
34 |
35 | # Create the extension target helloworldextension
36 | avogadro_plugin(helloworldextension "${helloworldextension_SRCS}" "${helloworldextension_UIS}")
37 |
38 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/light.vert:
--------------------------------------------------------------------------------
1 | varying vec4 diffuse,ambient;
2 | varying vec3 normal,lightDir,halfVector;
3 |
4 | void main()
5 | {
6 | /* first transform the normal into eye space and
7 | normalize the result */
8 | normal = normalize(gl_NormalMatrix * gl_Normal);
9 |
10 | /* now normalize the light's direction. Note that
11 | according to the OpenGL specification, the light
12 | is stored in eye space. Also since we're talking about
13 | a directional light, the position field is actually direction */
14 | lightDir = normalize(vec3(gl_LightSource[0].position));
15 |
16 | /* Normalize the halfVector to pass it to the fragment shader */
17 | halfVector = normalize(gl_LightSource[0].halfVector.xyz);
18 |
19 | /* Compute the diffuse, ambient and globalAmbient terms */
20 | diffuse = gl_FrontMaterial.diffuse * gl_LightSource[0].diffuse;
21 | ambient = gl_FrontMaterial.ambient * gl_LightSource[0].ambient;
22 | ambient += gl_LightModel.ambient * gl_FrontMaterial.ambient;
23 |
24 | gl_Position = ftransform();
25 | }
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/phong-use-diffuse.vert:
--------------------------------------------------------------------------------
1 | // wwlk
2 | //
3 | // Trivial Vertex shader to setup per fragment lighting
4 | //
5 |
6 | vec4 ULLight = vec4 ( 0.435028 , 0.602347 , 0.669274 , 0.0 );
7 | vec4 LRLight = vec4 ( 0.894427 , 0.0 , 0.447214 , 0.0 );
8 | vec4 RimLight = vec4( 0.94868, 0.0, 0.316228, 1.0 );
9 |
10 | vec4 DifColor = vec4( 0.35, 0.35, 0.5, 1.0 );
11 | vec4 SpecColor = vec4( 0.4, 0.4, 0.2, 1.0 );
12 | vec4 ULColor = vec4( 0.5, 0.3875, 0.75, 1.0 );
13 | vec4 LRColor = vec4( 0.75, 0.5, 0.5, 1.0 );
14 |
15 |
16 | void main(void)
17 | {
18 | vec3 eyeNormal;
19 |
20 | gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
21 | eyeNormal = gl_NormalMatrix * gl_Normal;
22 |
23 | gl_TexCoord[0] = vec4( eyeNormal, 0.0 );
24 |
25 | gl_TexCoord[1] = ULLight;
26 | gl_TexCoord[2] = LRLight;
27 | gl_TexCoord[3] = RimLight;
28 |
29 | gl_TexCoord[4] = gl_FrontMaterial.diffuse;
30 | gl_TexCoord[5] = SpecColor;
31 | gl_TexCoord[6] = ULColor;
32 | gl_TexCoord[7] = LRColor;
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/gooch.frag:
--------------------------------------------------------------------------------
1 | //
2 | // Fragment shader for Gooch shading
3 | //
4 | // Author: Randi Rost
5 | //
6 | // Copyright (c) 2002-2005 3Dlabs Inc. Ltd.
7 | //
8 | // See 3Dlabs-License.txt for license information
9 | //
10 |
11 | uniform vec3 SurfaceColor; // (0.75, 0.75, 0.75)
12 | uniform vec3 WarmColor; // (0.6, 0.6, 0.0)
13 | uniform vec3 CoolColor; // (0.0, 0.0, 0.6)
14 | uniform float DiffuseWarm; // 0.45
15 | uniform float DiffuseCool; // 0.45
16 |
17 | varying float NdotL;
18 | varying vec3 ReflectVec;
19 | varying vec3 ViewVec;
20 |
21 | void main()
22 | {
23 | vec3 kcool = min(CoolColor + DiffuseCool * SurfaceColor, 1.0);
24 | vec3 kwarm = min(WarmColor + DiffuseWarm * SurfaceColor, 1.0);
25 | vec3 kfinal = mix(kcool, kwarm, NdotL);
26 |
27 | vec3 nreflect = normalize(ReflectVec);
28 | vec3 nview = normalize(ViewVec);
29 |
30 | float spec = max(dot(nreflect, nview), 0.0);
31 | spec = pow(spec, 32.0);
32 |
33 | gl_FragColor = vec4(min(kfinal + spec, 1.0), 1.0);
34 | }
--------------------------------------------------------------------------------
/libavogadro/examples/python/tooltemplate.py:
--------------------------------------------------------------------------------
1 | from PyQt4.Qt import *
2 | import Avogadro
3 |
4 | class Tool(QObject):
5 | # constructor
6 | def __init__(self):
7 | QObject.__init__(self)
8 |
9 | # widget = GLWidget
10 | def paint(self, widget):
11 | # Painter
12 | # print("paint(", widget, ")")
13 | return None
14 |
15 | # widget = GLWidget
16 | # mouseEvent = QMouseEvent
17 | def mousePressEvent(self, widget, mouseEvent):
18 | # print("mousePressEvent(", widget, ",", mouseEvent, ")")
19 | # mouseEvent.accept()
20 | return None
21 |
22 | def mouseMoveEvent(self, widget, mouseEvent):
23 | # print("mouseMoveEvent(", widget, ",", mouseEvent, ")")
24 | # mouseEvent.accept()
25 | return None
26 |
27 | def mouseReleaseEvent(self, widget, mouseEvent):
28 | # print("mouseReleaseEvent(", widget, ",", mouseEvent, ")")
29 | # mouseEvent.accept()
30 | return None
31 |
32 | def wheelEvent(self, widget, wheelEvent):
33 | # print("wheelEvent(", widget, ",", wheelEvent, ")")
34 | # wheelEvent.accept()
35 | return None
36 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/surfaces/openqube/openqubeabi.h:
--------------------------------------------------------------------------------
1 | #ifndef OPENQUBEABI_H
2 | #define OPENQUBEABI_H
3 |
4 | // If we are using a recent GCC version with visibility support use it
5 | // The Krazy checker doesn't like this, but it's a valid CMake conditional
6 | // krazy:excludeall=cpp
7 | #if __GNUC__ >= 4
8 | #define OQ_ABI_IMPORT __attribute__ ((visibility("default")))
9 | #define OQ_ABI_EXPORT __attribute__ ((visibility("default")))
10 | #define OQ_ABI_HIDDEN __attribute__ ((visibility("hidden")))
11 | #elif defined(_WIN32) || defined(__CYGWIN__)
12 | #define OQ_ABI_IMPORT __declspec(dllimport)
13 | #define OQ_ABI_EXPORT __declspec(dllexport)
14 | #define OQ_ABI_HIDDEN
15 | #else
16 | #define OQ_ABI_IMPORT
17 | #define OQ_ABI_EXPORT
18 | #define OQ_ABI_HIDDEN
19 | #endif
20 |
21 | // This macro should be used to export parts of the API
22 | #ifndef OPENQUBE_EXPORT
23 | #ifdef OpenQube_EXPORTS
24 | #define OPENQUBE_EXPORT OQ_ABI_EXPORT
25 | #else
26 | #define OPENQUBE_EXPORT OQ_ABI_IMPORT
27 | #endif
28 | #endif
29 |
30 | #endif // OPENQUBEABI_H
31 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/05-ConformerPlot/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Hello World Avogadro extension.
2 | # See http://avogadro.cc/ for more information.
3 |
4 | # Project name
5 | project(ConformerPlotExtension)
6 |
7 | # Minimum version of CMake that can be used
8 | cmake_minimum_required(VERSION 2.6)
9 |
10 | # Set up Qt
11 | set(QT_MIN_VERSION "4.5.0")
12 | find_package(Qt4 REQUIRED)
13 |
14 | # Set up Avogadro
15 | find_package(Avogadro REQUIRED)
16 | include(${Avogadro_USE_FILE})
17 |
18 | # Specify include directories
19 | include_directories(
20 | # Needed to include Qt moc'd headers
21 | ${CMAKE_CURRENT_BINARY_DIR}
22 | )
23 |
24 | # Create a list of all source files
25 | set( conformerplotextension_SRCS
26 | conformerplotextension.cpp
27 | conformerplotdialog.cpp
28 | )
29 |
30 | # Create a list of all ui files
31 | set( conformerplotextension_UIS
32 | conformerplotdialog.ui
33 | )
34 |
35 | # Create the extension target conformerplotextension
36 | avogadro_plugin(conformerplotextension "${conformerplotextension_SRCS}" "${conformerplotextension_UIS}")
37 |
38 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/04-RotateSelection/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # Hello World Avogadro extension.
2 | # See http://avogadro.cc/ for more information.
3 |
4 | # Project name
5 | project(RotateSelectionExtension)
6 |
7 | # Minimum version of CMake that can be used
8 | cmake_minimum_required(VERSION 2.6)
9 |
10 | # Set up Qt
11 | set(QT_MIN_VERSION "4.5.0")
12 | find_package(Qt4 REQUIRED)
13 |
14 | # Set up Avogadro
15 | find_package(Avogadro REQUIRED)
16 | include(${Avogadro_USE_FILE})
17 |
18 | # Specify include directories
19 | include_directories(
20 | # Needed to include Qt moc'd headers
21 | ${CMAKE_CURRENT_BINARY_DIR}
22 | )
23 |
24 | # Create a list of all source files
25 | set( rotateselectionextension_SRCS
26 | rotateselectionextension.cpp
27 | rotateselectiondialog.cpp
28 | )
29 |
30 | # Create a list of all ui files
31 | set( rotateselectionextension_UIS
32 | rotateselectiondialog.ui
33 | )
34 |
35 | # Create the extension target rotateselectionextension
36 | avogadro_plugin(rotateselectionextension "${rotateselectionextension_SRCS}" "${rotateselectionextension_UIS}")
37 |
38 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/symmetrize.h:
--------------------------------------------------------------------------------
1 | //
2 | // symmetrize.h
3 | // Symmetry
4 | //
5 | // Created by Marcus Johansson on 04/02/15.
6 | // Copyright (c) 2015 Marcus Johansson.
7 | //
8 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 | //
10 |
11 | #ifndef __MSYM__SYMMETRIZE_h
12 | #define __MSYM__SYMMETRIZE_h
13 |
14 | #include
15 |
16 | #include "msym.h"
17 | #include "point_group.h"
18 | #include "permutation.h"
19 |
20 | msym_error_t symmetrizeMolecule(msym_point_group_t *pg, int esl, msym_equivalence_set_t *es, msym_permutation_t **perm, msym_thresholds_t *thresholds, double *err);
21 | msym_error_t symmetrizeOrbitals(msym_point_group_t *pg, int ssl, msym_subspace_t *ss, int *span, int basisl, msym_orbital_t basis[basisl], msym_thresholds_t *thresholds, double orb[basisl][basisl],double symorb[basisl][basisl]);
22 | msym_error_t symmetrizeTranslation(msym_point_group_t *pg, msym_equivalence_set_t *es, msym_permutation_t *perm, int pi, double translation[3]);
23 |
24 |
25 | #endif /* defined(__MSYM__SYMMETRIZE_h) */
26 |
--------------------------------------------------------------------------------
/libavogadro/src/python/moleculelist.h:
--------------------------------------------------------------------------------
1 | #ifndef PYTHON_MOLECULELIST_H
2 | #define PYTHON_MOLECULELIST_H
3 |
4 | #include
5 | #include
6 |
7 | namespace Avogadro {
8 |
9 | class MoleculeList : public QObject
10 | {
11 | Q_OBJECT
12 |
13 | public:
14 | MoleculeList() : QObject(0)
15 | {
16 | }
17 |
18 | ~MoleculeList()
19 | {
20 | foreach(Molecule *mol, m_molecules)
21 | delete mol;
22 | }
23 |
24 | MoleculeList(const MoleculeList &other) : QObject(0)
25 | {
26 | m_molecules = other.m_molecules;
27 | }
28 |
29 | Molecule* addMolecule();
30 |
31 | Molecule* at(int index)
32 | {
33 | if ((index >= 0) && (index < m_molecules.size()))
34 | return m_molecules[index];
35 | return 0;
36 | }
37 |
38 | int numMolecules()
39 | {
40 | return m_molecules.size();
41 | }
42 |
43 | static MoleculeList* instance();
44 | public Q_SLOTS:
45 | void moleculeDestroyed();
46 |
47 | private:
48 | QList m_molecules;
49 | };
50 |
51 | }
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/testfiles/spectrum:
--------------------------------------------------------------------------------
1 | # Electronic excitation spectrum of TmoleXProject, IRREP a
2 | # excitation energy / nm oscillator strength (length rep.)
3 | 0.51771458833972E+04 0.42605598200020E-04
4 | 0.38217791169285E+04 0.92007203690843E-05
5 | 0.36352611539307E+04 0.14052821841982E-04
6 | 0.27601363420300E+04 0.35119858433173E-05
7 | 0.25749411835411E+04 0.33708898952287E-05
8 | 0.18742341501653E+04 0.74042474573714E-06
9 | 0.17288777464454E+04 0.92818405231861E-04
10 | 0.10004939028461E+04 0.51493589926952E-04
11 | 0.97982560979027E+03 0.86334597682778E-04
12 | 0.82601931456821E+03 0.56968240993165E-05
13 | 0.75466351334867E+03 0.34677529740021E-03
14 | 0.73522041777523E+03 0.44980075057988E-03
15 | 0.72928111958920E+03 0.15768561216733E-02
16 | 0.69168023154282E+03 0.28667459386977E-02
17 | 0.63785521958334E+03 0.18038298968059E-02
18 | 0.63388710812928E+03 0.42061959356783E-05
19 | 0.63017899670516E+03 0.23664249035118E-03
20 | 0.62211244765369E+03 0.81936206799001E-07
21 | 0.61573574562386E+03 0.32281914231358E-06
22 | 0.60851880441555E+03 0.13265862902376E-06
23 |
--------------------------------------------------------------------------------
/testfiles/cdspectrum:
--------------------------------------------------------------------------------
1 | # Electronic CD-spectrum of TmoleXProject, IRREP a
2 | # excitation energy / nm rotatory strength (length rep.) / 10^(-40)erg*cm^3
3 | 0.51771458833972E+04 0.24551680696311E+02
4 | 0.38217791169285E+04 -.59641571239319E+01
5 | 0.36352611539307E+04 -.28163674999368E+01
6 | 0.27601363420300E+04 0.23367854176676E+01
7 | 0.25749411835411E+04 -.36117011351285E-01
8 | 0.18742341501653E+04 0.93506721845688E-01
9 | 0.17288777464454E+04 -.49751937363249E+01
10 | 0.10004939028461E+04 0.68955547911471E-01
11 | 0.97982560979027E+03 0.18270121581766E+00
12 | 0.82601931456821E+03 -.15612470270879E+00
13 | 0.75466351334867E+03 -.84150733104407E+01
14 | 0.73522041777523E+03 0.32429244449821E+01
15 | 0.72928111958920E+03 0.19845680807045E+01
16 | 0.69168023154282E+03 -.15786388313583E+02
17 | 0.63785521958334E+03 -.12275945563630E+01
18 | 0.63388710812928E+03 -.28544029029107E-02
19 | 0.63017899670516E+03 -.12941557747152E+02
20 | 0.62211244765369E+03 -.52894697494757E-02
21 | 0.61573574562386E+03 -.41700461047601E-03
22 | 0.60851880441555E+03 -.44953785538491E-03
23 |
--------------------------------------------------------------------------------
/crystals/ice/H2O-Ice-II.cif:
--------------------------------------------------------------------------------
1 | data_global
2 | _chemical_name_mineral 'Ice II'
3 | loop_
4 | _publ_author_name
5 | 'McFarlan R'
6 | _journal_name_full 'Journal of Chemical Physics'
7 | _journal_volume 4
8 | _journal_year 1936
9 | _journal_page_first 60
10 | _journal_page_last 64
11 | _publ_section_title
12 | ;
13 | The Structure of Ice II
14 | _cod_database_code 1011063
15 | ;
16 | _database_code_amcsd 0017962
17 | _chemical_formula_sum 'O H2'
18 | _cell_length_a 7.8
19 | _cell_length_b 4.5
20 | _cell_length_c 5.56
21 | _cell_angle_alpha 90
22 | _cell_angle_beta 90
23 | _cell_angle_gamma 90
24 | _cell_volume 195.156
25 | _exptl_crystal_density_diffrn 1.226
26 | _symmetry_space_group_name_H-M 'C 2 2 21'
27 | loop_
28 | _space_group_symop_operation_xyz
29 | 'x,y,z'
30 | '1/2+x,1/2+y,z'
31 | '-x,y,1/2-z'
32 | '1/2-x,1/2+y,1/2-z'
33 | 'x,-y,-z'
34 | '1/2+x,1/2-y,-z'
35 | '-x,-y,1/2+z'
36 | '1/2-x,1/2-y,1/2+z'
37 | loop_
38 | _atom_site_label
39 | _atom_site_fract_x
40 | _atom_site_fract_y
41 | _atom_site_fract_z
42 | O1 0.16700 0.20500 0.17800
43 | H1 0.16700 0.00000 0.00000
44 | H2 0.00000 0.25000 0.25000
45 | H3 0.25000 0.45500 0.25000
46 |
--------------------------------------------------------------------------------
/cmake/modules/AvogadroConfig.cmake.in:
--------------------------------------------------------------------------------
1 | # Avogadro CMake configuration file - http://avogadro.cc/
2 |
3 | # If this file was found, then Avogadro has been found
4 | set(Avogadro_FOUND 1)
5 |
6 | set(Avogadro_VERSION_MAJOR "@Avogadro_VERSION_MAJOR@")
7 | set(Avogadro_VERSION_MINOR "@Avogadro_VERSION_MINOR@")
8 | set(Avogadro_VERSION_PATCH "@Avogadro_VERSION_PATCH@")
9 | set(Avogadro_VERSION "${Avogadro_VERSION_MAJOR}.${Avogadro_VERSION_MINOR}.${Avogadro_VERSION_PATCH}")
10 |
11 | set(Avogadro_ENABLE_PYTHON "@ENABLE_PYTHON@")
12 | set(Avogadro_ENABLE_GLSL "@ENABLE_GLSL@")
13 |
14 | set(Avogadro_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@")
15 | set(Avogadro_INCLUDE_DIRS "@CMAKE_INSTALL_PREFIX@/include")
16 | set(Avogadro_LIBRARY_DIRS "@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@")
17 | set(Avogadro_LIB_SUFFIX "@LIB_SUFFIX@")
18 | set(Avogadro_PLUGIN_DIR "@CMAKE_INSTALL_PREFIX@/@Avogadro_PLUGIN_INSTALL_DIR@")
19 | set(Avogadro_BIN_DIRS "@CMAKE_INSTALL_PREFIX@/@BIN_INSTALL_DIR@")
20 |
21 | # Now for the use file, which contains useful functions, sets up the project
22 | set(Avogadro_USE_FILE
23 | "${Avogadro_PLUGIN_DIR}/AvogadroUse.cmake")
24 |
25 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/crystallography/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
2 |
3 | include_directories(${CMAKE_CURRENT_SOURCE_DIR})
4 |
5 | add_subdirectory(spglib)
6 |
7 | set(PLUGIN_LABEL extensions)
8 | set(PLUGIN_TARGET extensions)
9 |
10 | set(crystallographyextension_SRCS
11 | avospglib.cpp
12 | ceundo.cpp
13 | crystallographyextension.cpp
14 | crystalpastedialog.cpp
15 | ui/ceabstractdockwidget.cpp
16 | ui/ceabstracteditor.cpp
17 | ui/cecoordinateeditor.cpp
18 | ui/cematrixeditor.cpp
19 | ui/ceparametereditor.cpp
20 | ui/ceslabbuilder.cpp
21 | ui/cetranslatewidget.cpp
22 | ui/ceviewoptionswidget.cpp
23 | )
24 |
25 | set(crystallographyextension_UIS
26 | crystalpastedialog.ui
27 | ui/cecoordinateeditor.ui
28 | ui/cematrixeditor.ui
29 | ui/ceparametereditor.ui
30 | ui/ceslabbuilder.ui
31 | ui/cetranslatewidget.ui
32 | ui/ceviewoptionswidget.ui
33 | )
34 |
35 | avogadro_plugin(crystallographyextension
36 | "${crystallographyextension_SRCS}"
37 | "${crystallographyextension_UIS}"
38 | )
39 |
40 | target_link_libraries(crystallographyextension spglib)
41 | add_dependencies(crystallographyextension spglib)
42 |
--------------------------------------------------------------------------------
/libavogadro/examples/c++/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | ######################################################################
2 | # Example CMake project building a 3rd party extension against
3 | # installed Avogadro library.
4 | # See http://avogadro.cc/ for more information.
5 | ######################################################################
6 |
7 | # Project name - plugin name or something meaningful
8 | project(TemplateExtension)
9 |
10 | # Minimum version of CMake that can be used
11 | cmake_minimum_required(VERSION 2.6)
12 |
13 | # Find the Avogadro library if it is installed
14 | find_package(Avogadro REQUIRED)
15 |
16 | set(QT_MIN_VERSION "4.5.0")
17 | find_package(Qt4 REQUIRED)
18 |
19 | # Activate this line if you need direct use of OpenBabel
20 | #find_package(OpenBabel2 REQUIRED)
21 |
22 | # Set up the build environment
23 | include(${Avogadro_USE_FILE})
24 | include_directories(
25 | ${CMAKE_CURRENT_BINARY_DIR}
26 | ${OPENBABEL2_INCLUDE_DIR}
27 | )
28 | link_directories(${OPENBABEL2_LIBRARY_DIRS})
29 |
30 | # Build your plugin using the default options
31 | set (templateextension_SRCS templateextension.cpp)
32 |
33 | avogadro_plugin(templateextension "${templateextension_SRCS}")
34 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015 Marcus Johansson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
23 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/pythonterminalwidget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | PythonTerminalWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 534
10 | 444
11 |
12 |
13 |
14 | Python Terminal
15 |
16 |
17 | -
18 |
19 |
20 |
21 | DejaVu Sans Mono
22 |
23 |
24 |
25 | QTextEdit::NoWrap
26 |
27 |
28 | true
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | PythonTerminalEdit
37 | QTextEdit
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/05-ConformerPlot/conformerplotdialog.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | ConformerPlotDialog
4 |
5 |
6 |
7 | 0
8 | 0
9 | 908
10 | 453
11 |
12 |
13 |
14 | Conformer Plot Extension
15 |
16 |
17 | -
18 |
19 |
20 | QFrame::StyledPanel
21 |
22 |
23 | QFrame::Raised
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | Avogadro::PlotWidget
32 | QFrame
33 |
34 | 1
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/marble.vert:
--------------------------------------------------------------------------------
1 | //
2 | // marble.vert
3 | //
4 | // Transform the object position and normal to provide to the fragment
5 | // shader for lighting. Also, scle the object space coords, to use as
6 | // texture coordinates into the volume.
7 |
8 | varying vec3 v_EyeNormal;
9 | varying vec4 v_EyePos;
10 |
11 |
12 |
13 | uniform vec4 my01H2; // please load with ( 0.0, 1.0, 0.5, 2.0)
14 | uniform vec4 myObjScale; // Object Scale Factor
15 |
16 | uniform float time;
17 | void main(void)
18 | {
19 | vec4 ObjNormal;
20 | vec4 ObjPos;
21 | vec3 EyeNormal;
22 | vec4 EyePos;
23 |
24 | ObjPos = gl_Vertex;
25 |
26 | // Must write gl_Position for rasterization to be defined....
27 | //
28 | gl_Position = gl_ModelViewProjectionMatrix * ObjPos;
29 |
30 | // Transform to shading space (we are going to shade in eyespace)
31 | //
32 | //
33 | EyeNormal = gl_Normal* gl_NormalMatrix;
34 | v_EyeNormal = EyeNormal;
35 |
36 | EyePos = gl_ModelViewMatrix * ObjPos;
37 | v_EyePos = EyePos;
38 |
39 | // Pass through object normal and object position
40 | //
41 | ObjNormal = vec4(gl_Normal, my01H2.x);
42 |
43 |
44 | gl_TexCoord[0] = ObjPos* 0.0078125 + 0.5;
45 | }
--------------------------------------------------------------------------------
/crystals/ice/H2O-Ice-VI.cif:
--------------------------------------------------------------------------------
1 | data_global
2 | _chemical_name_mineral 'Ice VI'
3 | loop_
4 | _publ_author_name
5 | 'Kamb B'
6 | _journal_name_full 'Science'
7 | _journal_volume 150
8 | _journal_year 1965
9 | _journal_page_first 205
10 | _journal_page_last 209
11 | _publ_section_title
12 | ;
13 | Structure of ice VI
14 | ;
15 | _database_code_amcsd 0015417
16 | _chemical_formula_sum '(O H2)'
17 | _cell_length_a 6.27
18 | _cell_length_b 6.27
19 | _cell_length_c 5.79
20 | _cell_angle_alpha 90
21 | _cell_angle_beta 90
22 | _cell_angle_gamma 90
23 | _cell_volume 227.622
24 | _exptl_crystal_density_diffrn 1.577
25 | _symmetry_space_group_name_H-M 'P 42/n m c'
26 | loop_
27 | _space_group_symop_operation_xyz
28 | 'x,y,z'
29 | '1/2-y,1/2-x,1/2+z'
30 | 'y,x,-z'
31 | 'y,-x,-z'
32 | '1/2-y,1/2+x,1/2+z'
33 | 'x,-y,z'
34 | '1/2-x,1/2+y,1/2-z'
35 | '1/2+x,1/2+y,1/2-z'
36 | '-x,-y,z'
37 | '1/2+y,1/2+x,1/2+z'
38 | '-y,-x,-z'
39 | '-y,x,-z'
40 | '1/2+y,1/2-x,1/2+z'
41 | '-x,y,z'
42 | '1/2+x,1/2-y,1/2-z'
43 | '1/2-x,1/2-y,1/2-z'
44 | loop_
45 | _atom_site_label
46 | _atom_site_fract_x
47 | _atom_site_fract_y
48 | _atom_site_fract_z
49 | Wat1 0.00000 0.27600 0.38200
50 | Wat2 0.00000 0.00000 0.00000
51 | Wat3 0.50000 0.50000 0.50000
52 |
--------------------------------------------------------------------------------
/avogadro/src/aboutdialog.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | Copyright (C) 2007 Carsten Niehaus
3 |
4 | This file is part of the Avogadro molecular editor project.
5 | For more information, see
6 |
7 | Some code is based on Open Babel
8 | For more information, see
9 |
10 | This program is free software; you can redistribute it and/or modify
11 | it under the terms of the GNU General Public License as published by
12 | the Free Software Foundation version 2 of the License.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 | ***********************************************************************/
19 |
20 | #ifndef ABOUTDIALOG_H
21 | #define ABOUTDIALOG_H
22 |
23 | #include
24 |
25 | namespace Avogadro {
26 | class AboutDialog : public QDialog
27 | {
28 | Q_OBJECT
29 |
30 | public:
31 | AboutDialog( QWidget *parent );
32 | ~AboutDialog();
33 | };
34 | }
35 | #endif // ABOUTDIALOG_H
36 |
--------------------------------------------------------------------------------
/testfiles/VASP-DOS/CONTCAR:
--------------------------------------------------------------------------------
1 | K8-40GPA-reopt
2 | 1.00000000000000
3 | 5.8679532736861075 0.0000000000000000 0.0000000000000000
4 | 0.0000000000000000 3.5192614938291165 0.0000000000000000
5 | 0.0000000000000000 0.0000000000000000 6.7256589970126157
6 | 8
7 | Direct
8 | 0.1422025111343430 0.7500000000000000 0.4331511578653959
9 | 0.5339967827798091 0.7500000000000000 0.6575325302929400
10 | 0.3577974888656570 0.2500000000000000 0.9331511578653959
11 | 0.9660032172201909 0.2500000000000000 0.1575325302929400
12 | 0.8577974888656570 0.2500000000000000 0.5668488421346041
13 | 0.4660032172201909 0.2500000000000000 0.3424674697070600
14 | 0.6422025111343430 0.7500000000000000 0.0668488421346041
15 | 0.0339967827798091 0.7500000000000000 0.8424674697070600
16 |
17 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
18 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
19 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
20 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
21 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
22 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
23 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
24 | 0.00000000E+00 0.00000000E+00 0.00000000E+00
25 |
--------------------------------------------------------------------------------
/libavogadro/src/python/painterdevice.cpp:
--------------------------------------------------------------------------------
1 | // Last update: timvdm 19 June 2009
2 | #include
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 |
10 | using namespace boost::python;
11 | using namespace Avogadro;
12 |
13 | void export_PainterDevice()
14 | {
15 | class_("PainterDevice", no_init)
16 | // read/write properties
17 | .add_property("painter", make_function(&PainterDevice::painter, return_value_policy()))
18 | .add_property("camera", make_function(&PainterDevice::camera, return_value_policy()))
19 | .add_property("molecule", make_function(&PainterDevice::molecule, return_value_policy()))
20 | .add_property("colorMap", make_function(&PainterDevice::colorMap, return_value_policy()))
21 | .add_property("width", &PainterDevice::width)
22 | .add_property("height", &PainterDevice::height)
23 | // read-only poperties
24 | // real functions
25 | .def("isSelected", &PainterDevice::isSelected)
26 | .def("radius", &PainterDevice::radius)
27 | ;
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/pythonsettingswidget.ui:
--------------------------------------------------------------------------------
1 |
2 | PythonSettingsWidget
3 |
4 |
5 |
6 | 0
7 | 0
8 | 353
9 | 505
10 |
11 |
12 |
13 | -
14 |
15 |
16 | -
17 |
18 |
19 |
20 | 0
21 | 0
22 |
23 |
24 |
25 | Python Settings
26 |
27 |
28 | Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop
29 |
30 |
31 |
-
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/README.md:
--------------------------------------------------------------------------------
1 | # LIBrary for Molecular SYMmetry
2 |
3 | libmsym is a C library dealing with point group symmetry in molecules. It can determine, symmetrize and generate molecules of any point group. It can also generate symmetry adapted linear combinations of atomic orbitals for a subset of all point groups and orbital angular momentum (l), and project orbitals into the irreducible representation with the larges component.
4 |
5 | ## Performance
6 |
7 | 120 (Ih) symmetry operations in C-720 fullerene found in ~30ms (2012 macbook air).
8 | Detection, generation of permutation information and symmetrisation of above in ~70ms.
9 | T point group protein with 15k+ elements detected and symmetrized in ~6s.
10 | 300 symmetry adapted orbitals of minimal basis C-60 buckminster fullerene generated in 0.18s
11 |
12 | ## Development
13 |
14 | This was initially developed as part of a masters, and is now a hobby project.
15 | There is no stable release yet, although the master branch will be kept as stable as possible.
16 | API is still subject to change (especially changes related to basis functions and irreducible representations).
17 |
18 | There are several additions/changes related to LCAO/SALC generation, orbital symmetrization, and vibrational symmetry under development.
19 |
20 |
21 |
--------------------------------------------------------------------------------
/libavogadro/src/python/unittest/residue.py:
--------------------------------------------------------------------------------
1 | import Avogadro
2 | import unittest
3 | from numpy import *
4 |
5 | class TestResidue(unittest.TestCase):
6 | def setUp(self):
7 | self.molecule = Avogadro.molecules.addMolecule()
8 |
9 | def test_number(self):
10 | residue = self.molecule.addResidue()
11 | residue.number = "5A"
12 | self.assertEqual(residue.number, "5A")
13 |
14 | def test_chainNumber(self):
15 | residue = self.molecule.addResidue()
16 | residue.chainNumber = 5
17 | self.assertEqual(residue.chainNumber, 5)
18 |
19 | def test_atomIds(self):
20 | residue = self.molecule.addResidue()
21 | # add 4 atoms
22 | for i in range(4):
23 | atom = self.molecule.addAtom()
24 | residue.addAtom(atom.id)
25 |
26 | # set the atoms ids
27 | ids = ["N", "C", "CA", "O"]
28 | residue.atomIds = ids
29 |
30 | self.assert_("N" in residue.atomIds)
31 | self.assert_("C" in residue.atomIds)
32 | self.assert_("CA" in residue.atomIds)
33 | self.assert_("O" in residue.atomIds)
34 |
35 | # change an id
36 | self.assertEqual(residue.atomId(2), "CA")
37 | self.assertEqual(residue.setAtomId(2, "CE3"), True)
38 | self.assertEqual(residue.atomId(2), "CE3")
39 |
40 |
41 |
42 |
43 |
44 | if __name__ == "__main__":
45 | unittest.main()
46 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/surfaces/openqube/basisset.cpp:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 |
3 | This source file is part of the OpenQube project.
4 |
5 | Copyright 2011 David C. Lonie
6 |
7 | This source code is released under the New BSD License, (the "License").
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
15 | ******************************************************************************/
16 |
17 | #include "basisset.h"
18 |
19 | #include "cube.h"
20 |
21 | #include
22 |
23 | namespace OpenQube
24 | {
25 |
26 | bool BasisSet::blockingCalculateCubeMO(Cube *cube, unsigned int mo)
27 | {
28 | if (!this->calculateCubeMO(cube, mo))
29 | return false;
30 | this->watcher().waitForFinished();
31 | return true;
32 | }
33 |
34 | bool BasisSet::blockingCalculateCubeDensity(Cube *cube)
35 | {
36 | if (!this->calculateCubeDensity(cube))
37 | return false;
38 | this->watcher().waitForFinished();
39 | return true;
40 | }
41 |
42 | }
43 |
--------------------------------------------------------------------------------
/cmake/modules/FindNumpy.cmake:
--------------------------------------------------------------------------------
1 | # - Find numpy
2 | # Find the native numpy includes
3 | # This module defines
4 | # NUMPY_INCLUDE_DIR, where to find numpy/arrayobject.h, etc.
5 | # NUMPY_FOUND, If false, do not try to use numpy headers.
6 |
7 | #if (NUMPY_INCLUDE_DIR)
8 | # in cache already
9 | # set (NUMPY_FIND_QUIETLY TRUE)
10 | #endif (NUMPY_INCLUDE_DIR)
11 |
12 | EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c
13 | "import numpy; print numpy.get_include()"
14 | OUTPUT_VARIABLE NUMPY_INCLUDE_DIR
15 | OUTPUT_STRIP_TRAILING_WHITESPACE)
16 |
17 |
18 | if (NUMPY_INCLUDE_DIR)
19 | if(EXISTS ${NUMPY_INCLUDE_DIR}/numpy/arrayobject.h)
20 | # successful
21 | set (NUMPY_FOUND TRUE)
22 | set (NUMPY_INCLUDE_DIR ${NUMPY_INCLUDE_DIR} CACHE STRING "Numpy include path")
23 | else()
24 | set(NUMPY_FOUND FALSE)
25 | endif()
26 | else (NUMPY_INCLUDE_DIR)
27 | # Did not successfully include numpy
28 | set(NUMPY_FOUND FALSE)
29 | endif (NUMPY_INCLUDE_DIR)
30 |
31 | if (NUMPY_FOUND)
32 | if (NOT NUMPY_FIND_QUIETLY)
33 | message (STATUS "Numpy headers found")
34 | endif (NOT NUMPY_FIND_QUIETLY)
35 | else (NUMPY_FOUND)
36 | if (NUMPY_FIND_REQUIRED)
37 | message (FATAL_ERROR "Numpy headers missing")
38 | endif (NUMPY_FIND_REQUIRED)
39 | endif (NUMPY_FOUND)
40 |
41 | MARK_AS_ADVANCED (NUMPY_INCLUDE_DIR)
42 |
--------------------------------------------------------------------------------
/fragments/cyclic_alkanes/cyclopropane.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/libavogadro/src/python/unittest/eigen.py:
--------------------------------------------------------------------------------
1 | import Avogadro
2 | import unittest
3 | from numpy import *
4 |
5 | class TestEigen(unittest.TestCase):
6 | def setUp(self):
7 | #self.helper = Avogadro.EigenUnitTestHelper()
8 | return
9 |
10 | def test_vector3d(self):
11 | #vec = self.helper.vector3d()
12 | #vec = self.helper.vector3d_ref()
13 | #vec = self.helper.const_vector3d_ref()
14 | #vec = self.helper.vector3d_ptr()
15 | #vec = self.helper.const_vector3d_ptr()
16 |
17 | #self.helper.set_vector3d(vec)
18 | #self.helper.set_vector3d_ref(vec)
19 | #self.helper.set_const_vector3d_ref(vec)
20 | #self.helper.set_vector3d_ptr(vec)
21 | #self.helper.set_const_vector3d_ptr(vec)
22 | return
23 |
24 | def test_transform3d(self):
25 | #vec = self.helper.transform3d()
26 | #vec = self.helper.transform3d_ref()
27 | #vec = self.helper.const_transform3d_ref()
28 | #vec = self.helper.transform3d_ptr()
29 | #vec = self.helper.const_transform3d_ptr()
30 |
31 | #self.helper.set_transform3d(vec)
32 | #self.helper.set_transform3d_ref(vec)
33 | #self.helper.set_const_transform3d_ref(vec)
34 | #self.helper.set_transform3d_ptr(vec)
35 | #self.helper.set_const_transform3d_ptr(vec)
36 | return
37 |
38 |
39 |
40 |
41 |
42 | if __name__ == "__main__":
43 | unittest.main()
44 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/symop.h:
--------------------------------------------------------------------------------
1 | //
2 | // symop.h
3 | // libmsym
4 | //
5 | // See accompanying file LICENSE
6 | //
7 | // Created by Marcus Johansson on 30/10/14.
8 | // Copyright (c) 2014 Marcus Johansson.
9 | //
10 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
11 | //
12 |
13 | #ifndef __MSYM__SYMOP_h
14 | #define __MSYM__SYMOP_h
15 |
16 | #include
17 |
18 | #include "msym.h"
19 |
20 | void symopPow(msym_symmetry_operation_t *A, int pow, msym_symmetry_operation_t *O);
21 | void applySymmetryOperation(msym_symmetry_operation_t *sop,double iv[3], double ov[3]);
22 | void symmetryOperationMatrix(msym_symmetry_operation_t *sop, double m[3][3]);
23 | void copySymmetryOperation(msym_symmetry_operation_t *dst, msym_symmetry_operation_t *src);
24 | msym_symmetry_operation_t *findSymmetryOperation(msym_symmetry_operation_t*, msym_symmetry_operation_t*, int, msym_thresholds_t *thresholds);
25 | void invertSymmetryOperation(msym_symmetry_operation_t *sop, msym_symmetry_operation_t *isop);
26 | void symmetryOperationName(msym_symmetry_operation_t* sop, int l, char buf[l]);
27 | void symmetryOperationShortName(msym_symmetry_operation_t* sop, int l, char buf[l]);
28 | void printSymmetryOperation(msym_symmetry_operation_t *sop);
29 |
30 | #endif /* defined(__MSYM__SYMOP_h) */
31 |
--------------------------------------------------------------------------------
/avogadro/src/mac/CreateBundle.sh.in:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Are we using Xcode to compile. If we are then the CMake variable
4 | # XCODE will be '1' otherwise it will be blank
5 | Xcode="@XCODE@x"
6 | InstallPrefix="@CMAKE_INSTALL_PREFIX@"
7 | ProjectBinaryDir="@binary_dir@"
8 | OSX_App_Name="Avogadro"
9 |
10 | # Check for a Debug build. Note that the EXE_DEBUG_EXTENSION was set
11 | # in the CMakeLists.txt file
12 | if [[ $Xcode == "1x" ]]; then
13 | if [[ $BUILD_STYLE == "Debug" ]]; then
14 | OSX_App_Name="@target@@EXE_DEBUG_EXTENSION@"
15 | fi
16 | OSX_App="@EXECUTABLE_OUTPUT_PATH@/$BUILD_STYLE/$OSX_App_Name.app"
17 | else
18 | OSX_App="@EXECUTABLE_OUTPUT_PATH@/$OSX_App_Name.app"
19 | fi
20 |
21 |
22 | # Remove the previous @target@ app package so we start with a clean bundle
23 | echo "Removing Previous $OSX_App_Name.app bundle at $InstallPrefix/"
24 | rm -rf "$InstallPrefix/$OSX_App_Name.app"
25 |
26 | # copy the @target@.app bundle to the installation location
27 | echo "Copying $OSX_App_Name.app from the build tree to $InstallPrefix/"
28 | cp -Rp "$OSX_App" "$InstallPrefix/"
29 |
30 | OSX_App="@CMAKE_INSTALL_PREFIX@/$OSX_App_Name.app"
31 | ContentsDir="$OSX_App/Contents"
32 | SupportDir="$OSX_App/Contents/Support"
33 | LibrariesDir="$OSX_App/Contents/Libraries"
34 | FrameworksDir="$OSX_App/Contents/Frameworks"
35 | PluginsDir="$OSX_App/Contents/plugins"
36 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/surfaces/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
2 |
3 | # Also, add the openqube library unless we are using the system openqube
4 | option(Avogadro_USE_SYSTEM_OPENQUBE "Use the system OpenQube?" OFF)
5 | if(Avogadro_USE_SYSTEM_OPENQUBE)
6 | find_package(OpenQube REQUIRED)
7 |
8 | else()
9 | add_subdirectory(openqube)
10 | include_directories(${CMAKE_CURRENT_SOURCE_DIR})
11 | endif()
12 |
13 | set(LINK_LIBS OpenQube avogadro ${ZLIB_LIBRARIES})
14 |
15 | set(PLUGIN_LABEL extensions)
16 | set(PLUGIN_TARGET extensions)
17 |
18 | include_directories(${ZLIB_INCLUDE_DIR})
19 | ### Surfaces
20 | set(surfaceextension_SRCS
21 | surfaceextension.cpp
22 | surfacedialog.cpp
23 | vdwsurface.cpp
24 | qtiocompressor/qtiocompressor.cpp
25 | )
26 |
27 | set(orbitalextension_SRCS
28 | orbitalextension.cpp
29 | orbitalsettingsdialog.cpp
30 | orbitaltablemodel.cpp
31 | orbitalwidget.cpp
32 | vdwsurface.cpp
33 | qtiocompressor/qtiocompressor.cpp
34 | htmldelegate.cpp
35 | )
36 |
37 | set(orbitalextension_UIS
38 | orbitalwidget.ui
39 | orbitalsettingsdialog.ui
40 | )
41 |
42 | avogadro_plugin_nogl(surfaceextension
43 | "${surfaceextension_SRCS}"
44 | surfacedialog.ui
45 | )
46 |
47 | avogadro_plugin_nogl(orbitalextension
48 | "${orbitalextension_SRCS}"
49 | "${orbitalextension_UIS}"
50 | )
51 |
52 |
--------------------------------------------------------------------------------
/avogadro/src/enginecolorswidget.ui:
--------------------------------------------------------------------------------
1 |
2 | EngineColorsWidget
3 |
4 |
5 |
6 | 0
7 | 0
8 | 400
9 | 300
10 |
11 |
12 |
13 | Form
14 |
15 |
16 | -
17 |
18 |
-
19 |
20 |
21 | -
22 |
23 |
24 | Color by:
25 |
26 |
27 |
28 | -
29 |
30 |
31 | Qt::Vertical
32 |
33 |
34 |
35 | 20
36 | 40
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/crystals/ice/H2O-Ice-III.cif:
--------------------------------------------------------------------------------
1 | data_global
2 | _chemical_name_mineral 'Ice III'
3 | loop_
4 | _publ_author_name
5 | 'McFarlan R'
6 | _journal_name_full 'Journal of Chemical Physics'
7 | _journal_volume 4
8 | _journal_year 1936
9 | _journal_page_first 253
10 | _journal_page_last 259
11 | _publ_section_title
12 | ;
13 | The Structure of Ice III
14 | _cod_database_code 1011024
15 | ;
16 | _database_code_amcsd 0017931
17 | _chemical_formula_sum 'O4 H7'
18 | _cell_length_a 10.2
19 | _cell_length_b 5.87
20 | _cell_length_c 7.17
21 | _cell_angle_alpha 90
22 | _cell_angle_beta 90
23 | _cell_angle_gamma 90
24 | _cell_volume 429.297
25 | _exptl_crystal_density_diffrn 1.099
26 | _symmetry_space_group_name_H-M 'I b a m'
27 | loop_
28 | _space_group_symop_operation_xyz
29 | 'x,y,z'
30 | '1/2+x,1/2+y,1/2+z'
31 | 'x,-y,1/2+z'
32 | '1/2+x,1/2-y,+z'
33 | '-x,y,1/2-z'
34 | '1/2-x,1/2+y,-z'
35 | '-x,y,1/2+z'
36 | '1/2-x,1/2+y,+z'
37 | 'x,-y,1/2-z'
38 | '1/2+x,1/2-y,-z'
39 | 'x,y,-z'
40 | '1/2+x,1/2+y,1/2-z'
41 | '-x,-y,z'
42 | '1/2-x,1/2-y,1/2+z'
43 | '-x,-y,-z'
44 | '1/2-x,1/2-y,1/2-z'
45 | loop_
46 | _atom_site_label
47 | _atom_site_fract_x
48 | _atom_site_fract_y
49 | _atom_site_fract_z
50 | O1 0.12600 0.21800 0.06250
51 | H1 0.25000 0.25000 0.00000
52 | H2 0.12600 0.00000 0.00000
53 | H3 0.00000 0.21800 0.00000
54 | H4 0.00000 0.50000 0.25000
55 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/orca/orcaspectra.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | OrcaSpectra
4 |
5 |
6 |
7 | 0
8 | 0
9 | 838
10 | 490
11 |
12 |
13 |
14 | Form
15 |
16 |
17 | -
18 |
19 |
20 |
21 | 0
22 | 0
23 |
24 |
25 |
26 | QFrame::StyledPanel
27 |
28 |
29 | QFrame::Raised
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | Avogadro::PlotWidget
38 | QFrame
39 |
40 | 1
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/doc/avogadro.1:
--------------------------------------------------------------------------------
1 | .Dd January 11, 2011
2 | .Os "Avogadro" 1.1
3 | .Dt avogadro 1 URM
4 | .Sh NAME
5 | .Nm avogadro
6 | .Nd "Advanced molecular editor"
7 | .Sh SYNOPSIS
8 | .Nm
9 | .Op Fl Fl erase-config
10 | .Ar file1
11 | .Op file2 ...
12 | .Sh DESCRIPTION
13 | Avogadro is an advanced molecular editor designed for cross-platform use
14 | in computational chemistry, molecular modeling, bioinformatics, materials
15 | science, and related areas. It offers flexible rendering and a powerful
16 | plugin architecture.
17 | .Sh OPTIONS
18 | .Bl -tag -width flag
19 | .It Fl Fl erase-config
20 | Overwrite settings with default values for the current user
21 | .El
22 | .Sh EXAMPLES
23 | .Bl -tag -width flag
24 | .It Nm Ar file1 file2
25 | Open chemical files \fIfile1\fR and \fIfile2\fR
26 | .El
27 | .Sh SEE ALSO
28 | .Xr avopkg 1 .
29 | .br
30 | For more information about Avogadro, see
31 | \%<\fBhttp://avogadro.cc/\fR>
32 | .Pp
33 | Avogadro is free software; you can redistribute it and/or modify
34 | it under the terms of the GNU General Public License as published by
35 | the Free Software Foundation; either version 2 of the License, or
36 | (at your option) any later version.
37 | .Pp
38 | Avogadro is distributed in the hope that it will be useful,
39 | but WITHOUT ANY WARRANTY; without even the implied warranty of
40 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41 | GNU General Public License for more details.
42 |
43 |
--------------------------------------------------------------------------------
/cmake/modules/COPYING-CMAKE-SCRIPTS:
--------------------------------------------------------------------------------
1 | Redistribution and use in source and binary forms, with or without
2 | modification, are permitted provided that the following conditions
3 | are met:
4 |
5 | 1. Redistributions of source code must retain the copyright
6 | notice, this list of conditions and the following disclaimer.
7 | 2. Redistributions in binary form must reproduce the copyright
8 | notice, this list of conditions and the following disclaimer in the
9 | documentation and/or other materials provided with the distribution.
10 | 3. The name of the author may not be used to endorse or promote products
11 | derived from this software without specific prior written permission.
12 |
13 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14 | IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15 | OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16 | IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/equivalence_set.h:
--------------------------------------------------------------------------------
1 | //
2 | // equivalence_set.h
3 | // libmsym
4 | //
5 | // Created by Marcus Johansson on 08/02/15.
6 | // Copyright (c) 2015 Marcus Johansson.
7 | //
8 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 | //
10 |
11 | #ifndef __MSYM__EQUIVALENCE_SET_h
12 | #define __MSYM__EQUIVALENCE_SET_h
13 |
14 | #include
15 | #include "msym.h"
16 | #include "point_group.h"
17 |
18 | msym_error_t copyEquivalenceSets(int length, msym_equivalence_set_t es[length], msym_equivalence_set_t **ces);
19 | msym_error_t findEquivalenceSets(int length, msym_element_t *elements[length], msym_geometry_t g, int *esl, msym_equivalence_set_t **es, msym_thresholds_t *thresholds);
20 | msym_error_t findPointGroupEquivalenceSets(msym_point_group_t *pg, int length, msym_element_t *elements[length], int *esl, msym_equivalence_set_t **es, msym_thresholds_t *thresholds);
21 | msym_error_t splitPointGroupEquivalenceSets(msym_point_group_t *pg, int esl, msym_equivalence_set_t es[esl], int *sesl, msym_equivalence_set_t **ses, msym_thresholds_t *thresholds);
22 | msym_error_t generateEquivalenceSet(msym_point_group_t *pg, int length, msym_element_t elements[length], int *glength, msym_element_t **gelements, int *esl, msym_equivalence_set_t **es,msym_thresholds_t *thresholds);
23 |
24 | #endif /* defined(__MSYM__EQUIVALENCE_SET_h) */
25 |
--------------------------------------------------------------------------------
/libavogadro/src/tools/navigatesettingswidget.ui:
--------------------------------------------------------------------------------
1 |
2 |
3 | NavigateSettingsWidget
4 |
5 |
6 |
7 | 0
8 | 0
9 | 400
10 | 300
11 |
12 |
13 |
14 | Form
15 |
16 |
17 | -
18 |
19 |
20 |
21 |
22 |
23 | Display visual cues
24 |
25 |
26 | true
27 |
28 |
29 |
30 | -
31 |
32 |
33 | Qt::Vertical
34 |
35 |
36 |
37 | 20
38 | 262
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/crystals/clays/Al2Si2O9H4-Dickite.cif:
--------------------------------------------------------------------------------
1 | data_global
2 | _chemical_name_mineral 'Dickite'
3 | loop_
4 | _publ_author_name
5 | 'Bailey S W'
6 | _journal_name_full 'American Mineralogist'
7 | _journal_volume 48
8 | _journal_year 1963
9 | _journal_page_first 1196
10 | _journal_page_last 1209
11 | _publ_section_title
12 | ;
13 | Polymorphism of the kaolin minerals
14 | ;
15 | _database_code_amcsd 0000126
16 | _chemical_formula_sum 'Si2 Al2 O9 H4'
17 | _cell_length_a 5.150
18 | _cell_length_b 8.940
19 | _cell_length_c 14.736
20 | _cell_angle_alpha 90
21 | _cell_angle_beta 103.58
22 | _cell_angle_gamma 90
23 | _cell_volume 659.492
24 | _exptl_crystal_density_diffrn 2.600
25 | _symmetry_space_group_name_H-M 'C 1 c 1'
26 | loop_
27 | _space_group_symop_operation_xyz
28 | 'x,y,z'
29 | '1/2+x,1/2+y,z'
30 | 'x,-y,1/2+z'
31 | '1/2+x,1/2-y,1/2+z'
32 | loop_
33 | _atom_site_label
34 | _atom_site_fract_x
35 | _atom_site_fract_y
36 | _atom_site_fract_z
37 | Si1 0.02880 0.34990 0.04050
38 | Si2 0.54000 0.17680 0.04020
39 | Al1 0.31660 0.49660 0.23200
40 | Al2 0.81160 0.33300 0.23060
41 | O1 0.03850 0.51270 -0.00610
42 | O2 0.73550 0.27760 -0.00580
43 | O3 0.24120 0.23950 0.00580
44 | O4 0.07200 0.36240 0.15230
45 | O5 0.64160 0.16870 0.15260
46 | O-H1 0.57560 0.47420 0.15740
47 | O-H2 0.05090 0.47670 0.29480
48 | O-H3 0.55090 0.35510 0.29810
49 | O-H4 0.96350 0.16680 0.29630
50 |
--------------------------------------------------------------------------------
/crystals/clays/FeSi2O6H-Nontronite.cif:
--------------------------------------------------------------------------------
1 | data_global
2 | _chemical_name_mineral 'Nontronite'
3 | loop_
4 | _publ_author_name
5 | 'Dainyak L G'
6 | 'Zviagina B B'
7 | 'Rusakov V S'
8 | 'Drits V A'
9 | _journal_name_full 'European Journal of Mineralogy'
10 | _journal_volume 18
11 | _journal_year 2006
12 | _journal_page_first 753
13 | _journal_page_last 764
14 | _publ_section_title
15 | ;
16 | Interpretation of the nontonite-dehydroxylate Mossbauer spectrum using EFG calculations
17 | Sample: tv structure
18 | ;
19 | _database_code_amcsd 0007180
20 | _chemical_compound_source 'Garfield, Washington, USA'
21 | _chemical_formula_sum 'Fe Si2 O6 H'
22 | _cell_length_a 5.277
23 | _cell_length_b 9.140
24 | _cell_length_c 9.780
25 | _cell_angle_alpha 90
26 | _cell_angle_beta 101.0
27 | _cell_angle_gamma 90
28 | _cell_volume 463.040
29 | _exptl_crystal_density_diffrn 2.998
30 | _symmetry_space_group_name_H-M 'C 1 2/m 1'
31 | loop_
32 | _space_group_symop_operation_xyz
33 | 'x,y,z'
34 | '1/2+x,1/2+y,z'
35 | 'x,-y,z'
36 | '1/2+x,1/2-y,z'
37 | '-x,y,-z'
38 | '1/2-x,1/2+y,-z'
39 | '-x,-y,-z'
40 | '1/2-x,1/2-y,-z'
41 | loop_
42 | _atom_site_label
43 | _atom_site_fract_x
44 | _atom_site_fract_y
45 | _atom_site_fract_z
46 | FeM 0.50000 0.16670 0.00000
47 | SiT 0.31010 0.32910 0.28410
48 | O1 0.30940 0.31220 0.11480
49 | O2 0.30940 0.50000 0.32930
50 | O3 0.05930 0.75000 0.34800
51 | O-H 0.37410 0.00000 0.10750
52 |
--------------------------------------------------------------------------------
/avogadro/src/application.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | Application.h - main application events
3 |
4 | Copyright (C) 2007 by Geoffrey R. Hutchison
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | Some code is based on Open Babel
10 | For more information, see
11 |
12 | This program is free software; you can redistribute it and/or modify
13 | it under the terms of the GNU General Public License as published by
14 | the Free Software Foundation version 2 of the License.
15 |
16 | This program is distributed in the hope that it will be useful,
17 | but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | GNU General Public License for more details.
20 | ***********************************************************************/
21 |
22 | #ifndef APPLICATION_H
23 | #define APPLICATION_H
24 |
25 | #include
26 |
27 | namespace Avogadro {
28 |
29 | class Application : public QApplication
30 | {
31 | Q_OBJECT
32 |
33 | public:
34 | Application(int &argc, char **argv);
35 | bool loadFile(const QString &fileName);
36 |
37 | protected:
38 | bool event(QEvent *event);
39 |
40 | private:
41 | };
42 |
43 | } // end namespace Avogadro
44 | #endif
45 |
--------------------------------------------------------------------------------
/fragments/ligands/Cp-cyclopentadienyl.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/cmake/modules/FindSIP.cmake:
--------------------------------------------------------------------------------
1 | # - Find sip
2 | # Find the python sip includes making sure it is loadable from python
3 | # This module defines
4 | # SIP_INCLUDE_DIR, where to find sip.h, etc.
5 | # SIP_FOUND, If false, do not try to use numpy headers.
6 |
7 | # be certain sip is available from python. this part might be unnecessary.
8 | execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
9 | "import sip; print sip.SIP_VERSION"
10 | OUTPUT_VARIABLE SIP_VERSION
11 | OUTPUT_STRIP_TRAILING_WHITESPACE)
12 |
13 | if(SIP_VERSION)
14 | set(SIP_PYTHON_FOUND TRUE)
15 | message(STATUS "SIP version ${SIP_VERSION} found")
16 | else()
17 | message(STATUS "SIP module not available in Python." )
18 | set(SIP_PYTHON_FOUND FALSE)
19 | endif()
20 |
21 | if(SIP_PYTHON_FOUND)
22 | # search for sip.h
23 | if(SIP_INCLUDE_DIR)
24 | set(SIP_FOUND TRUE)
25 | elseif(EXISTS ${PYTHON_INCLUDE_PATH}/sip.h)
26 | # The SIP headers are often packaged in the Python include directory
27 | set(SIP_INCLUDE_DIR ${PYTHON_INCLUDE_PATH})
28 | else()
29 | # Attempt to find the SIP headers in the normal system path
30 | find_path(SIP_INCLUDE_DIR NAMES sip.h
31 | PATHS
32 | PATH_SUFFIXES SIP
33 | )
34 | endif()
35 | include(FindPackageHandleStandardArgs)
36 | find_package_handle_standard_args(SIP DEFAULT_MSG SIP_INCLUDE_DIR)
37 | else()
38 | # give up
39 | set(SIP_FOUND FALSE)
40 | endif()
41 |
42 | mark_as_advanced(SIP_INCLUDE_DIR)
43 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/quantuminput/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(${CMAKE_CURRENT_BINARY_DIR})
2 |
3 | set(LINK_LIBS avogadro)
4 | set(PLUGIN_LABEL extensions)
5 | set(PLUGIN_TARGET extensions)
6 |
7 | ### Input File Extension
8 | set(inputfileextension_SRCS
9 | inputfileextension.cpp
10 | inputdialog.cpp
11 | abinitinputdialog.cpp
12 | daltoninputdialog.cpp
13 | gamessukinputdialog.cpp
14 | gaussianinputdialog.cpp
15 | molproinputdialog.cpp
16 | mopacinputdialog.cpp
17 | nwcheminputdialog.cpp
18 | psi4inputdialog.cpp
19 | qcheminputdialog.cpp
20 | teracheminputdialog.cpp
21 | lammpsinputdialog.cpp)
22 | set(inputfileextension_UIS
23 | abinitinputdialog.ui
24 | gaussianinputdialog.ui
25 | daltoninputdialog.ui
26 | gamessukinputdialog.ui
27 | molproinputdialog.ui
28 | mopacinputdialog.ui
29 | nwcheminputdialog.ui
30 | psi4inputdialog.ui
31 | qcheminputdialog.ui
32 | teracheminputdialog.ui
33 | lammpsinputdialog.ui)
34 | avogadro_plugin_nogl(inputfileextension
35 | "${inputfileextension_SRCS}"
36 | "${inputfileextension_UIS}"
37 | )
38 |
39 | ### gamess
40 | set(gamessextension_SRCS
41 | inputdialog.cpp
42 | gamessextension.cpp
43 | gamessinputdialog.cpp
44 | gamessinputdata.cpp
45 | gamesshighlighter.cpp
46 | gamessefpmatchdialog.cpp)
47 | avogadro_plugin_nogl(gamessextension
48 | "${gamessextension_SRCS}"
49 | "gamessinputdialog.ui;gamessefpmatchdialog.ui")
50 |
--------------------------------------------------------------------------------
/libavogadro/src/python/fragment.cpp:
--------------------------------------------------------------------------------
1 | // Last update: timvdm 18 June 2009
2 | #include
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | using namespace boost::python;
9 | using namespace Avogadro;
10 |
11 | void export_Fragment()
12 | {
13 |
14 | class_, boost::noncopyable>("Fragment", no_init)
15 | //
16 | // read/write properties
17 | //
18 | .add_property("name",
19 | &Fragment::name,
20 | &Fragment::setName,
21 | "The name of the fragment.")
22 |
23 | //
24 | // read-only properties
25 | //
26 | .add_property("atoms",
27 | &Fragment::atoms,
28 | "List of the unique ids of the atoms in this Fragment.")
29 |
30 | .add_property("bonds",
31 | &Fragment::bonds,
32 | "List of the unique ids of the bonds in this Fragment.")
33 |
34 | //
35 | // real functions
36 | //
37 | .def("addAtom",
38 | &Fragment::addAtom,
39 | "Add an Atom to the Fragment.")
40 |
41 | .def("removeAtom",
42 | &Fragment::removeAtom,
43 | "Remove the Atom from the Fragment.")
44 |
45 | .def("addBond",
46 | &Fragment::addBond,
47 | "Add a Bond to the Fragment.")
48 |
49 | .def("removeBond",
50 | &Fragment::removeBond,
51 | "Remove the Bond from the Fragment.")
52 | ;
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/libavogadro/src/python/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | include_directories(
2 | ${libavogadro_SOURCE_DIR}/include
3 | ${CMAKE_CURRENT_BINARY_DIR}
4 | ${OPENBABEL2_INCLUDE_DIR}
5 | ${BOOST_PYTHON_INCLUDES}
6 | ${PYTHON_INCLUDE_PATH}
7 | ${NUMPY_INCLUDE_DIR}
8 | ${SIP_INCLUDE_DIR}
9 | )
10 |
11 | # use all cpp files in this directory
12 | file(GLOB wrapper_SRCS "*.cpp")
13 |
14 | qt4_automoc(moleculelist.cpp)
15 |
16 | add_library(python-module MODULE ${wrapper_SRCS})
17 | set_target_properties(python-module PROPERTIES OUTPUT_NAME Avogadro)
18 | set_target_properties(python-module PROPERTIES PREFIX "")
19 | if (WIN32)
20 | set_target_properties(python-module PROPERTIES SUFFIX ".pyd")
21 | target_link_libraries(python-module avogadro ${PYTHON_LIBRARIES})
22 | else()
23 | target_link_libraries(python-module stdc++ avogadro
24 | ${QT_LIBRARIES} ${PYTHON_LIBRARIES} ${Boost_LIBRARIES} ${OPENBABEL2_LIBRARIES})
25 | endif()
26 |
27 | # Let's try to use this instead:
28 | EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c
29 | "from sys import stdout; from distutils import sysconfig; stdout.write(sysconfig.get_python_lib(1))"
30 | OUTPUT_VARIABLE PYTHON_LIB_PATH)
31 |
32 | message(STATUS "Python site-packages directory: ${PYTHON_LIB_PATH}")
33 |
34 | option(INSTALL_PYTHON_MODULE
35 | "Install the avogadro python module for the system wide python installation."
36 | ON)
37 | if (INSTALL_PYTHON_MODULE)
38 | install(TARGETS python-module DESTINATION ${PYTHON_LIB_PATH})
39 | endif()
40 |
41 |
--------------------------------------------------------------------------------
/crystals/clays/Al2Si2O9H4-Kaolinite.cif:
--------------------------------------------------------------------------------
1 | data_global
2 | _chemical_name_mineral 'Kaolinite'
3 | loop_
4 | _publ_author_name
5 | 'Bish D L'
6 | 'Von Dreele R B'
7 | _journal_name_full 'Clays and Clay Minerals'
8 | _journal_volume 37
9 | _journal_year 1989
10 | _journal_page_first 289
11 | _journal_page_last 296
12 | _publ_section_title
13 | ;
14 | Rietveld refinement of non-hydrogen atomic positions in kaolinite
15 | Note: clay
16 | ;
17 | _database_code_amcsd 0012232
18 | _chemical_compound_source 'Keokuk, Iowa, USA'
19 | _chemical_formula_sum 'Al2 Si2 O9 H4'
20 | _cell_length_a 5.1554
21 | _cell_length_b 8.9448
22 | _cell_length_c 7.4048
23 | _cell_angle_alpha 91.700
24 | _cell_angle_beta 104.862
25 | _cell_angle_gamma 89.822
26 | _cell_volume 329.893
27 | _exptl_crystal_density_diffrn 2.599
28 | _symmetry_space_group_name_H-M 'C 1'
29 | loop_
30 | _space_group_symop_operation_xyz
31 | 'x,y,z'
32 | '1/2+x,1/2+y,z'
33 | loop_
34 | _atom_site_label
35 | _atom_site_fract_x
36 | _atom_site_fract_y
37 | _atom_site_fract_z
38 | Al1 0.29710 0.49570 0.47210
39 | Al2 0.79260 0.33000 0.46990
40 | Si1 0.99420 0.33930 0.09090
41 | Si2 0.50640 0.16650 0.09130
42 | O1 0.05010 0.35390 0.31700
43 | O2 0.12140 0.66040 0.31750
44 | O3 0.00000 0.50000 0.00000
45 | O4 0.20850 0.23050 0.02470
46 | O5 0.20120 0.76570 0.00320
47 | O-H1 0.05100 0.96980 0.32200
48 | O-H2 0.96490 0.16650 0.60510
49 | O-H3 0.03480 0.47690 0.60800
50 | O-H4 0.03340 0.85700 0.60940
51 |
--------------------------------------------------------------------------------
/libavogadro/src/engines/wiresettingswidget.ui:
--------------------------------------------------------------------------------
1 |
2 | WireSettingsWidget
3 |
4 |
5 |
6 | 0
7 | 0
8 | 400
9 | 233
10 |
11 |
12 |
13 | -
14 |
15 |
-
16 |
17 |
18 | Show Atoms
19 |
20 |
21 | true
22 |
23 |
24 |
25 | -
26 |
27 |
28 | true
29 |
30 |
31 | Show Multiple Bonds
32 |
33 |
34 |
35 |
36 |
37 | -
38 |
39 |
40 | Qt::Vertical
41 |
42 |
43 |
44 | 20
45 | 40
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/avogadro/src/updatedialog.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | UpdateDialog - Dialog to display available Avogadro updates
3 |
4 | Copyright (C) 2009 Marcus D. Hanwell
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | Avogadro is free software; you can redistribute it and/or modify
10 | it under the terms of the GNU Lesser General Public License as published by
11 | the Free Software Foundation; either version 2.1 of the License, or
12 | (at your option) any later version.
13 |
14 | Avogadro is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program; if not, write to the Free Software
21 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 | 02110-1301, USA.
23 | **********************************************************************/
24 |
25 | #ifndef UPDATEDIALOG_H
26 | #define UPDATEDIALOG_H
27 |
28 | #include
29 |
30 | namespace Avogadro {
31 | class UpdateDialog : public QDialog
32 | {
33 | Q_OBJECT
34 |
35 | public:
36 | UpdateDialog(QWidget *parent, const QString &updateText);
37 | ~UpdateDialog();
38 | };
39 | }
40 |
41 | #endif // UPDATEDIALOG_H
42 |
--------------------------------------------------------------------------------
/cmake/modules/TestIfWeNeedFPermissive.cmake:
--------------------------------------------------------------------------------
1 | include (CheckCXXSourceCompiles)
2 |
3 | macro (TEST_IF_WE_NEED_FPERMISSIVE)
4 | SET(_TEST_IF_WE_NEED_FPERMISSIVE_SOURCE_CODE
5 | #This checks if we need -fpermissive to work around a problem with Boost/Python and GCC >= GCC 4.3.1
6 | #See: http://gcc.gnu.org/gcc-4.3/porting_to.html
7 | #GCC by default no longer accepts code such as
8 | "
9 | template class auto_ptr {};
10 | template
11 | struct counted_ptr
12 | {
13 | auto_ptr<_Tp> auto_ptr();
14 | };
15 | int main() {return 0;}
16 | "
17 | #
18 | #
19 | #
20 | )
21 |
22 | CHECK_CXX_SOURCE_COMPILES("${_TEST_IF_WE_NEED_FPERMISSIVE_SOURCE_CODE}" COMPILES_WITHOUT_FPERMISSIVE)
23 |
24 | set (NEED_FPERMISSIVE NOT COMPILES_WITHOUT_FPERMISSIVE)
25 |
26 | endmacro (TEST_IF_WE_NEED_FPERMISSIVE)
27 | #but will issue the diagnostic
28 | #
29 | #error: declaration of 'auto_ptr<_Tp> counted_ptr<_Tp>::auto_ptr()'
30 | #error: changes meaning of 'auto_ptr' from 'class auto_ptr<_Tp>'
31 | #
32 | #The reference to struct auto_ptr needs to be qualified here, or the name of the member function changed to be unambiguous.
33 | #
34 | #template class auto_ptr {};
35 | #template
36 | #struct counted_ptr
37 | #{
38 | # ::auto_ptr<_Tp> auto_ptr();
39 | #};
40 | #
41 | #In addition, -fpermissive can be used as a temporary workaround to convert the error into a warning until the code is fixed.
42 | #Note that then in some case name lookup will not be standard conforming.
--------------------------------------------------------------------------------
/libavogadro/src/extensions/surfaces/openqube/atom.cpp:
--------------------------------------------------------------------------------
1 | /******************************************************************************
2 |
3 | This source file is part of the OpenQube project.
4 |
5 | Copyright 2011 Kitware, Inc.
6 |
7 | This source code is released under the New BSD License, (the "License").
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
15 | ******************************************************************************/
16 |
17 | #include "atom.h"
18 |
19 | using Eigen::Vector3d;
20 |
21 | namespace OpenQube {
22 |
23 | short Atom::atomicNumber() const
24 | {
25 | return m_molecule ? m_molecule->atomAtomicNumber(m_index) : -1;
26 | }
27 |
28 | bool Atom::isHydrogen() const
29 | {
30 | return m_molecule ? m_molecule->atomAtomicNumber(m_index) == 1 : false;
31 | }
32 |
33 | void Atom::setAtomicNumber(short atomicNumber)
34 | {
35 | if (m_molecule)
36 | m_molecule->setAtomAtomicNumber(m_index, atomicNumber);
37 | }
38 |
39 | Vector3d Atom::pos() const
40 | {
41 | return m_molecule ? m_molecule->atomPos(m_index) : Vector3d::Zero();
42 | }
43 |
44 | void Atom::setPos(const Eigen::Vector3d& pos)
45 | {
46 | if (m_molecule)
47 | m_molecule->setAtomPos(m_index, pos);
48 | }
49 |
50 | } // End namespace
51 |
--------------------------------------------------------------------------------
/testfiles/untitled01.gpr:
--------------------------------------------------------------------------------
1 | !Header gpr 111
2 | !Info 1 allmm 80
3 | !Atoms 14
4 | 0 6 0 0
5 | 1 6 0 0
6 | 2 6 0 0
7 | 3 1 0 0
8 | 4 1 0 0
9 | 5 1 0 0
10 | 6 1 0 0
11 | 7 1 0 0
12 | 8 1 0 0
13 | 9 1 0 0
14 | 10 1 0 0
15 | 11 8 0 0
16 | 12 1 0 0
17 | 13 1 0 0
18 | !Bonds 12
19 | 0 1 S
20 | 1 2 S
21 | 0 3 S
22 | 0 4 S
23 | 0 5 S
24 | 1 6 S
25 | 1 7 S
26 | 2 8 S
27 | 2 9 S
28 | 2 10 S
29 | 11 12 S
30 | 11 13 S
31 | !Coord
32 | 0 +0.11802726238966 +0.0752129405736923 -0.00883992202579975
33 | 1 +0.112236581742764 -0.0789823159575462 -0.00468448316678405
34 | 2 -0.0341450311243534 -0.12753164768219 +0.00180736707989126
35 | 3 +0.222996324300766 +0.107847929000854 -0.0137977255508304
36 | 4 +0.0716076120734215 +0.11690579354763 +0.0817857533693314
37 | 5 +0.0645227059721947 +0.11236334592104 -0.0975194945931435
38 | 6 +0.166533678770065 -0.115054793655872 +0.0840253084897995
39 | 7 +0.160067677497864 -0.119654186069965 -0.0951102152466774
40 | 8 -0.0362064726650715 -0.237505152821541 +0.00491532124578953
41 | 9 -0.0890282914042473 -0.0929905995726585 -0.087078757584095
42 | 10 -0.0827861502766609 -0.0880236849188805 +0.0922482684254646
43 | 11 -0.200527355074883 +0.168387651443481 -0.0055553182028234
44 | 12 -0.204749271273613 +0.166345566511154 +0.0893248170614243
45 | 13 -0.26854932308197 +0.112679116427898 -0.041520930826664
46 | !PartialCharges
47 | 0 +0
48 | 1 +0
49 | 2 +0
50 | 3 +0
51 | 4 +0
52 | 5 +0
53 | 6 +0
54 | 7 +0
55 | 8 +0
56 | 9 +0
57 | 10 +0
58 | 11 -0.5
59 | 12 +0.25
60 | 13 +0.25
61 | !GAMESS
62 | !End
63 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/msym_error.h:
--------------------------------------------------------------------------------
1 | //
2 | // msym_error.h
3 | // libmsym
4 | //
5 | // Created by Marcus Johansson on 30/01/15.
6 | // Copyright (c) 2015 Marcus Johansson.
7 | //
8 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 | //
10 |
11 | #ifndef __MSYM__ERROR_H
12 | #define __MSYM__ERROR_H
13 |
14 | #ifdef __cplusplus
15 | extern "C" {
16 | #endif
17 |
18 | enum _msym_error {
19 | MSYM_SUCCESS = 0,
20 | MSYM_INVALID_INPUT = -1,
21 | MSYM_INVALID_CONTEXT = -2,
22 | MSYM_INVALID_THRESHOLD = -3,
23 | MSYM_INVALID_ELEMENTS = -4,
24 | MSYM_INVALID_ORBITALS = -5,
25 | MSYM_INVALID_POINT_GROUP = -6,
26 | MSYM_INVALID_EQUIVALENCE_SET = -7,
27 | MSYM_INVALID_PERMUTATION = -8,
28 | MSYM_INVALID_GEOMETRY = -9,
29 | MSYM_INVALID_CHARACTER_TABLE = -10,
30 | MSYM_INVALID_SUBSPACE = -11,
31 | MSYM_INVALID_AXES = -12,
32 | MSYM_SYMMETRY_ERROR = -13,
33 | MSYM_PERMUTATION_ERROR = -14,
34 | MSYM_POINT_GROUP_ERROR = -15,
35 | MSYM_SYMMETRIZATION_ERROR = -16,
36 | MSYM_ORBITAL_ERROR = -17
37 | };
38 |
39 | typedef enum _msym_error msym_error_t;
40 |
41 | const char *msymErrorString(msym_error_t error);
42 | void msymSetErrorDetails(const char *format, ...);
43 | const char *msymGetErrorDetails();
44 |
45 |
46 | #ifdef __cplusplus
47 | }
48 | #endif
49 |
50 |
51 | #endif /* defined(__MSYM__ERROR_H) */
52 |
53 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/crystallography/COPYING:
--------------------------------------------------------------------------------
1 | The "New" BSD License:
2 |
3 | Redistribution and use in source and binary forms, with or without
4 | modification, are permitted provided that the following conditions are
5 | met:
6 |
7 | * Redistributions of source code must retain the above copyright
8 | notice, this list of conditions and the following disclaimer.
9 |
10 | * Redistributions in binary form must reproduce the above copyright
11 | notice, this list of conditions and the following disclaimer in the
12 | documentation and/or other materials provided with the distribution.
13 |
14 | * Neither the name of Avogadro nor the names of its contributors may
15 | be used to endorse or promote products derived from this software
16 | without specific prior written permission.
17 |
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 | “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 |
--------------------------------------------------------------------------------
/libavogadro/src/surfacemeshgenerator.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | SurfaceMeshGenerator - Class to generate meshes from volumetric data
3 |
4 | Copyright (C) 2009 by Tim Vandermeersch
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | Avogadro is free software; you can redistribute it and/or modify
10 | it under the terms of the GNU Lesser General Public License as published by
11 | the Free Software Foundation; either version 2.1 of the License, or
12 | (at your option) any later version.
13 |
14 | Avogadro is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program; if not, write to the Free Software
21 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 | 02110-1301, USA.
23 | **********************************************************************/
24 |
25 | #ifndef SURFACEMESHGENERATOR_H
26 | #define SURFACEMESHGENERATOR_H
27 |
28 | #include "config.h"
29 |
30 | #include
31 |
32 | #include
33 | #include
34 | #include
35 |
36 |
37 | namespace Avogadro {
38 |
39 | class Cube;
40 | class Atom;
41 | class Mesh;
42 |
43 | } // End namespace Avogadro
44 |
45 | #endif
46 |
47 |
--------------------------------------------------------------------------------
/libavogadro/src/dockwidget.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | DockWidget -- Dock widget for avogadro
3 |
4 | Copyright (C) 2011 David C. Lonie
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | This source code is released under the New BSD License, (the "License").
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 | **********************************************************************/
17 |
18 | #ifndef DOCKWIDGET_H
19 | #define DOCKWIDGET_H
20 |
21 | #include
22 |
23 | #include // For A_EXPORT
24 |
25 | namespace Avogadro
26 | {
27 |
28 | class A_EXPORT DockWidget : public QDockWidget
29 | {
30 | Q_OBJECT
31 | public:
32 | explicit DockWidget(const QString &title,
33 | QWidget *parent = 0, Qt::WindowFlags flags = 0);
34 | explicit DockWidget(QWidget *parent = 0, Qt::WindowFlags flags = 0);
35 | virtual ~DockWidget();
36 |
37 | virtual Qt::DockWidgetArea preferredWidgetDockArea();
38 |
39 | public slots:
40 | void setPreferredDockWidgetArea(Qt::DockWidgetArea);
41 |
42 | protected:
43 | Qt::DockWidgetArea m_preferredDockWidgetArea;
44 |
45 | };
46 |
47 | }
48 | #endif // DOCKWIDGET_H
49 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: cpp
2 | compiler: gcc
3 | sudo: require
4 | dist: trusty
5 |
6 | before_install:
7 | # - sudo add-apt-repository ppa:beineri/opt-qt593-trusty -y
8 | - sudo apt-get update -qq
9 |
10 | install:
11 | - sudo apt-get -y install qt4-dev-tools libopenbabel-dev libeigen3-dev
12 | # - source /opt/qt*/bin/qt*-env.sh
13 |
14 | script:
15 | - cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
16 | - make -j$(nproc)
17 | - make DESTDIR=appdir -j$(nproc) install ; find appdir/
18 | - wget -c -nv "https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
19 | - chmod a+x linuxdeployqt-continuous-x86_64.AppImage
20 | - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
21 | - export VERSION=$(git rev-parse --short HEAD) # linuxdeployqt uses this for naming the file
22 | - ./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
23 | - ./linuxdeployqt-continuous-x86_64.AppImage appdir/usr/share/applications/*.desktop -appimage
24 |
25 | after_success:
26 | - find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
27 | - # curl --upload-file Avogadro*.AppImage https://transfer.sh/Avogadro-git.$(git rev-parse --short HEAD)-x86_64.AppImage
28 | - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
29 | - bash upload.sh Avogadro*.AppImage*
30 |
31 | branches:
32 | except:
33 | - # Do not build tags that we create when we upload to GitHub Releases
34 | - /^(?i:continuous)/
35 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/01-HelloWorld.dox:
--------------------------------------------------------------------------------
1 | namespace Avogadro {
2 |
3 | /**
4 |
5 | \page tpe-hello-world Hello World! example
6 |
7 | \section rationale Rationale
8 |
9 | The Hello World! extension is an example of the simplest extension
10 | that implements its own GUI, in this case a dialog box with a button
11 | and a label.
12 |
13 | \section overview Overview
14 |
15 | The extension consists of five files located in
16 | libavogadro/examples/thirdPartyExtensions/01-HelloWorld/:
17 | - CMakeLists.txt:
18 | - The CMake input file that sets up the build
19 | environment.
20 |
21 | - helloworldextension.cpp
22 | - helloworldextension.h
23 | - These contain the HelloWorldExtension class which inherits
24 | Avogadro::Extension. This is where the actual work of the
25 | extension is typically performed.
26 |
27 | - helloworlddialog.ui
28 | - This is the Qt Designer input file that contains the GUI layout.
29 | - helloworlddialog.cpp
30 | - helloworlddialog.h
31 | - These contain the HelloWorldDialog class, which implements support
32 | for the GUI described by helloworld.ui
33 |
34 | \section specifics Specifics
35 |
36 | There is no algorithmic complexity to explain here, examining the
37 | comments in the source files should be sufficient. As a bare example
38 | of an Avogadro extension, the Hello World code serves as a basis for
39 | the more advanced examples in the tutorial.
40 |
41 | \section next Next Steps
42 |
43 | If you're feeling adventurous, try out the following:
44 | - Change the "Hello world!" text on the dialog.
45 |
46 | **/
47 |
48 | }
--------------------------------------------------------------------------------
/testfiles/COPYING:
--------------------------------------------------------------------------------
1 | Copyright (c) 2006 Jerome Pansanel
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions
6 | are met:
7 | 1. Redistributions of source code must retain the above copyright
8 | notice, this list of conditions and the following disclaimer.
9 | 2. Redistributions in binary form must reproduce the above copyright
10 | notice, this list of conditions and the following disclaimer in the
11 | documentation and/or other materials provided with the distribution.
12 | 3. Neither the name of the University nor the names of its contributors
13 | may be used to endorse or promote products derived from this software
14 | without specific prior written permission.
15 |
16 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 | ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 | SUCH DAMAGE.
27 |
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/01-HelloWorld/helloworlddialog.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | HelloWorldExtension
3 |
4 | Copyright (C) 2010 David C. Lonie
5 |
6 | This library is free software; you can redistribute it and/or modify
7 | it under the terms of the GNU Library General Public License as
8 | published by the Free Software Foundation; either version 2.1 of the
9 | License, or (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public icense for more details.
15 | ***********************************************************************/
16 |
17 | #ifndef HELLOWORLDDIALOG_H
18 | #define HELLOWORLDDIALOG_H
19 |
20 | #include
21 |
22 | // Include autogenerated ui code
23 | #include "ui_helloworlddialog.h"
24 |
25 | // Forward declaration of Avogadro::Molecule
26 | namespace Avogadro {
27 | class Molecule;
28 | }
29 |
30 | namespace HelloWorld {
31 |
32 | class HelloWorldDialog : public QDialog
33 | {
34 | // The Q_OBJECT macro must be include if a class is to have
35 | // signals/slots
36 | Q_OBJECT
37 |
38 | public:
39 | explicit HelloWorldDialog(QWidget *parent = 0, Qt::WindowFlags f = 0 );
40 | virtual ~HelloWorldDialog() {};
41 |
42 | private:
43 | // This member provides access to all ui elements
44 | Ui::HelloWorldDialog ui;
45 | };
46 | }
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/surfaces/openqube/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | find_package(Qt4 4.6 REQUIRED)
2 | find_package(Eigen3)
3 | if(NOT EIGEN3_FOUND)
4 | message(STATUS "Cannot find Eigen3, trying Eigen2")
5 | find_package(Eigen2 REQUIRED)
6 | else()
7 | set (EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API TRUE)
8 | endif()
9 |
10 | include_directories(${QT_INCLUDE_DIR} ${EIGEN2_INCLUDE_DIR})
11 |
12 | # Headers for our public API
13 | set(openqube_HDRS
14 | atom.h
15 | basisset.h
16 | basissetloader.h
17 | cube.h
18 | gamessukout.h
19 | gamessus.h
20 | orca.h
21 | gaussianset.h
22 | molecule.h
23 | openqubeabi.h
24 | slaterset.h
25 | )
26 |
27 | # Source files for our data.
28 | set(openqube_SRCS
29 | atom.cpp
30 | basisset.cpp
31 | basissetloader.cpp
32 | cube.cpp
33 | gamessukout.cpp
34 | gamessus.cpp
35 | orca.cpp
36 | gaussianfchk.cpp
37 | gaussianset.cpp
38 | molden.cpp
39 | molecule.cpp
40 | mopacaux.cpp
41 | slaterset.cpp
42 | )
43 |
44 | qt4_wrap_cpp(openqubeMocSrcs basisset.h gaussianset.h slaterset.h)
45 |
46 | add_library(OpenQube SHARED ${openqube_SRCS} ${openqubeMocSrcs})
47 |
48 | set_target_properties(OpenQube PROPERTIES
49 | VERSION 0.1.0
50 | OUTPUT_NAME avogadro_OpenQube
51 | LINK_INTERFACE_LIBRARIES ""
52 | SOVERSION 0
53 | LABELS openqube)
54 |
55 | target_link_libraries(OpenQube ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
56 |
57 | add_executable(qube qube.cpp)
58 | target_link_libraries(qube OpenQube ${QT_LIBRARIES})
59 | install(TARGETS qube DESTINATION ${BIN_INSTALL_DIR})
60 |
61 | install(TARGETS OpenQube DESTINATION ${LIB_INSTALL_DIR})
62 |
--------------------------------------------------------------------------------
/libavogadro/src/python/navigate.cpp:
--------------------------------------------------------------------------------
1 | // Last update: timvdm 19 June 2009
2 | #include
3 |
4 | #include
5 | #include
6 |
7 | using namespace boost::python;
8 | using namespace Avogadro;
9 |
10 | void export_Navigate()
11 | {
12 | void (*translate_ptr1)(GLWidget*, const Eigen::Vector3d&, double, double) = &Navigate::translate;
13 | void (*rotate_ptr1)(GLWidget*, const Eigen::Vector3d&, double, double) = &Navigate::rotate;
14 | void (*rotate_ptr2)(GLWidget*, const Eigen::Vector3d&, double, double, double) = &Navigate::rotate;
15 |
16 | class_("Navigate", no_init)
17 | //
18 | // real functions
19 | //
20 | .def("zoom",
21 | &Navigate::zoom,
22 | "Zooms toward a given point by the given amount.")
23 | .staticmethod("zoom")
24 |
25 | .def("translate",
26 | translate_ptr1,
27 | "Translate between the from and to positions relative to what.")
28 | .staticmethod("translate")
29 |
30 | .def("rotate",
31 | rotate_ptr1,
32 | "Rotate about center by the amounts deltaX and deltaY in tha x and y axes.")
33 | .def("rotate",
34 | rotate_ptr2,
35 | "Rotate about center by deltaX, deltaY, and deltaZ in the x, y and z axes "
36 | "A generalization of the rotate() and tilt() methods.")
37 | .staticmethod("rotate")
38 |
39 | .def("tilt",
40 | &Navigate::tilt,
41 | "Tilt about center by the amount delta z axis.")
42 | .staticmethod("tilt")
43 | ;
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/scripts/installer/installer_languages/russian.nsh:
--------------------------------------------------------------------------------
1 | !ifndef _Avogadro_LANGUAGES_RUSSIAN_NSH_
2 | !define _Avogadro_LANGUAGES_RUSSIAN_NSH_
3 |
4 | !ifdef Avogadro_LANG
5 | !undef Avogadro_LANG
6 | !endif
7 | !define Avogadro_LANG ${LANG_RUSSIAN}
8 |
9 | LicenseLangString AvogadroLicenseData ${Avogadro_LANG} "${PRODUCT_LICENSE_FILE}"
10 |
11 | LangString WelcomePageText "${Avogadro_LANG}" "Этот мастер поможет вам установить Avogadro.\r\n\
12 | \r\n\
13 | $_CLICK"
14 |
15 | LangString SecAssociateCmlTitle "${Avogadro_LANG}" "Создать ассоциацию для файлов Avogadro"
16 | LangString SecDesktopTitle "${Avogadro_LANG}" "Ярлык на рабочем столе"
17 |
18 | LangString SecAssociateCmlDescription "${Avogadro_LANG}" "Файлы с расширением .cml будут автоматически открываться в Avogadro."
19 | LangString SecDesktopDescription "${Avogadro_LANG}" "Размещает ярлык Avogadro на рабочем столе."
20 |
21 | LangString StillInstalled "${Avogadro_LANG}" "Avogadro ${Version} уже установлен!"
22 |
23 | LangString FinishPageMessage "${Avogadro_LANG}" "Поздравляем! Avogadro был успешно установлен."
24 | LangString FinishPageRun "${Avogadro_LANG}" "Запустить Avogadro"
25 |
26 | LangString UnNotAdminLabel "${Avogadro_LANG}" "Чтобы удалить Avogadro, вы должны иметь привилегии администратора!"
27 | LangString UnReallyRemoveLabel "${Avogadro_LANG}" "Вы уверены, что хотите полностью удалить Avogadro?"
28 | LangString UnRemoveSuccessLabel "${Avogadro_LANG}" "Avogadro был успешно удален с вашего компьютера."
29 |
30 |
31 | !undef Avogadro_LANG
32 |
33 | !endif ; _Avogadro_LANGUAGES_RUSSIAN_NSH_
34 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/crystallography/spglib/COPYING:
--------------------------------------------------------------------------------
1 | Copyright (c) 2014, Atsushi Togo
2 | All rights reserved.
3 |
4 | Redistribution and use in source and binary forms, with or without
5 | modification, are permitted provided that the following conditions
6 | are met:
7 |
8 | * Redistributions of source code must retain the above copyright
9 | notice, this list of conditions and the following disclaimer.
10 | * Redistributions in binary form must reproduce the above copyright
11 | notice, this list of conditions and the following disclaimer in the
12 | documentation and/or other materials provided with the distribution.
13 | * Neither the name of the nor the
14 | names of its contributors may be used to endorse or promote products
15 | derived from this software without specific prior written permission.
16 |
17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
24 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
25 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
26 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 |
--------------------------------------------------------------------------------
/crystals/clays/Al4KSi2O12-Illite.cif:
--------------------------------------------------------------------------------
1 | data_global
2 | _chemical_name_mineral 'Illite'
3 | loop_
4 | _publ_author_name
5 | 'Gualtieri A F'
6 | _journal_name_full 'Journal of Applied Crystallography'
7 | _journal_volume 33
8 | _journal_year 2000
9 | _journal_page_first 267
10 | _journal_page_last 278
11 | _publ_section_title
12 | ;
13 | Accuracy of XRPD QPA using the combined Rietveld-RIR method
14 | ;
15 | _database_code_amcsd 0012865
16 | _chemical_compound_source 'Napoli, Italy'
17 | _chemical_formula_sum 'K Al4 Si2 O12'
18 | _cell_length_a 5.2226
19 | _cell_length_b 9.0183
20 | _cell_length_c 20.143
21 | _cell_angle_alpha 90
22 | _cell_angle_beta 95.665
23 | _cell_angle_gamma 90
24 | _cell_volume 944.081
25 | _exptl_crystal_density_diffrn 2.780
26 | _symmetry_space_group_name_H-M 'C 1 2/c 1'
27 | loop_
28 | _space_group_symop_operation_xyz
29 | 'x,y,z'
30 | '1/2+x,1/2+y,z'
31 | 'x,-y,1/2+z'
32 | '1/2+x,1/2-y,1/2+z'
33 | '-x,y,1/2-z'
34 | '1/2-x,1/2+y,1/2-z'
35 | '-x,-y,-z'
36 | '1/2-x,1/2-y,-z'
37 | loop_
38 | _atom_site_label
39 | _atom_site_fract_x
40 | _atom_site_fract_y
41 | _atom_site_fract_z
42 | _atom_site_U_iso_or_equiv
43 | K 0.00000 0.09010 0.25000 0.07500
44 | Al1 0.44320 0.26350 0.13650 0.01100
45 | Al2 0.25860 0.08280 0.00680 0.02700
46 | Si 0.48250 0.92970 0.13700 0.02200
47 | O1 0.46230 0.91940 0.05050 0.01500
48 | O2 0.38350 0.26650 0.06630 0.04700
49 | O3 0.42590 0.10390 0.15300 0.01200
50 | O4 0.22260 0.83680 0.16850 0.04100
51 | O5 0.27350 0.37220 0.16780 0.08000
52 | O6 0.40800 0.56710 0.04540 0.05300
53 |
--------------------------------------------------------------------------------
/libavogadro/src/dockwidget.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | DockWidget -- Dock widget for avogadro
3 |
4 | Copyright (C) 2011 David C. Lonie
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | This source code is released under the New BSD License, (the "License").
10 |
11 | Unless required by applicable law or agreed to in writing, software
12 | distributed under the License is distributed on an "AS IS" BASIS,
13 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 | See the License for the specific language governing permissions and
15 | limitations under the License.
16 | **********************************************************************/
17 |
18 | #include "dockwidget.h"
19 |
20 | namespace Avogadro
21 | {
22 |
23 | DockWidget::DockWidget(const QString &title,
24 | QWidget *parent, Qt::WindowFlags flags)
25 | : QDockWidget(title, parent, flags),
26 | m_preferredDockWidgetArea(Qt::RightDockWidgetArea)
27 | {
28 | }
29 |
30 | DockWidget::DockWidget(QWidget *parent, Qt::WindowFlags flags)
31 | : QDockWidget(parent, flags),
32 | m_preferredDockWidgetArea(Qt::RightDockWidgetArea)
33 | {
34 | }
35 |
36 | DockWidget::~DockWidget()
37 | {
38 | }
39 |
40 | Qt::DockWidgetArea DockWidget::preferredWidgetDockArea()
41 | {
42 | return this->m_preferredDockWidgetArea;
43 | }
44 |
45 | void DockWidget::setPreferredDockWidgetArea(Qt::DockWidgetArea pref)
46 | {
47 | this->m_preferredDockWidgetArea = pref;
48 | }
49 |
50 | }
51 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/symmetry/libmsym/src/point_group.h:
--------------------------------------------------------------------------------
1 | //
2 | // point_group.h
3 | // Symmetry
4 | //
5 | // Created by Marcus Johansson on 28/11/14.
6 | // Copyright (c) 2014 Marcus Johansson.
7 | //
8 | // Distributed under the MIT License ( See LICENSE file or copy at http://opensource.org/licenses/MIT )
9 | //
10 |
11 | #ifndef __MSYM__POINT_GROUP_h
12 | #define __MSYM__POINT_GROUP_h
13 |
14 | #include "msym.h"
15 | #include "symop.h"
16 | #include "geometry.h"
17 | #include "character_table.h"
18 | #include "permutation.h"
19 |
20 | //We cant handle names larger than e.g. D999v (should be more than sufficient, we can see the order in the group anyways)
21 | typedef struct {
22 | msym_point_group_type_t type;
23 | int n;
24 | int order;
25 | msym_symmetry_operation_t *primary;
26 | msym_symmetry_operation_t *sops;
27 | msym_permutation_t *perm;
28 | int sopsl;
29 | double transform[3][3];
30 | CharacterTable *ct;
31 | char name[6];
32 | } msym_point_group_t;
33 |
34 | msym_error_t findPointGroup(int sopsl, msym_symmetry_operation_t *sops, msym_thresholds_t *thresholds, msym_point_group_t **pg);
35 | msym_error_t findSubgroup(msym_subgroup_t *subgroup, msym_thresholds_t *thresholds);
36 | msym_error_t findCharacterTable(msym_point_group_t *pg);
37 | msym_error_t generatePointGroup(char *name, msym_thresholds_t *thresholds, msym_point_group_t **opg);
38 | msym_error_t pointGroupFromSubgroup(msym_subgroup_t *sg, msym_thresholds_t *thresholds, msym_point_group_t **opg);
39 | int numberOfSubgroups(msym_point_group_t *pg);
40 |
41 | #endif /* defined(__MSYM__POINT_GROUP_h) */
42 |
--------------------------------------------------------------------------------
/libavogadro/src/python/extension.cpp:
--------------------------------------------------------------------------------
1 | // Last update: timvdm 18 June 2009
2 | #include
3 |
4 | #include
5 | #include
6 | #include
7 |
8 | #include
9 | #include
10 | #include
11 |
12 | using namespace boost::python;
13 | using namespace Avogadro;
14 |
15 | void export_Extension()
16 | {
17 |
18 | class_, boost::noncopyable>("Extension", no_init)
19 | //
20 | // read-only poperties
21 | //
22 | .add_property("actions",
23 | &Extension::actions,
24 | "A list of actions which this widget can perform")
25 |
26 | .add_property("typeName",
27 | &Extension::typeName,
28 | "Plugin Type Name (Extensions)")
29 |
30 | .add_property("dockWidget",
31 | make_function(&Extension::dockWidget, return_value_policy()),
32 | "A list of dock widgets associated with this extensions") // use QClass_converter to return PyQt object
33 |
34 | // real functions
35 | .def("menuPath",
36 | &Extension::menuPath,
37 | "The menu path for the specified action")
38 |
39 | .def("setMolecule",
40 | &Extension::setMolecule,
41 | "Slot to set the Molecule for the Extension - should be called whenever the active Molecule changes.")
42 |
43 | .def("performAction",
44 | make_function(&Extension::performAction,
45 | return_value_policy())) // use QClass_converter to return PyQt object
46 | ;
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/scripts/installer/installer_languages/english.nsh:
--------------------------------------------------------------------------------
1 | !ifndef _Avogadro_LANGUAGES_ENGLISH_NSH_
2 | !define _Avogadro_LANGUAGES_ENGLISH_NSH_
3 |
4 | !ifdef Avogadro_LANG
5 | !undef Avogadro_LANG
6 | !endif
7 | !define Avogadro_LANG ${LANG_ENGLISH}
8 |
9 | LicenseLangString AvogadroLicenseData ${Avogadro_LANG} "${PRODUCT_LICENSE_FILE}"
10 |
11 | LangString WelcomePageText "${Avogadro_LANG}" "This wizard will guide you through the installation of Avogadro.\r\n\
12 | \r\n\
13 | $_CLICK"
14 |
15 | LangString SecAssociateCmlTitle "${Avogadro_LANG}" "Associate Avogadro-files"
16 | LangString SecDesktopTitle "${Avogadro_LANG}" "Desktop icon"
17 |
18 | LangString SecAssociateCmlDescription "${Avogadro_LANG}" "Files with the extension .cml will automatically be opened with Avogadro."
19 | LangString SecDesktopDescription "${Avogadro_LANG}" "Puts Avogadro icon on the desktop."
20 |
21 | LangString StillInstalled "${Avogadro_LANG}" "Avogadro ${Version} is already installed!"
22 |
23 | LangString FinishPageMessage "${Avogadro_LANG}" "Congratulations! Avogadro has been installed successfully."
24 | LangString FinishPageRun "${Avogadro_LANG}" "Launch Avogadro"
25 |
26 | LangString UnNotAdminLabel "${Avogadro_LANG}" "You must have administrator privileges to uninstall Avogadro!"
27 | LangString UnReallyRemoveLabel "${Avogadro_LANG}" "Are you sure you want to completely remove Avogadro?"
28 | LangString UnRemoveSuccessLabel "${Avogadro_LANG}" "Avogadro was successfully removed from your computer."
29 |
30 |
31 | !undef Avogadro_LANG
32 |
33 | !endif ; _Avogadro_LANGUAGES_ENGLISH_NSH_
34 |
--------------------------------------------------------------------------------
/libavogadro/src/pythonthread_p.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | PythonThread - Handle python threads
3 |
4 | Copyright (C) 2009 by Tim Vandermeersch
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | Avogadro is free software; you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation; either version 2 of the License, or
12 | (at your option) any later version.
13 |
14 | Avogadro is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public License for more details.
18 |
19 | You should have received a copy of the GNU General Public License
20 | along with this program; if not, write to the Free Software
21 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
22 | 02110-1301, USA.
23 | ***********************************************************************/
24 |
25 | #ifndef PYTHONTHREAD_H
26 | #define PYTHONTHREAD_H
27 |
28 | #include
29 | #include
30 |
31 | namespace Avogadro {
32 |
33 | class PythonThread
34 | {
35 | public:
36 | PythonThread() { gstate = PyGILState_Ensure(); }
37 | ~PythonThread() { if (gstate == PyGILState_LOCKED) PyGILState_Release(gstate); }
38 | private:
39 | PyGILState_STATE gstate;
40 | };
41 |
42 | } // namespace
43 |
44 | #endif
45 |
--------------------------------------------------------------------------------
/doc/avopkg.1:
--------------------------------------------------------------------------------
1 | .Dd March 15, 2010
2 | .Os "Avopkg" 1.0
3 | .Dt avopkg 1 URM
4 | .Sh NAME
5 | .Nm avopkg
6 | .Nd "Avogadro Package Manager"
7 | .Sh SYNOPSIS
8 | .Nm
9 | .Op Fl info | Fl query | Fl pack | Fl f
10 | .Ar filename
11 | .br
12 | .Nm
13 | .Fl wizard Op package_name
14 | .Sh DESCRIPTION
15 | Avopkg is a command-line tool for easy packaging and installation
16 | of Avogadro plugins on Unix platforms
17 | .Sh OPTIONS
18 | .Bl -tag -width flag
19 | .It Fl pack Ar manifest
20 | Create package using manifest as package description file
21 | .It Ar filename
22 | Install plugin from chosen package "filename"
23 | .It Fl -f Ar filename
24 | Force installation of plugin, disregarding OS/CPU architecture, possible file overwrites, etc.
25 | .It Fl -wizard Op package_name
26 | Interactively create manifest for new package. Specifying package_name disables some
27 | interactivity of the wizard (e.g., for use in scripts).
28 | .It Fl -info Op filename
29 | Show information about package in file "filename"
30 | .It Fl -query Op package_name
31 | Show information about installed package "package_name"
32 | .El
33 | .Sh ERROR CODES
34 | .Bl -tag -width flag
35 | .It 1
36 | Specified file is not a plugin
37 | .It 2
38 | Manifest is missing in package
39 | .It 3
40 | Trying to install Python plugin on Avogadro compiled without Python
41 | .It 4
42 | OS mismatch
43 | .It 5
44 | CPU architecture mismatch
45 | .It 6
46 | Package overwrites existing file
47 | .It 255
48 | Incorrect usage
49 | .El
50 | .Sh SEE ALSO
51 | .Xr avogadro 1 .
52 | For more information about Avogadro, see
53 | \%<\fBhttp://avogadro.cc/\fR>
54 | .Sh AUTHOR
55 | Konstantin Tokarev
56 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/spectra/ir.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | SpectraDialog - Visualize spectral data from QM calculations
3 |
4 | Copyright (C) 2009 by David Lonie
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | This library is free software; you can redistribute it and/or modify
10 | it under the terms of the GNU Library General Public License as
11 | published by the Free Software Foundation; either version 2.1 of the
12 | License, or (at your option) any later version.
13 |
14 | This program is distributed in the hope that it will be useful,
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 | GNU General Public icense for more details.
18 | ***********************************************************************/
19 |
20 | #ifndef SPECTRATYPE_IR_H
21 | #define SPECTRATYPE_IR_H
22 |
23 | #include "abstract_ir.h"
24 |
25 | namespace Avogadro {
26 |
27 | class IRSpectra : public AbstractIRSpectra
28 | {
29 | Q_OBJECT
30 |
31 | public:
32 | IRSpectra( SpectraDialog *parent = 0 );
33 | ~IRSpectra();
34 |
35 | void writeSettings();
36 | void readSettings();
37 |
38 | bool checkForData(Molecule* mol);
39 | void setupPlot(PlotWidget * plot);
40 |
41 | void getCalculatedPlotObject(PlotObject *plotObject);
42 | void setImportedData(const QList & xList, const QList & yList);
43 | QString getTSV();
44 | };
45 | }
46 |
47 | #endif
48 |
--------------------------------------------------------------------------------
/libavogadro/src/python/unittest/fragment.py:
--------------------------------------------------------------------------------
1 | import Avogadro
2 | import unittest
3 | from numpy import *
4 |
5 | #
6 | # Rings are Fragments...
7 | #
8 | class TestFragment(unittest.TestCase):
9 | def setUp(self):
10 | self.molecule = Avogadro.molecules.addMolecule()
11 |
12 | def test_name(self):
13 | fragment = self.molecule.addRing() # Ring = Fragment
14 | fragment.name = "testing"
15 | self.assertEqual(fragment.name, "testing")
16 |
17 | def test_atom(self):
18 | fragment = self.molecule.addRing() # Ring = Fragment
19 |
20 | # create two atoms
21 | atom1 = self.molecule.addAtom()
22 | atom2 = self.molecule.addBond()
23 | # add atom 2 to the fragment - test addAtom(id)
24 | fragment.addAtom(atom2.id)
25 |
26 | # test atoms()
27 | self.assertEqual(len(fragment.atoms), 1)
28 | self.assert_(atom2.id in fragment.atoms)
29 |
30 | # test removeAtom(id)
31 | fragment.removeAtom(atom2.id)
32 | self.assertEqual(len(fragment.atoms), 0)
33 |
34 | def test_bond(self):
35 | fragment = self.molecule.addRing() # Ring = Fragment
36 |
37 | # create two bonds
38 | bond1 = self.molecule.addBond()
39 | bond2 = self.molecule.addBond()
40 | # add bond 2 to the fragment - test addBond(id)
41 | fragment.addBond(bond2.id)
42 |
43 | # test bonds()
44 | self.assertEqual(len(fragment.bonds), 1)
45 | self.assert_(bond2.id in fragment.bonds)
46 |
47 | # test removeBond(id)
48 | fragment.removeBond(bond2.id)
49 | self.assertEqual(len(fragment.bonds), 0)
50 |
51 |
52 |
53 |
54 |
55 | if __name__ == "__main__":
56 | unittest.main()
57 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/shaders/marble.frag:
--------------------------------------------------------------------------------
1 | // wwlk
2 | //
3 | // Show me the normal
4 |
5 | uniform vec4 my01H2; // please load with (0.0,1.0,0.5,2.0)
6 | varying vec3 v_EyeNormal;
7 | varying vec4 v_EyePosition;
8 |
9 | uniform float time;
10 | uniform vec3 lightDirection;
11 | uniform vec3 blue;
12 | uniform vec3 white;
13 |
14 | uniform sampler3D tex1;
15 | uniform sampler2D tex2;
16 |
17 | void main (void)
18 | {
19 |
20 | vec3 NNormal;
21 | vec4 MyColor;
22 | vec4 tex, tx2;
23 | vec3 color;
24 | float turb;
25 | float illum;
26 |
27 | vec4 Intensity;
28 | float myHalf = 0.5;
29 |
30 | //
31 | // Since the EyeNormal is getting interpolated, we
32 | // have to first restore it by normalizing it.
33 | //
34 | NNormal = normalize( v_EyeNormal );
35 | illum = clamp( dot(NNormal, lightDirection), 0.0, 1.0) + 0.2;
36 |
37 | // Fetch two samples from a texture with 4 noise octaves
38 | tex = texture3D( tex1, gl_TexCoord[0].stp);
39 | tx2 = texture3D( tex1, gl_TexCoord[0].stp*16.0+0.5);
40 |
41 | // Remamp noise from [0,1] to [-1,1]
42 | tex = tex *2.0 -1.0;
43 | tx2 = tx2 *2.0 -1.0;
44 |
45 | //accumulate turbulence
46 | turb = tex.r + myHalf*(tex.g + myHalf*(tex.b + myHalf*tex.a));
47 | turb += 0.0625*(tx2.r + myHalf*(tx2.g+ myHalf*tx2.b));
48 |
49 | //remap the turbulence value and use it to index a color spline stored as a texture
50 | turb = clamp( turb*2.0 , 0.0, 1.0);
51 | vec2 coord = vec2(turb);
52 | vec4 c = texture2D( tex2, coord);
53 | color = vec3(c) * illum;
54 |
55 |
56 | gl_FragColor = vec4( color, 1.0);
57 |
58 | }
--------------------------------------------------------------------------------
/libavogadro/examples/thirdPartyExtensions/01-HelloWorld/helloworlddialog.cpp:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | HelloWorldExtension
3 |
4 | Copyright (C) 2010 David C. Lonie
5 |
6 | This library is free software; you can redistribute it and/or modify
7 | it under the terms of the GNU Library General Public License as
8 | published by the Free Software Foundation; either version 2.1 of the
9 | License, or (at your option) any later version.
10 |
11 | This program is distributed in the hope that it will be useful,
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | GNU General Public License for more details.
15 | ***********************************************************************/
16 |
17 | #include "helloworlddialog.h"
18 |
19 | namespace HelloWorld {
20 |
21 | HelloWorldDialog::HelloWorldDialog(QWidget *parent, Qt::WindowFlags f ) :
22 | QDialog( parent, f )
23 | {
24 | // This initializes the ui member function to contain pointers to
25 | // all GUI elements in the helloworlddialog.ui file
26 | ui.setupUi(this);
27 |
28 | // This connection will hide the dialog when the hide button is
29 | // clicked
30 | connect(ui.push_hide, SIGNAL(clicked()),
31 | this, SLOT(hide()));
32 | }
33 |
34 | }
35 |
36 | // This includes the files generated by Qt's moc at compile time to
37 | // ensure that signals/slots work. If you ever see errors about
38 | // missing vtables with gcc, check that you haven't forgotten one of
39 | // these:
40 | #include "helloworlddialog.moc"
41 |
--------------------------------------------------------------------------------
/crystals/zeolites/EDI.cif:
--------------------------------------------------------------------------------
1 | data_EDI
2 | #**************************************************************************
3 | #
4 | # CIF taken from the IZA-SC Database of Zeolite Structures
5 | # Ch. Baerlocher and L.B. McCusker
6 | # Database of Zeolite Structures: http://www.iza-structure.org/databases/
7 | #
8 | # All data on this site have been placed in the public domain.
9 | # If you use this work in a scientific publication, you are obligated to
10 | # cite its origin.
11 | #
12 | # The atom coordinates and the cell parameters were optimized with DLS76
13 | # assuming a pure SiO2 composition.
14 | #
15 | #**************************************************************************
16 |
17 | _cell_length_a 6.9260(0)
18 | _cell_length_b 6.9260(0)
19 | _cell_length_c 6.4100(0)
20 | _cell_angle_alpha 90.0000(0)
21 | _cell_angle_beta 90.0000(0)
22 | _cell_angle_gamma 90.0000(0)
23 |
24 | _symmetry_space_group_name_H-M 'P -4 m 2'
25 | _symmetry_Int_Tables_number 115
26 | _symmetry_cell_setting tetragonal
27 |
28 | loop_
29 | _symmetry_equiv_pos_as_xyz
30 | '+x,+y,+z'
31 | '-y,+x,-z'
32 | '-x,-y,+z'
33 | '+y,-x,-z'
34 | '-x,+y,+z'
35 | '+y,+x,-z'
36 | '+x,-y,+z'
37 | '-y,-x,-z'
38 |
39 | loop_
40 | _atom_site_label
41 | _atom_site_type_symbol
42 | _atom_site_fract_x
43 | _atom_site_fract_y
44 | _atom_site_fract_z
45 | O1 O 0.1898 0.0000 0.3550
46 | O2 O 0.1897 0.1897 0.0000
47 | O3 O 0.5000 0.0000 0.1183
48 | T1 Si 0.2679 0.0000 0.1184
49 | T2 Si 0.0000 0.0000 0.5000
50 |
51 |
--------------------------------------------------------------------------------
/crystals/zeolites/NPO.cif:
--------------------------------------------------------------------------------
1 | data_NPO
2 | #**************************************************************************
3 | #
4 | # CIF taken from the IZA-SC Database of Zeolite Structures
5 | # Ch. Baerlocher and L.B. McCusker
6 | # Database of Zeolite Structures: http://www.iza-structure.org/databases/
7 | #
8 | # All data on this site have been placed in the public domain.
9 | # If you use this work in a scientific publication, you are obligated to
10 | # cite its origin.
11 | #
12 | # The atom coordinates and the cell parameters were optimized with DLS76
13 | # assuming a pure SiO2 composition.
14 | #
15 | #**************************************************************************
16 |
17 | _cell_length_a 8.3910(0)
18 | _cell_length_b 8.3910(0)
19 | _cell_length_c 5.2590(0)
20 | _cell_angle_alpha 90.0000(0)
21 | _cell_angle_beta 90.0000(0)
22 | _cell_angle_gamma 120.0000(0)
23 |
24 | _symmetry_space_group_name_H-M 'P -6 2 c'
25 | _symmetry_Int_Tables_number 190
26 | _symmetry_cell_setting hexagonal
27 |
28 | loop_
29 | _symmetry_equiv_pos_as_xyz
30 | '+x,+y,+z'
31 | '-y,+x-y,+z'
32 | '-x+y,-x,+z'
33 | '+x,+y,1/2-z'
34 | '-y,+x-y,1/2-z'
35 | '-x+y,-x,1/2-z'
36 | '+y,+x,-z'
37 | '+x-y,-y,-z'
38 | '-x,-x+y,-z'
39 | '+y,+x,1/2+z'
40 | '+x-y,-y,1/2+z'
41 | '-x,-x+y,1/2+z'
42 |
43 | loop_
44 | _atom_site_label
45 | _atom_site_type_symbol
46 | _atom_site_fract_x
47 | _atom_site_fract_y
48 | _atom_site_fract_z
49 | O1 O 0.1691 0.6934 0.7500
50 | O2 O 0.0000 0.3782 0.5000
51 | T1 Si 0.1169 0.4806 0.7500
52 |
53 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/surfaces/htmldelegate.h:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | HTMLDelegate - Styled Text Delegate
3 |
4 | by Geoffrey R. Hutchison
5 |
6 | This file is part of the Avogadro molecular editor project.
7 | For more information, see
8 |
9 | This program is free software; you can redistribute it and/or modify
10 | it under the terms of the GNU General Public License as published by
11 | the Free Software Foundation version 2 of the License.
12 |
13 | This program is distributed in the hope that it will be useful,
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | GNU General Public License for more details.
17 | ***********************************************************************/
18 |
19 | #ifndef HTMLDELEGATE_H
20 | #define HTMLDELEGATE_H
21 |
22 | #include
23 |
24 | namespace Avogadro {
25 |
26 | // Allow HTML text (e.g., superscripts & subscripts) to be in a table
27 | // Modified from http://stackoverflow.com/questions/1956542/how-to-make-item-view-render-rich-html-text-in-qt
28 | // Original code by StackOverflow users serge_gubenko and Anton
29 | class HTMLDelegate : public QStyledItemDelegate
30 | {
31 | Q_OBJECT
32 | public:
33 | HTMLDelegate(QObject *parent = 0) : QStyledItemDelegate(parent) {};
34 | QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;
35 | void paint(QPainter *p, const QStyleOptionViewItem &o, const QModelIndex &ind) const;
36 | };
37 |
38 | } // end namespace Avogadro
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/libavogadro/src/config.h.in:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | config.h - This file is automatically generated by the build script.
3 |
4 | Copyright (C) 2006 by Donald E. Curtis
5 | Copyright (C) 2009 Marcus D. Hanwell
6 |
7 | This file is part of the Avogadro molecular editor project.
8 | For more information, see
9 |
10 | Avogadro is free software; you can redistribute it and/or modify
11 | it under the terms of the GNU General Public License as published by
12 | the Free Software Foundation; either version 2 of the License, or
13 | (at your option) any later version.
14 |
15 | Avogadro is distributed in the hope that it will be useful,
16 | but WITHOUT ANY WARRANTY; without even the implied warranty of
17 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 | GNU General Public License for more details.
19 |
20 | You should have received a copy of the GNU General Public License
21 | along with this program; if not, write to the Free Software
22 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
23 | 02110-1301, USA.
24 | **********************************************************************/
25 |
26 | #ifndef AVOCONFIG_H
27 | #define AVOCONFIG_H
28 |
29 | #define INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
30 |
31 | #define INSTALL_LIB_DIR "lib@LIB_SUFFIX@"
32 |
33 | #define INSTALL_PLUGIN_DIR "avogadro@Plugin_Version@"
34 |
35 | #define SCM_REVISION "@SCM_REVISION@"
36 |
37 | #define VERSION "@Avogadro_VERSION_FULL@"
38 |
39 | #define THREADED_GL @THREADED_GL@
40 |
41 | #cmakedefine EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API
42 |
43 | #endif // AVOCONFIG_H
44 |
--------------------------------------------------------------------------------
/avogadro/src/config.h.in:
--------------------------------------------------------------------------------
1 | /**********************************************************************
2 | config.h - This file is automatically generated by the build script.
3 |
4 | Copyright (C) 2006 by Geoffrey R. Hutchison
5 | Copyright (C) 2006 by Donald E. Curtis
6 | Copyright (C) 2009 Marcus D. Hanwell
7 |
8 | This file is part of the Avogadro molecular editor project.
9 | For more information, see
10 |
11 | Avogadro is free software; you can redistribute it and/or modify
12 | it under the terms of the GNU General Public License as published by
13 | the Free Software Foundation; either version 2 of the License, or
14 | (at your option) any later version.
15 |
16 | Avogadro is distributed in the hope that it will be useful,
17 | but WITHOUT ANY WARRANTY; without even the implied warranty of
18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 | GNU General Public License for more details.
20 |
21 | You should have received a copy of the GNU General Public License
22 | along with this program; if not, write to the Free Software
23 | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
24 | 02110-1301, USA.
25 | **********************************************************************/
26 |
27 | #ifndef AVOCONFIG_H
28 | #define AVOCONFIG_H
29 |
30 | #define INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
31 |
32 | #define INSTALL_LIBDIR "lib@LIB_SUFFIX@"
33 |
34 | #define INSTALL_PLUGIN_DIR "avogadro@Plugin_Version@"
35 |
36 | #define SCM_REVISION "@SCM_REVISION@"
37 |
38 | #define VERSION "@Avogadro_VERSION_FULL@"
39 |
40 | #cmakedefine EIGEN2_SUPPORT_STAGE10_FULL_EIGEN2_API
41 |
42 | #endif // AVOCONFIG_H
43 |
--------------------------------------------------------------------------------
/libavogadro/src/colors/residuecolorsettings.ui:
--------------------------------------------------------------------------------
1 |
2 | ResidueColorSettings
3 |
4 |
5 |
6 | 0
7 | 0
8 | 342
9 | 54
10 |
11 |
12 |
13 | Residue Color Settings
14 |
15 |
16 | -
17 |
18 |
19 | Color residues by:
20 |
21 |
22 |
23 | -
24 |
25 |
-
26 |
27 | Amino Colors
28 |
29 |
30 | -
31 |
32 | Shapely Colors
33 |
34 |
35 | -
36 |
37 | Hydrophobicity
38 |
39 |
40 |
41 |
42 | -
43 |
44 |
45 | Qt::Vertical
46 |
47 |
48 |
49 | 20
50 | 40
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/crystals/halides/AlCl3.cif:
--------------------------------------------------------------------------------
1 | #------------------------------------------------------------------------------
2 | #$Date: 2010-01-30 13:59:17 +0000 (Sat, 30 Jan 2010) $
3 | #$Revision: 966 $
4 | #$URL: svn://cod.ibt.lt/cod/cif/1/1010563.cif $
5 | #------------------------------------------------------------------------------
6 | #
7 | # This file is available in the Crystallography Open Database (COD),
8 | # http://www.crystallography.net/
9 | #
10 | # All data on this site have been placed in the public domain by the
11 | # contributors.
12 | #
13 | data_1010563
14 | _chemical_name_systematic 'Aluminium chloride'
15 | _chemical_formula_structural 'Al Cl3'
16 | _chemical_formula_sum 'Al Cl3'
17 | _publ_section_title 'Zur Struktur Al Cl~3~'
18 | loop_
19 | _publ_author_name 'Laschkarew, W E'
20 | _journal_name_full
21 | ;
22 | Zeitschrift fuer Anorganische und Allgemeine Chemie
23 | ;
24 | _journal_coden_ASTM ZAACAB
25 | _journal_volume 193
26 | _journal_year 1930
27 | _journal_page_first 270
28 | _journal_page_last 276
29 | _cell_length_a 3.475(1)
30 | _cell_length_b 3.475(1)
31 | _cell_length_c 8.51
32 | _cell_angle_alpha 90
33 | _cell_angle_beta 90
34 | _cell_angle_gamma 120
35 | _cell_volume 89.0
36 | _cell_formula_units_Z 1
37 | _exptl_crystal_density_meas 2.4
38 | loop_
39 | _atom_site_label
40 | _atom_site_fract_x
41 | _atom_site_fract_y
42 | _atom_site_fract_z
43 | ? ? ? ?
44 | _cod_database_code 1010563
45 |
--------------------------------------------------------------------------------
/fragments/aldehydes/formaldehyde.cml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 | Formaldehyde
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | 30.0260
25 |
26 |
27 | 30.0105647
28 |
29 |
30 | -20
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/crystals/zeolites/OSO.cif:
--------------------------------------------------------------------------------
1 | data_OSO
2 | #**************************************************************************
3 | #
4 | # CIF taken from the IZA-SC Database of Zeolite Structures
5 | # Ch. Baerlocher and L.B. McCusker
6 | # Database of Zeolite Structures: http://www.iza-structure.org/databases/
7 | #
8 | # All data on this site have been placed in the public domain.
9 | # If you use this work in a scientific publication, you are obligated to
10 | # cite its origin.
11 | #
12 | # The atom coordinates and the cell parameters were optimized with DLS76
13 | # assuming a pure SiO2 composition.
14 | #
15 | #**************************************************************************
16 |
17 | _cell_length_a 10.1010(0)
18 | _cell_length_b 10.1010(0)
19 | _cell_length_c 7.6470(0)
20 | _cell_angle_alpha 90.0000(0)
21 | _cell_angle_beta 90.0000(0)
22 | _cell_angle_gamma 120.0000(0)
23 |
24 | _symmetry_space_group_name_H-M 'P 62 2 2'
25 | _symmetry_Int_Tables_number 180
26 | _symmetry_cell_setting hexagonal
27 |
28 | loop_
29 | _symmetry_equiv_pos_as_xyz
30 | '+x,+y,+z'
31 | '-y,+x-y,2/3+z'
32 | '-x+y,-x,1/3+z'
33 | '+y,+x,2/3-z'
34 | '+x-y,-y,-z'
35 | '-x,-x+y,1/3-z'
36 | '-x,-y,+z'
37 | '+y,-x+y,2/3+z'
38 | '+x-y,+x,1/3+z'
39 | '-y,-x,2/3-z'
40 | '-x+y,+y,-z'
41 | '+x,+x-y,1/3-z'
42 |
43 | loop_
44 | _atom_site_label
45 | _atom_site_type_symbol
46 | _atom_site_fract_x
47 | _atom_site_fract_y
48 | _atom_site_fract_z
49 | O1 O 0.3171 0.6829 0.8333
50 | O2 O 0.4643 0.3570 0.7095
51 | T1 Si 0.2865 0.5731 0.0000
52 | T2 Si 0.0000 0.5000 0.1667
53 |
54 |
--------------------------------------------------------------------------------
/crystals/zeolites/JBW.cif:
--------------------------------------------------------------------------------
1 | data_JBW
2 | #**************************************************************************
3 | #
4 | # CIF taken from the IZA-SC Database of Zeolite Structures
5 | # Ch. Baerlocher and L.B. McCusker
6 | # Database of Zeolite Structures: http://www.iza-structure.org/databases/
7 | #
8 | # All data on this site have been placed in the public domain.
9 | # If you use this work in a scientific publication, you are obligated to
10 | # cite its origin.
11 | #
12 | # The atom coordinates and the cell parameters were optimized with DLS76
13 | # assuming a pure SiO2 composition.
14 | #
15 | #**************************************************************************
16 |
17 | _cell_length_a 5.2560(0)
18 | _cell_length_b 7.4500(0)
19 | _cell_length_c 8.1590(0)
20 | _cell_angle_alpha 90.0000(0)
21 | _cell_angle_beta 90.0000(0)
22 | _cell_angle_gamma 90.0000(0)
23 |
24 | _symmetry_space_group_name_H-M 'P m m a'
25 | _symmetry_Int_Tables_number 51
26 | _symmetry_cell_setting orthorhombic
27 |
28 | loop_
29 | _symmetry_equiv_pos_as_xyz
30 | '+x,+y,+z'
31 | '1/2-x,+y,+z'
32 | '+x,-y,+z'
33 | '1/2-x,-y,+z'
34 | '-x,-y,-z'
35 | '1/2+x,-y,-z'
36 | '-x,+y,-z'
37 | '1/2+x,+y,-z'
38 |
39 | loop_
40 | _atom_site_label
41 | _atom_site_type_symbol
42 | _atom_site_fract_x
43 | _atom_site_fract_y
44 | _atom_site_fract_z
45 | O1 O 0.0000 0.2612 0.0000
46 | O2 O 0.2500 0.0000 0.1455
47 | O3 O 0.2500 0.3235 0.2728
48 | O4 O 0.5000 0.5000 0.5000
49 | T1 Si 0.2500 0.2111 0.1042
50 | T2 Si 0.2500 0.5000 0.3865
51 |
52 |
--------------------------------------------------------------------------------
/fragments/cyclic_alkanes/cyclobutane.cml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/fragments/water.cml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 | Oxidane
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | 18.0153
23 |
24 |
25 | 18.0105647
26 |
27 |
28 | 0
29 |
30 |
31 | 100
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/swcntbuilder/tubegen/Bitmap.h:
--------------------------------------------------------------------------------
1 | //
2 | // TubeGen - Single-Wall Carbon Nanotube Generator
3 | //
4 | // Bitmap
5 | // Pseudo-class which maintains what is effectively a minimal-storage
6 | // array of boolean values. Written because the native C++ "bitset"
7 | // class stinks.
8 | //
9 | // Created by Jeffrey Frey on Thu Jan 13 2005.
10 | // Doren Research Group
11 | // University of Delaware
12 | // Copyright (c) 2003-2005
13 | //
14 |
15 | #ifndef __BITMAP__
16 | #define __BITMAP__
17 |
18 | // Removed for Avogadro:
19 | // #include
20 | //
21 | // Replaced with:
22 | #include
23 | #include
24 | #ifdef _MSC_VER
25 | typedef __int8 int8_t;
26 | typedef unsigned __int8 uint8_t;
27 | typedef __int16 int16_t;
28 | typedef unsigned __int16 uint16_t;
29 | typedef __int32 int32_t;
30 | typedef unsigned __int32 uint32_t;
31 | typedef __int64 int64_t;
32 | typedef unsigned __int64 uint64_t;
33 | #else
34 | #include
35 | #endif
36 |
37 | #if defined(__cplusplus)
38 | extern "C" {
39 | #endif
40 |
41 | typedef uint8_t Bit;
42 |
43 | typedef struct _Bitmap* BitmapRef;
44 |
45 | BitmapRef BitmapCreateWithCapacity(unsigned capacity);
46 | void BitmapDestroy(BitmapRef aBitmap);
47 |
48 | void BitmapSummarizeToStream(FILE* stream,BitmapRef aBitmap);
49 |
50 | unsigned BitmapGetCapacity(BitmapRef aBitmap);
51 |
52 | Bit BitmapGetBit(BitmapRef aBitmap,unsigned aBit);
53 | void BitmapSetBit(BitmapRef aBitmap,unsigned aBit,Bit value);
54 | void BitmapFlipBit(BitmapRef aBitmap,unsigned aBit);
55 |
56 | unsigned BitmapGetNextBitWithValue(BitmapRef aBitmap,unsigned startAtBit,Bit value);
57 |
58 | #if defined(__cplusplus)
59 | }
60 | #endif
61 |
62 | #endif /* __BITMAP__ */
63 |
--------------------------------------------------------------------------------
/libavogadro/src/extensions/swcntbuilder/tubegen/eprintf.h:
--------------------------------------------------------------------------------
1 | /* ===============================================================================
2 | // eprintf.h �2001, J.T. Frey
3 | // ===============================================================================
4 | // Written: J.T. Frey, 07.04.2001
5 | // Purpose: Extended formatted printing functions for C. These functions add
6 | // additional codes to the standard C format string for the printf,
7 | // fprintf, and sprintf functions which allow you to embed ANSI
8 | // background, foreground, and font face directives in your strings.
9 | // The directives appear as '%@[directive]' codes.
10 | //
11 | // Foreground colors: Background colors: Text faces:
12 | // =================================================================
13 | // %@black; %@Black; %@bold;
14 | // %@red; %@Red; %@normal;
15 | // %@green; %@Green; %@italic;
16 | // %@yellow; %@Yellow; %@underline;
17 | // %@blue; %@Blue; %@blink;
18 | // %@magenta; %@Magenta; %@rapidBlink;
19 | // %@cyan; %@Cyan; %@reverse;
20 | // %@white; %@White; %@invisible;
21 | //
22 | // The %@reset; tag resets to default formatting.
23 | //
24 | // Last Mod: n/a
25 | */
26 |
27 | #ifndef __EPRINTF__
28 | #define __EPRINTF__
29 |
30 | // Removed for Avogadro:
31 | // #include
32 | //
33 | // Replaced with:
34 | #include
35 |
36 | #if defined(__cplusplus)
37 | extern "C" {
38 | #endif
39 |
40 | int eprintf(const char*,...);
41 | int efprintf(FILE*,const char*,...);
42 | int esprintf(char*,const char*,...);
43 |
44 | #if defined(__cplusplus)
45 | }
46 | #endif
47 |
48 | #endif /* __EPRINTF__ */
49 |
--------------------------------------------------------------------------------