├── 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 |
pythonterminal.h
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 |
avogadro/plotwidget.h
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 |
avogadro/plotwidget.h
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 | --------------------------------------------------------------------------------