Ignore:
Timestamp:
Jul 17, 2012, 12:17:24 PM (13 years ago)
Author:
Michael Ankele <ankele@…>
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:
26ed25
Parents:
585f78
git-author:
Michael Ankele <ankele@…> (05/07/12 11:31:19)
git-committer:
Michael Ankele <ankele@…> (07/17/12 12:17:24)
Message:

GL: shared meshes

Location:
src/UIElements/Views/Qt4/Qt3D
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject.cpp

    r585f78 rbca99d  
    4747
    4848
    49 GLMoleculeObject::GLMoleculeObject(QGLSceneNode *GLMoleculeObject, QObject *parent)
     49GLMoleculeObject::GLMoleculeObject(QGLSceneNode *mesh, QObject *parent)
    5050   : QObject(parent)
    5151{
    52    m_mesh = GLMoleculeObject;
     52   //mesh->setParent(this);
     53   m_mesh = mesh;
    5354   m_scale = 1.0f;
    5455   m_scaleZ = 1.0f;
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject.hpp

    r585f78 rbca99d  
    3737   friend class GLWorldScene;
    3838public:
    39    explicit GLMoleculeObject(QGLSceneNode *GLMoleculeObject, QObject *parent=0);
     39   explicit GLMoleculeObject(QGLSceneNode *mesh, QObject *parent=0);
    4040   explicit GLMoleculeObject(QGLAbstractScene *scene, QObject *parent=0);
    4141   virtual ~GLMoleculeObject();
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_atom.cpp

    r585f78 rbca99d  
    2020#include "GLMoleculeObject_atom.hpp"
    2121
    22 #include <Qt3D/qglbuilder.h>
    2322#include <Qt3D/qglscenenode.h>
    24 #include <Qt3D/qglsphere.h>
    2523
    2624#include "CodePatterns/MemDebug.hpp"
     
    3836#include "World.hpp"
    3937
    40 static QGLSceneNode * createAtom(QObject *parent)
    41 {
    42   QGLBuilder builder;
    43   builder << QGLSphere(2.0);
    44   QGLSceneNode *n = builder.finalizedSceneNode();
    45   n->setParent(parent);
    46   return n;
    47 }
    48 
    49 GLMoleculeObject_atom::GLMoleculeObject_atom(QObject *parent, const atom *atomref) :
    50   GLMoleculeObject(createAtom(parent), parent),
     38GLMoleculeObject_atom::GLMoleculeObject_atom(QGLSceneNode *mesh, QObject *parent, const atom *atomref) :
     39  GLMoleculeObject(mesh, parent),
    5140  Observer(std::string("GLMoleculeObject_atom")+toString(atomref->getId())),
    5241  _atom(atomref)
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_atom.hpp

    r585f78 rbca99d  
    2727  Q_OBJECT
    2828public:
    29   GLMoleculeObject_atom(QObject *parent, const atom *atomref);
     29  GLMoleculeObject_atom(QGLSceneNode *mesh, QObject *parent, const atom *atomref);
    3030  virtual ~GLMoleculeObject_atom();
    3131
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_bond.cpp

    r585f78 rbca99d  
    2020#include "GLMoleculeObject_bond.hpp"
    2121
    22 #include <Qt3D/qglbuilder.h>
    23 #include <Qt3D/qglcylinder.h>
    2422#include <Qt3D/qglmaterial.h>
    2523#include <Qt3D/qglscenenode.h>
     
    3937#include "LinearAlgebra/Vector.hpp"
    4038
    41 static QGLSceneNode *createBond(QObject *parent)
    42 {
    43    QGLBuilder builder;
    44    QGLCylinder cylinder(.25,.25,1.0,16);
    45    builder << cylinder;
    46    QGLSceneNode *n = builder.finalizedSceneNode();
    47    n->setParent(parent);
    48    return n;
    49 }
    50 
    51 GLMoleculeObject_bond::GLMoleculeObject_bond(QObject *parent, const bond *bondref, const enum SideOfBond side) :
    52   GLMoleculeObject(createBond(parent), parent),
     39GLMoleculeObject_bond::GLMoleculeObject_bond(QGLSceneNode *mesh, QObject *parent, const bond *bondref, const enum SideOfBond side) :
     40  GLMoleculeObject(mesh, parent),
    5341  Observer(std::string("GLMoleculeObject_bond")
    5442      +toString(bondref->leftatom->getId())
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_bond.hpp

    r585f78 rbca99d  
    2828  enum SideOfBond { left, right };
    2929
    30   GLMoleculeObject_bond(QObject *parent, const bond *bondref, const enum SideOfBond side);
     30  GLMoleculeObject_bond(QGLSceneNode *mesh, QObject *parent, const bond *bondref, const enum SideOfBond side);
    3131  virtual ~GLMoleculeObject_bond();
    3232
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_molecule.cpp

    r585f78 rbca99d  
    2424#include "GLMoleculeObject_molecule.hpp"
    2525
    26 #include <Qt3D/qglbuilder.h>
    2726#include <Qt3D/qglscenenode.h>
    28 #include <Qt3D/qglsphere.h>
    2927
    3028#include "CodePatterns/MemDebug.hpp"
     
    4139#include "World.hpp"
    4240
    43 static QGLSceneNode * createMolecule(QObject *parent)
    44 {
    45   // create an empty mesh...
    46   QGLBuilder builder;
    47   QGLSceneNode *n = builder.finalizedSceneNode();
    48   n->setParent(parent);
    49   return n;
    50 }
    51 
    52 GLMoleculeObject_molecule::GLMoleculeObject_molecule(QObject *parent, const molecule *molref) :
    53   GLMoleculeObject(createMolecule(parent), parent),
     41GLMoleculeObject_molecule::GLMoleculeObject_molecule(QGLSceneNode *mesh, QObject *parent, const molecule *molref) :
     42  GLMoleculeObject(mesh, parent),
    5443  Observer(std::string("GLMoleculeObject_molecule")+toString(molref->getId())),
    5544  _molecule(molref)
  • src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject_molecule.hpp

    r585f78 rbca99d  
    2828  Q_OBJECT
    2929public:
    30   GLMoleculeObject_molecule(QObject *parent, const molecule *molref);
     30  GLMoleculeObject_molecule(QGLSceneNode *mesh, QObject *parent, const molecule *molref);
    3131  virtual ~GLMoleculeObject_molecule();
    3232
  • src/UIElements/Views/Qt4/Qt3D/GLWorldScene.cpp

    r585f78 rbca99d  
    2222#include "GLWorldScene.hpp"
    2323#include <Qt3D/qglview.h>
     24#include <Qt3D/qglbuilder.h>
     25#include <Qt3D/qglscenenode.h>
     26#include <Qt3D/qglsphere.h>
     27#include <Qt3D/qglcylinder.h>
    2428
    2529#include "GLMoleculeObject.hpp"
     
    5458   : QObject(parent)
    5559{
     60  QGLBuilder builder0;
     61  meshEmpty = builder0.finalizedSceneNode();
     62  QGLBuilder builder1;
     63  builder1 << QGLSphere(2.0, 5);
     64  meshSphereHi = builder1.finalizedSceneNode();
     65  QGLBuilder builder2;
     66  builder2 << QGLSphere(2.0, 1);
     67  meshSphereLo = builder2.finalizedSceneNode();
     68  QGLBuilder builder3;
     69  builder3 << QGLCylinder(.25,.25,1.0,16);
     70  meshCylinderHi = builder3.finalizedSceneNode();
     71  QGLBuilder builder4;
     72  builder4 << QGLCylinder(.25,.25,1.0,16);
     73  meshCylinderLo = builder4.finalizedSceneNode();
     74
    5675  init();
    5776}
     
    103122{
    104123  LOG(3, "INFO: GLWorldScene: Received signal atomInserted for atom "+toString(_atom->getId())+".");
    105   GLMoleculeObject_atom *atomObject = new GLMoleculeObject_atom(this, _atom);
     124  GLMoleculeObject_atom *atomObject = new GLMoleculeObject_atom(meshSphereHi, this, _atom);
    106125  AtomNodeMap::iterator iter = AtomsinSceneMap.find(_atom->getId());
    107126  ASSERT(iter == AtomsinSceneMap.end(),
     
    156175      if (isSelected && (iter == MoleculesinSceneMap.end())){
    157176        // -> create new mesh
    158         GLMoleculeObject_molecule *molObject = new GLMoleculeObject_molecule(this, *Runner);
     177        GLMoleculeObject_molecule *molObject = new GLMoleculeObject_molecule(meshEmpty, this, *Runner);
    159178        MoleculesinSceneMap.insert( make_pair((*Runner)->getId(), molObject) );
    160179        connect (molObject, SIGNAL(changed()), this, SIGNAL(changed()));
     
    221240#endif
    222241  GLMoleculeObject_bond *bondObject =
    223       new GLMoleculeObject_bond(this, _bond, side);
     242      new GLMoleculeObject_bond(meshCylinderHi, this, _bond, side);
    224243  connect (
    225244      bondObject, SIGNAL(BondRemoved(const atomId_t, const atomId_t)),
  • src/UIElements/Views/Qt4/Qt3D/GLWorldScene.hpp

    r585f78 rbca99d  
    8989  BondNodeMap BondsinSceneMap;
    9090  MoleculeNodeMap MoleculesinSceneMap;
     91
     92  QGLSceneNode *meshEmpty;
     93  QGLSceneNode *meshSphereHi;
     94  QGLSceneNode *meshSphereLo;
     95  QGLSceneNode *meshCylinderHi;
     96  QGLSceneNode *meshCylinderLo;
    9197};
    9298
Note: See TracChangeset for help on using the changeset viewer.