Ignore:
Timestamp:
Feb 24, 2013, 12:59:34 PM (12 years ago)
Author:
Frederik Heber <heber@…>
Branches:
Action_Thermostats, Add_AtomRandomPerturbation, Add_FitFragmentPartialChargesAction, Add_RotateAroundBondAction, Add_SelectAtomByNameAction, Added_ParseSaveFragmentResults, AddingActions_SaveParseParticleParameters, Adding_Graph_to_ChangeBondActions, Adding_MD_integration_tests, Adding_ParticleName_to_Atom, Adding_StructOpt_integration_tests, AtomFragments, Automaking_mpqc_open, AutomationFragmentation_failures, Candidate_v1.5.4, Candidate_v1.6.0, Candidate_v1.6.1, ChangeBugEmailaddress, ChangingTestPorts, ChemicalSpaceEvaluator, CombiningParticlePotentialParsing, Combining_Subpackages, Debian_Package_split, Debian_package_split_molecuildergui_only, Disabling_MemDebug, Docu_Python_wait, EmpiricalPotential_contain_HomologyGraph, EmpiricalPotential_contain_HomologyGraph_documentation, Enable_parallel_make_install, Enhance_userguide, Enhanced_StructuralOptimization, Enhanced_StructuralOptimization_continued, Example_ManyWaysToTranslateAtom, Exclude_Hydrogens_annealWithBondGraph, FitPartialCharges_GlobalError, Fix_BoundInBox_CenterInBox_MoleculeActions, Fix_ChargeSampling_PBC, Fix_ChronosMutex, Fix_FitPartialCharges, Fix_FitPotential_needs_atomicnumbers, Fix_ForceAnnealing, Fix_IndependentFragmentGrids, Fix_ParseParticles, Fix_ParseParticles_split_forward_backward_Actions, Fix_PopActions, Fix_QtFragmentList_sorted_selection, Fix_Restrictedkeyset_FragmentMolecule, Fix_StatusMsg, Fix_StepWorldTime_single_argument, Fix_Verbose_Codepatterns, Fix_fitting_potentials, Fixes, ForceAnnealing_goodresults, ForceAnnealing_oldresults, ForceAnnealing_tocheck, ForceAnnealing_with_BondGraph, ForceAnnealing_with_BondGraph_continued, ForceAnnealing_with_BondGraph_continued_betteresults, ForceAnnealing_with_BondGraph_contraction-expansion, FragmentAction_writes_AtomFragments, FragmentMolecule_checks_bonddegrees, GeometryObjects, Gui_Fixes, Gui_displays_atomic_force_velocity, ImplicitCharges, IndependentFragmentGrids, IndependentFragmentGrids_IndividualZeroInstances, IndependentFragmentGrids_IntegrationTest, IndependentFragmentGrids_Sole_NN_Calculation, JobMarket_RobustOnKillsSegFaults, JobMarket_StableWorkerPool, JobMarket_unresolvable_hostname_fix, MoreRobust_FragmentAutomation, ODR_violation_mpqc_open, PartialCharges_OrthogonalSummation, PdbParser_setsAtomName, PythonUI_with_named_parameters, QtGui_reactivate_TimeChanged_changes, Recreated_GuiChecks, Rewrite_FitPartialCharges, RotateToPrincipalAxisSystem_UndoRedo, SaturateAtoms_findBestMatching, SaturateAtoms_singleDegree, StoppableMakroAction, Subpackage_CodePatterns, Subpackage_JobMarket, Subpackage_LinearAlgebra, Subpackage_levmar, Subpackage_mpqc_open, Subpackage_vmg, Switchable_LogView, ThirdParty_MPQC_rebuilt_buildsystem, TrajectoryDependenant_MaxOrder, TremoloParser_IncreasedPrecision, TremoloParser_MultipleTimesteps, TremoloParser_setsAtomName, Ubuntu_1604_changes, stable
Children:
dd966f
Parents:
c91572
git-author:
Frederik Heber <heber@…> (02/19/13 12:51:53)
git-committer:
Frederik Heber <heber@…> (02/24/13 12:59:34)
Message:

DOCU: Documentation on ShapeRegistry, QtUI changes, validators, and parameters.

Location:
src/documentation/constructs
Files:
4 added
4 edited

Legend:

Unmodified
Added
Removed
  • src/documentation/constructs/actions.dox

    rc91572 reee1b7  
    2222 *  have to create three files of which only one actually contains more than a
    2323 *  few lines, namely the code of the Action itself.
     24 *  Each Action also derives a specific ActionState and ActionParameters for
     25 *  containing the undo/redo state information and the parameters steering what
     26 *  the Action does.
    2427 *
    25  *  Each Action has thus three types of functionalty: do, undo, and redo.
     28 *  Each Action has thus three types of functionality: do, undo, and redo.
    2629 *
    2730 *  The ActionRegistry contains a prototype of each Action under its token
    2831 *  such that an instance can be retrieved by knowing this token.
    2932 *
    30  *  Each Action obtains its options from a central ValueStorage such that
    31  *  they are independent of where the option originated from: a command line
    32  *  parameter, a value entered in a graphical dialog or given via the keyboard
    33  *  in a terminal. That's why each begins with a function call to
    34  *  getParametersfromValueStorage() to fill its internal Action::params
    35  *  structure.
     33 *  Each Action can contain multiple \ref parameters in its specific ActionParameters
     34 *  structure that represent the options. Executing call() first fills a dialog
     35 *  with \ref queries, one for each option. The UI then tries to obtain the
     36 *  values from the user. Depending on the type of the UI in use that could mean
     37 *  parsing stored command line parameters or displaying a real dialog box with widgets.
    3638 *
    3739 *  Also there is a regression test (\ref regression-test) for each Action to
     
    5355 * has to be implemented in two more functions beside the "do".
    5456 *
    55  * Note that undoing means to get everything back to its original state and by
    56  * whatever means seem appropriate, e.g. just remvoing all inserted atoms.
     57 * Note that undoing means to get everything back to its original state and by whatever
     58 * means seem appropriate, e.g. remvoing all just inserted atoms.
    5759 * To make this more elaborate it is usually very useful to store extra information
    5860 * in the Action's state such that undo and redo can be accomplished more quickly.
     
    7072 *
    7173 *
    72  *  \date 2012-12-04
     74 *  \date 2013-02-07
    7375 *
    7476 */
  • src/documentation/constructs/constructs.dox

    rc91572 reee1b7  
    3030 *  \li \ref molecules
    3131 *  \li \ref observers
     32 *  \li \ref parameters
    3233 *  \li \ref parsers
    3334 *  \li \ref qt-gui
     35 *  \li \ref queries
    3436 *  \li \ref randomnumbers
    3537 *  \li \ref serialization
    3638 *  \li \ref shapes
     39 *  \li \ref shaperegistry
    3740 *  \li \ref tesselation
    38  *  \li \ref values
     41 *  \li \ref validators
    3942 *  \li \ref world
    4043 *
     
    4346 *
    4447 *
    45  * \date 2012-01-16
     48 * \date 2013-02-07
    4649 *
    4750 */
  • src/documentation/constructs/qt-gui.dox

    rc91572 reee1b7  
    2222 * \section qt-gui-qt3d Qt3D and the way to get atoms and bonds displayed
    2323 *
    24  * Atoms and Bonds have to displayed, the widget for this is GLWorldView. This
     24 * Atoms and Bonds have to displayed, the widget for this is GLWorldView. To
    2525 * this class belongs GLWorldScene that contains lots of GLMoleculeObject's or
    26  * nodes in the speak of Qt3D. We have two derived class for these kind of
     26 * nodes in the speak of Qt3D. We have four derived class for these kind of
    2727 * objects:
    2828 * -# GLMoleculeObject_atom: for each atom,
    29  * -# GLMoleculeObject_bond: for each "side" of the bond.
     29 * -# GLMoleculeObject_bond: for each "side" of the bond (each represents half of
     30 *     the bond that join in the middle between the two atoms),
     31 * -# GLMoleculeObject_molecule: for each molecule (shows a box is selected),
     32 * -# GLMoleculeObject_shape: shows the shapes in the ShapeRegistry.
    3033 *
    3134 * We can only add new nodes to the Qt3D scene at the level of GLWorldScene,
     
    7275 * Additionally, we use GLWorldScene to do some bookkeeping about all bond nodes.
    7376 * This is not strictly required but might in general be useful. Hence, signals
    74  * notify GLWorldScene also about GLWorldScene::BondRemoved that are emitted by
     77 * notify GLWorldScene also about GLWorldScene::bondRemoved that are emitted by
    7578 * the node itself.
    7679 *
    77  * \date 2012-01-05
     80 * \section QtElementList
     81 *
     82 * Lists for each element how often it occures in the world. Selecting an entry
     83 * calls SelectionAtomByElementAction to select all atoms of that particular
     84 * element.
     85 *
     86 * It observes the World and performs a complete refill on any message. To reduce
     87 * performance issues it marks the list as dirty and refills it the next time the
     88 * GUI is idle. This way many successive changes to the world only lead to a
     89 * single refill.
     90 *
     91 * \section QtMoleculeList
     92 *
     93 * Lists all the molecules currently in the world grouped by their formula.
     94 * Selecting an entry calls the SelectionMoleculeByIdAction.
     95 *
     96 * It observes the World the same way QtElementList does.
     97 *
     98 * \section QtShapeController
     99 *
     100 * This is the interface for the ShapeRegistry. It lists all the shapes in the
     101 * registry and lets the user select them. It also features buttons to call
     102 * actions creating and manipulating the selected shapes.
     103 *
     104 * As an Observer it handles the following messages from ShapeRegistry:
     105 *  - ShapeRegistry::ShapeInserted
     106 *  - ShapeRegistry::ShapeRemoved
     107 *  - ShapeRegistry::SelectionChanged
     108 *
     109 * \section QtInfoBox
     110 *
     111 * Shows information about the atom and molecule the cursor is currently hovering over.
     112 *
     113 * The info pages are Observers of the respective atom/molecule. When receiving
     114 * e.g. QtAtomInfoPage::subjectKilled() they automatically clear the info box.
     115 *
     116 * \date 2013-02-07
    78117 */
  • src/documentation/constructs/shapes.dox

    rc91572 reee1b7  
    1616 *
    1717 * Shapes are present for denoting a specific region of the simulation domain.
    18  * There are three types present:
     18 * There are four primitive types present:
    1919 *  - Sphere
    2020 *  - Ellipsoid
    2121 *  - Cuboid
     22 *  - Cylinder
    2223 *
    23  * Note that both may be modified (shrink/grow, rotate, morph) via an arbitrary
     24 * Note that all may be modified (shrink/grow, rotate, morph) via an arbitrary
    2425 * matrix.
    2526 *
     
    4344 * Cuboid(Vector(0,0,0), Vector(2,2,2)) && !Sphere(Vector(1,1,1), 1.)
    4445 * \endcode
    45  * which would be match any object within the cuboid from (0,0,0) to (2,2,2)
     46 * which would match any object within the cuboid from (0,0,0) to (2,2,2)
    4647 * that is not in the unit sphere at (1,1,1).
    4748 *
    4849 *
    49  * \date 2011-10-31
     50 * \date 2013-02-07
    5051 *
    5152 */
Note: See TracChangeset for help on using the changeset viewer.