Changeset eee1b7 for src/documentation/constructs
- Timestamp:
- Feb 24, 2013, 12:59:34 PM (12 years ago)
- 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)
- Location:
- src/documentation/constructs
- Files:
-
- 4 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/documentation/constructs/actions.dox
rc91572 reee1b7 22 22 * have to create three files of which only one actually contains more than a 23 23 * 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. 24 27 * 25 * Each Action has thus three types of functional ty: do, undo, and redo.28 * Each Action has thus three types of functionality: do, undo, and redo. 26 29 * 27 30 * The ActionRegistry contains a prototype of each Action under its token 28 31 * such that an instance can be retrieved by knowing this token. 29 32 * 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. 36 38 * 37 39 * Also there is a regression test (\ref regression-test) for each Action to … … 53 55 * has to be implemented in two more functions beside the "do". 54 56 * 55 * Note that undoing means to get everything back to its original state and by 56 * whatever means seem appropriate, e.g. just remvoing allinserted 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. 57 59 * To make this more elaborate it is usually very useful to store extra information 58 60 * in the Action's state such that undo and redo can be accomplished more quickly. … … 70 72 * 71 73 * 72 * \date 201 2-12-0474 * \date 2013-02-07 73 75 * 74 76 */ -
src/documentation/constructs/constructs.dox
rc91572 reee1b7 30 30 * \li \ref molecules 31 31 * \li \ref observers 32 * \li \ref parameters 32 33 * \li \ref parsers 33 34 * \li \ref qt-gui 35 * \li \ref queries 34 36 * \li \ref randomnumbers 35 37 * \li \ref serialization 36 38 * \li \ref shapes 39 * \li \ref shaperegistry 37 40 * \li \ref tesselation 38 * \li \ref val ues41 * \li \ref validators 39 42 * \li \ref world 40 43 * … … 43 46 * 44 47 * 45 * \date 201 2-01-1648 * \date 2013-02-07 46 49 * 47 50 */ -
src/documentation/constructs/qt-gui.dox
rc91572 reee1b7 22 22 * \section qt-gui-qt3d Qt3D and the way to get atoms and bonds displayed 23 23 * 24 * Atoms and Bonds have to displayed, the widget for this is GLWorldView. T his24 * Atoms and Bonds have to displayed, the widget for this is GLWorldView. To 25 25 * this class belongs GLWorldScene that contains lots of GLMoleculeObject's or 26 * nodes in the speak of Qt3D. We have twoderived class for these kind of26 * nodes in the speak of Qt3D. We have four derived class for these kind of 27 27 * objects: 28 28 * -# 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. 30 33 * 31 34 * We can only add new nodes to the Qt3D scene at the level of GLWorldScene, … … 72 75 * Additionally, we use GLWorldScene to do some bookkeeping about all bond nodes. 73 76 * This is not strictly required but might in general be useful. Hence, signals 74 * notify GLWorldScene also about GLWorldScene:: BondRemoved that are emitted by77 * notify GLWorldScene also about GLWorldScene::bondRemoved that are emitted by 75 78 * the node itself. 76 79 * 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 78 117 */ -
src/documentation/constructs/shapes.dox
rc91572 reee1b7 16 16 * 17 17 * 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: 19 19 * - Sphere 20 20 * - Ellipsoid 21 21 * - Cuboid 22 * - Cylinder 22 23 * 23 * Note that bothmay be modified (shrink/grow, rotate, morph) via an arbitrary24 * Note that all may be modified (shrink/grow, rotate, morph) via an arbitrary 24 25 * matrix. 25 26 * … … 43 44 * Cuboid(Vector(0,0,0), Vector(2,2,2)) && !Sphere(Vector(1,1,1), 1.) 44 45 * \endcode 45 * which would bematch 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) 46 47 * that is not in the unit sphere at (1,1,1). 47 48 * 48 49 * 49 * \date 201 1-10-3150 * \date 2013-02-07 50 51 * 51 52 */
Note:
See TracChangeset
for help on using the changeset viewer.