Ignore:
File:
1 edited

Legend:

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

    r7b93f9 r5aaa43  
    6262QGLMaterial *GLMoleculeObject::m_selectionBoxMaterial = NULL;
    6363
    64 QGLSceneNode *GLMoleculeObject::meshEmpty[GLMoleculeObject::DETAILTYPES_MAX];
    65 QGLSceneNode *GLMoleculeObject::meshSphere[GLMoleculeObject::DETAILTYPES_MAX];
    66 QGLSceneNode *GLMoleculeObject::meshCylinder[GLMoleculeObject::DETAILTYPES_MAX];
    6764
    6865double GLMoleculeObject::detailMinDistance[GLMoleculeObject::DETAILTYPES_MAX] = {0, 15, 30, 42};
     
    7269{
    7370   //mesh->setParent(this);
    74   for (int i=0;i<DETAILTYPES_MAX;i++)
    75     m_mesh[i] = mesh[i];
    76   MeshFreeType = free_none;
    77    m_scaleX = 1.0f;
    78    m_scaleY = 1.0f;
    79    m_scaleZ = 1.0f;
    80    m_rotationAngle = 0.0f;
    81    m_effect = 0;
    82    m_objectId = -1;
    83    m_hovering = false;
    84    m_selected = false;
    85    m_visible = true;
    86    m_material = 0;
    87    initStaticMaterials();
    88 }
    89 
    90 GLMoleculeObject::GLMoleculeObject(QGLSceneNode *mesh, QObject *parent)
    91    : QObject(parent)
    92 {
    93    //mesh->setParent(this);
    94   for (int i=0;i<DETAILTYPES_MAX;i++)
    95     m_mesh[i] = mesh;
    96   MeshFreeType = free_none;
     71   for (int i=0;i<DETAILTYPES_MAX;i++)
     72     m_mesh[i] = mesh[i];
    9773   m_scaleX = 1.0f;
    9874   m_scaleY = 1.0f;
     
    10783}
    10884
    109 GLMoleculeObject::GLMoleculeObject(QGLAbstractScene *scene, QObject *parent)
     85GLMoleculeObject::GLMoleculeObject(QGLSceneNode *mesh, QObject *parent)
    11086   : QObject(parent)
    11187{
    112   for (int i=0;i<DETAILTYPES_MAX;i++)
    113     m_mesh[i] = scene->mainNode();
    114   MeshFreeType = free_none;
     88   //mesh->setParent(this);
     89   for (int i=0;i<DETAILTYPES_MAX;i++)
     90     m_mesh[i] = mesh;
    11591   m_scaleX = 1.0f;
    11692   m_scaleY = 1.0f;
     
    125101}
    126102
     103GLMoleculeObject::GLMoleculeObject(QGLAbstractScene *scene, QObject *parent)
     104   : QObject(parent)
     105{
     106   scene->setParent(this);
     107   for (int i=0;i<DETAILTYPES_MAX;i++)
     108     m_mesh[i] = scene->mainNode();
     109   m_scaleX = 1.0f;
     110   m_scaleY = 1.0f;
     111   m_scaleZ = 1.0f;
     112   m_rotationAngle = 0.0f;
     113   m_effect = 0;
     114   m_objectId = -1;
     115   m_hovering = false;
     116   m_selected = false;
     117   m_material = 0;
     118   initStaticMaterials();
     119}
     120
    127121GLMoleculeObject::~GLMoleculeObject()
    128122{
     
    169163   painter->modelViewMatrix().push();
    170164   painter->modelViewMatrix().translate(m_position);
    171    if ((m_scaleX != 1.0f) || (m_scaleY != 1.0f) || (m_scaleZ != 1.0f))
    172      painter->modelViewMatrix().scale(m_scaleX, m_scaleY, m_scaleZ);
    173165   if (m_rotationAngle != 0.0f)
    174166     painter->modelViewMatrix().rotate(m_rotationAngle, m_rotationVector);
     167   painter->modelViewMatrix().scale(m_scaleX, m_scaleY, m_scaleZ);
    175168
    176169   // Apply the material and effect to the painter.
     
    332325  }
    333326}
    334 
    335 void GLMoleculeObject::setVisible(bool value)
    336 {
    337   if (value != m_visible){
    338     m_visible = value;
    339     emit changed();
    340   }
    341 }
    342 
    343 void GLMoleculeObject::updateMesh(QGLSceneNode *mesh)
    344 {
    345   if (m_mesh[0] != NULL) {
    346     switch(MeshFreeType) {
    347     case free_all:
    348       for (int i=0;i<DETAILTYPES_MAX;i++)
    349         delete m_mesh[i];
    350       break;
    351     case free_single:
    352       delete m_mesh[0];
    353       break;
    354     default:
    355     case free_none:
    356       break;
    357     }
    358   }
    359   MeshFreeType = free_single;
    360   for (int i=0;i<DETAILTYPES_MAX;i++)
    361     m_mesh[i] = mesh;
    362 }
Note: See TracChangeset for help on using the changeset viewer.