- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/UIElements/Views/Qt4/Qt3D/GLMoleculeObject.cpp
r7b93f9 r5aaa43 62 62 QGLMaterial *GLMoleculeObject::m_selectionBoxMaterial = NULL; 63 63 64 QGLSceneNode *GLMoleculeObject::meshEmpty[GLMoleculeObject::DETAILTYPES_MAX];65 QGLSceneNode *GLMoleculeObject::meshSphere[GLMoleculeObject::DETAILTYPES_MAX];66 QGLSceneNode *GLMoleculeObject::meshCylinder[GLMoleculeObject::DETAILTYPES_MAX];67 64 68 65 double GLMoleculeObject::detailMinDistance[GLMoleculeObject::DETAILTYPES_MAX] = {0, 15, 30, 42}; … … 72 69 { 73 70 //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]; 97 73 m_scaleX = 1.0f; 98 74 m_scaleY = 1.0f; … … 107 83 } 108 84 109 GLMoleculeObject::GLMoleculeObject(QGL AbstractScene *scene, QObject *parent)85 GLMoleculeObject::GLMoleculeObject(QGLSceneNode *mesh, QObject *parent) 110 86 : QObject(parent) 111 87 { 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; 115 91 m_scaleX = 1.0f; 116 92 m_scaleY = 1.0f; … … 125 101 } 126 102 103 GLMoleculeObject::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 127 121 GLMoleculeObject::~GLMoleculeObject() 128 122 { … … 169 163 painter->modelViewMatrix().push(); 170 164 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);173 165 if (m_rotationAngle != 0.0f) 174 166 painter->modelViewMatrix().rotate(m_rotationAngle, m_rotationVector); 167 painter->modelViewMatrix().scale(m_scaleX, m_scaleY, m_scaleZ); 175 168 176 169 // Apply the material and effect to the painter. … … 332 325 } 333 326 } 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.