Changeset 2909


Ignore:
Timestamp:
Apr 1, 2012, 11:58:40 AM (12 years ago)
Author:
ldelgass
Message:

Don't leak GL state in drawDeviceShape

Location:
trunk/packages/vizservers/nanovis
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/nanovis/NvVectorField.cpp

    r2863 r2909  
    77NvVectorField::NvVectorField() :
    88    _vectorFieldId(0),
     9    _volPtr(NULL),
    910    _activated(true),
     11    _origin(0, 0, 0),
     12    _physicalMin(0, 0, 0),
     13    _physicalSize(1, 1, 1),
    1014    _scaleX(1),
    1115    _scaleY(1),
    1216    _scaleZ(1),
    13     _max(1)
    14 {
    15     _deviceVisible = false;
    16     _volPtr = 0;
    17     _physicalSize.set(1.0f, 1.0f, 1.0f);
     17    _max(1),
     18    _deviceVisible(false)
     19{
    1820}
    1921
     
    2830
    2931void
    30 NvVectorField::setVectorField(Volume *volPtr, const Vector3& ori,
     32NvVectorField::setVectorField(Volume *volPtr, const Vector3& origin,
    3133                              float scaleX, float scaleY, float scaleZ,
    3234                              float max)
    3335{
    3436    _volPtr = volPtr;
    35     _origin = ori;
     37    _origin = origin;
    3638    _scaleX = scaleX;
    3739    _scaleY = scaleY;
     
    4042    _vectorFieldId = volPtr->id;
    4143    _physicalMin = volPtr->getPhysicalBBoxMin();
    42     TRACE("_pysicalMin %f %f %f\n", _physicalMin.x, _physicalMin.y, _physicalMin.z);
     44    TRACE("_physicalMin %f %f %f\n", _physicalMin.x, _physicalMin.y, _physicalMin.z);
    4345    _physicalSize = volPtr->getPhysicalBBoxMax() - _physicalMin;
    44     TRACE("_pysicalSize %f %f %f\n",
     46    TRACE("_physicalSize %f %f %f\n",
    4547           _physicalSize.x, _physicalSize.y, _physicalSize.z);
    4648}
     
    183185NvVectorField::drawDeviceShape()
    184186{
     187    glPushAttrib(GL_ENABLE_BIT);
     188
     189    glMatrixMode(GL_MODELVIEW);
    185190    glPushMatrix();
     191
    186192    glEnable(GL_DEPTH_TEST);
    187193    glDisable(GL_TEXTURE_2D);
     
    190196    float x0, y0, z0, x1, y1, z1;
    191197    std::map<std::string, NvDeviceShape>::iterator iterShape;
    192    
    193     glPushMatrix();
     198
    194199    glTranslatef(_origin.x, _origin.y, _origin.z);
    195200    glScaled(_scaleX, _scaleY, _scaleZ);
     
    253258        glEnd();
    254259    }
    255     glPopMatrix();
    256260   
    257261    glPopMatrix();
    258     glDisable(GL_DEPTH_TEST);
    259     glDisable(GL_BLEND);
    260     glEnable(GL_TEXTURE_2D);
     262    glPopAttrib();
    261263}
    262264
  • trunk/packages/vizservers/nanovis/NvVectorField.h

    r2835 r2909  
    3131    ~NvVectorField();
    3232
    33     void setVectorField(Volume* vol, const Vector3& ori,
     33    void setVectorField(Volume *vol, const Vector3& origin,
    3434                        float scaleX, float scaleY, float scaleZ, float max);
    3535
Note: See TracChangeset for help on using the changeset viewer.