Avogadro  1.1.0
Developing Third Party Extensions

Introduction

This tutorial is designed to guide new developers who are interested in writing third party (e.g. out-of-source) extensions to Avogadro. It assumes that the reader has a working knowledge of C++ and is familiar with the basic usage of Qt Designer. If you are not familiar with Designer, a link to the Qt Designer tutorial is provided at the bottom of this page.

Table Of Contents

  1. Hello World! example
    • Simple dialog displaying static text
    • Shows basics of extension initialization
    • Shows how to launch a dialog from an extension
  2. Dynamic Display example
    • Simple dialog that displays molecule-specific text that dynamically updates as the molecule changes
    • This example counts the number of hydrogen atoms in the currently displayed molecule
    • Shows how to use the Extension::setMolecule virtual function
    • Shows how to connect slots in your extension to signals in the molecule
  3. View Plane
    • Move camera to view a plane formed by selecting three atoms
    • Shows how to manipulate the camera
    • Shows how to retrieve user selected atoms
  4. Rotate Selection
    • Rotate selected atoms an arbitrary amount along an arbitrary vector
    • Shows how to modify the current molecule and update the GLWidget
  5. Conformer Plot
    • Generate conformers for a molecule and plot them by energy
    • Shows how to use OpenBabel's OBForceField implementation from within Avogadro
    • Shows how to generate a scatter plot using the PlotWidget
    • Shows how to use the conformer support in Avogadro

Useful Links

APIs:

Tools: