Changeset 13577

Show
Ignore:
Timestamp:
11/21/14 21:16:16 (2 days ago)
Author:
robert
Message:

From Alberto Luaces,"the current code uses the preprocessor for generating the plugin path in
a way that when CMAKE_INSTALL_PREFIX contains something along the lines
of

/usr/x86_64-linux-gnu/

it gets substituted as

/usr/x86_64-1-gnu/

that is, the string is preprocessed again, thereby making changes to
anything that matches any defined symbol, as "linux" in this example
(https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763816).

Quoting that path directly in CMake scripts solves that problem.
"

Location:
OpenSceneGraph/trunk/src/osgUtil
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgUtil/MeshOptimizers.cpp

    r13561 r13577  
    6363        : _useDrawElements(true) 
    6464    { 
    65         add(geometry.getVertexArray(),osg::Geometry::BIND_PER_VERTEX); 
    66         add(geometry.getNormalArray(),geometry.getNormalBinding()); 
    67         add(geometry.getColorArray(),geometry.getColorBinding()); 
    68         add(geometry.getSecondaryColorArray(),geometry.getSecondaryColorBinding()); 
    69         add(geometry.getFogCoordArray(),geometry.getFogCoordBinding()); 
     65        add(geometry.getVertexArray()); 
     66        add(geometry.getNormalArray()); 
     67        add(geometry.getColorArray()); 
     68        add(geometry.getSecondaryColorArray()); 
     69        add(geometry.getFogCoordArray()); 
    7070        unsigned int i; 
    7171        for(i=0;i<geometry.getNumTexCoordArrays();++i) 
    7272        { 
    73             add(geometry.getTexCoordArray(i),osg::Geometry::BIND_PER_VERTEX); 
     73            add(geometry.getTexCoordArray(i)); 
    7474        } 
    7575        for(i=0;i<geometry.getNumVertexAttribArrays();++i) 
    7676        { 
    77             add(geometry.getVertexAttribArray(i),geometry.getVertexAttribBinding(i)); 
    78         } 
    79     } 
    80  
    81     void add(osg::Array* array, osg::Geometry::AttributeBinding binding) 
    82     { 
    83         if (binding == osg::Geometry::BIND_PER_VERTEX) 
    84         { 
    85             if (array) 
    86                 _arrayList.push_back(array); 
     77            add(geometry.getVertexAttribArray(i)); 
     78        } 
     79    } 
     80 
     81    void add(osg::Array* array) 
     82    { 
     83        if (array && array->getBinding()==osg::Array::BIND_PER_VERTEX) 
     84        { 
     85            _arrayList.push_back(array); 
    8786        } 
    8887    } 
     
    232231    if (geom.containsDeprecatedData()) geom.fixDeprecatedData(); 
    233232 
    234     if (geom.getNormalBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
    235  
    236     if (geom.getColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
    237  
    238     if (geom.getSecondaryColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
    239  
    240     if (geom.getFogCoordBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
     233    if (osg::getBinding(geom.getNormalArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
     234 
     235    if (osg::getBinding(geom.getColorArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
     236 
     237    if (osg::getBinding(geom.getSecondaryColorArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
     238 
     239    if (osg::getBinding(geom.getFogCoordArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
    241240 
    242241    // no point optimizing if we don't have enough vertices. 
  • OpenSceneGraph/trunk/src/osgUtil/Optimizer.cpp

    r13547 r13577  
    16791679//////////////////////////////////////////////////////////////////////////// 
    16801680 
     1681#define COMPARE_BINDING(lhs, rhs) \ 
     1682        if (osg::getBinding(lhs)<osg::getBinding(rhs)) return true; \ 
     1683        if (osg::getBinding(rhs)<osg::getBinding(lhs)) return false; 
     1684 
     1685 
    16811686struct LessGeometry 
    16821687{ 
     
    16861691        if (rhs->getStateSet()<lhs->getStateSet()) return false; 
    16871692 
    1688         if (lhs->getNormalBinding()<rhs->getNormalBinding()) return true; 
    1689         if (rhs->getNormalBinding()<lhs->getNormalBinding()) return false; 
    1690  
    1691         if (lhs->getColorBinding()<rhs->getColorBinding()) return true; 
    1692         if (rhs->getColorBinding()<lhs->getColorBinding()) return false; 
    1693  
    1694         if (lhs->getSecondaryColorBinding()<rhs->getSecondaryColorBinding()) return true; 
    1695         if (rhs->getSecondaryColorBinding()<lhs->getSecondaryColorBinding()) return false; 
    1696  
    1697         if (lhs->getFogCoordBinding()<rhs->getFogCoordBinding()) return true; 
    1698         if (rhs->getFogCoordBinding()<lhs->getFogCoordBinding()) return false; 
     1693        COMPARE_BINDING(lhs->getNormalArray(), rhs->getNormalArray()) 
     1694        COMPARE_BINDING(lhs->getColorArray(), rhs->getColorArray()) 
     1695        COMPARE_BINDING(lhs->getSecondaryColorArray(), rhs->getSecondaryColorArray()) 
     1696        COMPARE_BINDING(lhs->getFogCoordArray(), rhs->getFogCoordArray()) 
     1697 
    16991698 
    17001699        if (lhs->getNumTexCoordArrays()<rhs->getNumTexCoordArrays()) return true; 
     
    17231722 
    17241723 
    1725         if (lhs->getNormalBinding()==osg::Geometry::BIND_OVERALL) 
     1724        if (osg::getBinding(lhs->getNormalArray())==osg::Array::BIND_OVERALL) 
    17261725        { 
    17271726            // assumes that the bindings and arrays are set up correctly, this 
     
    17501749        } 
    17511750 
    1752         if (lhs->getColorBinding()==osg::Geometry::BIND_OVERALL) 
     1751        if (osg::getBinding(lhs->getColorArray())==osg::Array::BIND_OVERALL) 
    17531752        { 
    17541753            const osg::Array* lhs_colorArray = lhs->getColorArray(); 
     
    21672166        { 
    21682167            if (geom->getNumPrimitiveSets()>0 && 
    2169                 geom->getNormalBinding()!=osg::Geometry::BIND_PER_PRIMITIVE_SET && 
    2170                 geom->getColorBinding()!=osg::Geometry::BIND_PER_PRIMITIVE_SET && 
    2171                 geom->getSecondaryColorBinding()!=osg::Geometry::BIND_PER_PRIMITIVE_SET && 
    2172                 geom->getFogCoordBinding()!=osg::Geometry::BIND_PER_PRIMITIVE_SET) 
     2168                osg::getBinding(geom->getNormalArray())!=osg::Array::BIND_PER_PRIMITIVE_SET && 
     2169                osg::getBinding(geom->getColorArray())!=osg::Array::BIND_PER_PRIMITIVE_SET && 
     2170                osg::getBinding(geom->getSecondaryColorArray())!=osg::Array::BIND_PER_PRIMITIVE_SET && 
     2171                osg::getBinding(geom->getFogCoordArray())!=osg::Array::BIND_PER_PRIMITIVE_SET) 
    21732172            { 
    21742173 
     
    24582457 
    24592458 
    2460     if (lhs.getNormalArray() && rhs.getNormalArray() && lhs.getNormalBinding()!=osg::Geometry::BIND_OVERALL) 
     2459    if (lhs.getNormalArray() && rhs.getNormalArray() && lhs.getNormalArray()->getBinding()!=osg::Array::BIND_OVERALL) 
    24612460    { 
    24622461        if (!merger.merge(lhs.getNormalArray(),rhs.getNormalArray())) 
     
    24712470 
    24722471 
    2473     if (lhs.getColorArray() && rhs.getColorArray() && lhs.getColorBinding()!=osg::Geometry::BIND_OVERALL) 
     2472    if (lhs.getColorArray() && rhs.getColorArray() && lhs.getColorArray()->getBinding()!=osg::Array::BIND_OVERALL) 
    24742473    { 
    24752474        if (!merger.merge(lhs.getColorArray(),rhs.getColorArray())) 
     
    24832482    } 
    24842483 
    2485     if (lhs.getSecondaryColorArray() && rhs.getSecondaryColorArray() && lhs.getSecondaryColorBinding()!=osg::Geometry::BIND_OVERALL) 
     2484    if (lhs.getSecondaryColorArray() && rhs.getSecondaryColorArray() && lhs.getSecondaryColorArray()->getBinding()!=osg::Array::BIND_OVERALL) 
    24862485    { 
    24872486        if (!merger.merge(lhs.getSecondaryColorArray(),rhs.getSecondaryColorArray())) 
     
    24952494    } 
    24962495 
    2497     if (lhs.getFogCoordArray() && rhs.getFogCoordArray() && lhs.getFogCoordBinding()!=osg::Geometry::BIND_OVERALL) 
     2496    if (lhs.getFogCoordArray() && rhs.getFogCoordArray() && lhs.getFogCoordArray()->getBinding()!=osg::Array::BIND_OVERALL) 
    24982497    { 
    24992498        if (!merger.merge(lhs.getFogCoordArray(),rhs.getFogCoordArray())) 
  • OpenSceneGraph/trunk/src/osgUtil/Simplifier.cpp

    r13488 r13577  
    14451445    } 
    14461446 
    1447     if (_geometry->getNormalArray() && _geometry->getNormalBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1447    if (_geometry->getNormalArray() && _geometry->getNormalArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    14481448        geometry->getNormalArray()->accept(copyArrayToPoints); 
    14491449 
    1450     if (_geometry->getColorArray() && _geometry->getColorBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1450    if (_geometry->getColorArray() && _geometry->getColorArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    14511451        geometry->getColorArray()->accept(copyArrayToPoints); 
    14521452 
    1453     if (_geometry->getSecondaryColorArray() && _geometry->getSecondaryColorBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1453    if (_geometry->getSecondaryColorArray() && _geometry->getSecondaryColorArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    14541454        geometry->getSecondaryColorArray()->accept(copyArrayToPoints); 
    14551455 
    1456     if (_geometry->getFogCoordArray() && _geometry->getFogCoordBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1456    if (_geometry->getFogCoordArray() && _geometry->getFogCoordArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    14571457        geometry->getFogCoordArray()->accept(copyArrayToPoints); 
    14581458 
    14591459    for(unsigned int vi=0;vi<_geometry->getNumVertexAttribArrays();++vi) 
    14601460    { 
    1461         if (_geometry->getVertexAttribArray(vi) &&  _geometry->getVertexAttribBinding(vi)==osg::Geometry::BIND_PER_VERTEX) 
     1461        if (_geometry->getVertexAttribArray(vi) &&  _geometry->getVertexAttribArray(vi)->getBinding()==osg::Array::BIND_PER_VERTEX) 
    14621462            geometry->getVertexAttribArray(vi)->accept(copyArrayToPoints); 
    14631463    } 
     
    16701670    } 
    16711671 
    1672     if (_geometry->getNormalArray() && _geometry->getNormalBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1672    if (_geometry->getNormalArray() && _geometry->getNormalArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    16731673    { 
    16741674        _geometry->getNormalArray()->accept(copyArrayToPoints); 
     
    16791679    } 
    16801680 
    1681     if (_geometry->getColorArray() && _geometry->getColorBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1681    if (_geometry->getColorArray() && _geometry->getColorArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    16821682        _geometry->getColorArray()->accept(copyArrayToPoints); 
    16831683 
    1684     if (_geometry->getSecondaryColorArray() && _geometry->getSecondaryColorBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1684    if (_geometry->getSecondaryColorArray() && _geometry->getSecondaryColorArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    16851685        _geometry->getSecondaryColorArray()->accept(copyArrayToPoints); 
    16861686 
    1687     if (_geometry->getFogCoordArray() && _geometry->getFogCoordBinding()==osg::Geometry::BIND_PER_VERTEX) 
     1687    if (_geometry->getFogCoordArray() && _geometry->getFogCoordArray()->getBinding()==osg::Array::BIND_PER_VERTEX) 
    16881688        _geometry->getFogCoordArray()->accept(copyArrayToPoints); 
    16891689 
    16901690    for(unsigned int vi=0;vi<_geometry->getNumVertexAttribArrays();++vi) 
    16911691    { 
    1692         if (_geometry->getVertexAttribArray(vi) &&  _geometry->getVertexAttribBinding(vi)==osg::Geometry::BIND_PER_VERTEX) 
     1692        if (_geometry->getVertexAttribArray(vi) &&  _geometry->getVertexAttribArray(vi)->getBinding()==osg::Array::BIND_PER_VERTEX) 
    16931693            _geometry->getVertexAttribArray(vi)->accept(copyArrayToPoints); 
    16941694    } 
  • OpenSceneGraph/trunk/src/osgUtil/SmoothingVisitor.cpp

    r13568 r13577  
    298298        _problemVertexVector.resize(_vertices->size()); 
    299299 
    300         addArray(geom->getVertexArray(), osg::Geometry::BIND_PER_VERTEX); 
    301         addArray(geom->getNormalArray(), geom->getNormalBinding()); 
    302         addArray(geom->getColorArray(), geom->getColorBinding()); 
    303         addArray(geom->getSecondaryColorArray(), geom->getSecondaryColorBinding()); 
    304         addArray(geom->getFogCoordArray(), geom->getFogCoordBinding()); 
     300        addArray(geom->getVertexArray()); 
     301        addArray(geom->getNormalArray()); 
     302        addArray(geom->getColorArray()); 
     303        addArray(geom->getSecondaryColorArray()); 
     304        addArray(geom->getFogCoordArray()); 
    305305 
    306306        for(unsigned int i=0; i<geom->getNumTexCoordArrays(); ++i) 
    307307        { 
    308             addArray(geom->getTexCoordArray(i), osg::Geometry::BIND_PER_VERTEX); 
     308            addArray(geom->getTexCoordArray(i)); 
    309309        } 
    310310 
     
    312312    } 
    313313 
    314     void addArray(osg::Array* array, osg::Geometry::AttributeBinding binding) 
    315     { 
    316         if (array && binding==osg::Geometry::BIND_PER_VERTEX) 
     314    void addArray(osg::Array* array) 
     315    { 
     316        if (array && array->getBinding()==osg::Array::BIND_PER_VERTEX) 
    317317        { 
    318318            _arrays.push_back(array); 
  • OpenSceneGraph/trunk/src/osgUtil/TangentSpaceGenerator.cpp

    r13538 r13577  
    1212    N_(new osg::Vec4Array) 
    1313{ 
    14     T_->setBinding(osg::Geometry::BIND_PER_VERTEX); T_->setNormalize(false); 
    15     B_->setBinding(osg::Geometry::BIND_PER_VERTEX); T_->setNormalize(false); 
    16     N_->setBinding(osg::Geometry::BIND_PER_VERTEX); T_->setNormalize(false); 
     14    T_->setBinding(osg::Array::BIND_PER_VERTEX); T_->setNormalize(false); 
     15    B_->setBinding(osg::Array::BIND_PER_VERTEX); T_->setNormalize(false); 
     16    N_->setBinding(osg::Array::BIND_PER_VERTEX); T_->setNormalize(false); 
    1717} 
    1818 
  • OpenSceneGraph/trunk/src/osgUtil/Tessellator.cpp

    r13502 r13577  
    434434        osg::Vec3Array* vertices = dynamic_cast<osg::Vec3Array*>(geom.getVertexArray()); 
    435435        osg::Vec3Array* normals = NULL; 
    436         if (geom.getNormalBinding()==osg::Geometry::BIND_PER_VERTEX) 
     436        if (osg::getBinding(geom.getNormalArray())==osg::Array::BIND_PER_VERTEX) 
    437437        { 
    438438            normals = dynamic_cast<osg::Vec3Array*>(geom.getNormalArray()); 
     
    442442        ArrayList arrays; 
    443443 
    444         if (geom.getColorBinding()==osg::Geometry::BIND_PER_VERTEX) 
     444        if (osg::getBinding(geom.getColorArray())==osg::Array::BIND_PER_VERTEX) 
    445445        { 
    446446            arrays.push_back(geom.getColorArray()); 
    447447        } 
    448448 
    449         if (geom.getSecondaryColorBinding()==osg::Geometry::BIND_PER_VERTEX) 
     449        if (osg::getBinding(geom.getSecondaryColorArray())==osg::Array::BIND_PER_VERTEX) 
    450450        { 
    451451            arrays.push_back(geom.getSecondaryColorArray()); 
    452452        } 
    453453 
    454         if (geom.getFogCoordBinding()==osg::Geometry::BIND_PER_VERTEX) 
     454        if (osg::getBinding(geom.getFogCoordArray())==osg::Array::BIND_PER_VERTEX) 
    455455        { 
    456456            arrays.push_back(geom.getFogCoordArray()); 
     
    611611{ 
    612612    if (geom.containsDeprecatedData()) geom.fixDeprecatedData(); 
    613      
     613 
    614614    osg::Vec3Array* vertices = dynamic_cast<osg::Vec3Array*>(geom.getVertexArray()); 
    615615    VertexPtrToIndexMap vertexPtrToIndexMap; 
     
    628628        osg::Vec3Array* normals = NULL; // GWM Sep 2002 - add normals for extra facets 
    629629        int iprim=0; 
    630         if (geom.getNormalBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) 
     630        if (osg::getBinding(geom.getNormalArray())==osg::Array::BIND_PER_PRIMITIVE_SET) 
    631631        { 
    632632            normals = dynamic_cast<osg::Vec3Array*>(geom.getNormalArray()); // GWM Sep 2002 
     
    635635        osg::Vec4Array* cols4 = NULL; // GWM Dec 2003 colours are vec4 
    636636        osg::Vec3Array* cols3 = NULL; // GWM Dec 2003 colours are vec3 
    637         if (geom.getColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) 
     637        if (osg::getBinding(geom.getColorArray())==osg::Array::BIND_PER_PRIMITIVE_SET) 
    638638        { 
    639639              Array* colours = geom.getColorArray(); // GWM Dec 2003 - need to duplicate face colours 
     
    737737                  } 
    738738                  if (prim->_mode==GL_TRIANGLES) { 
    739                       if (geom.getNormalBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) { // need one per triangle? Not one per set. 
     739                      if (osg::getBinding(geom.getNormalArray())==osg::Array::BIND_PER_PRIMITIVE_SET) { // need one per triangle? Not one per set. 
    740740                          for (int ii=1; ii<ntris; ii++) { 
    741741                              if (normals) normals->push_back(norm); // GWM Sep 2002 add flat shaded normal for new facet 
    742742                          } 
    743743                      } 
    744                       if (geom.getColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) { // need one per triangle? Not one per set. 
     744                      if (osg::getBinding(geom.getColorArray())==osg::Array::BIND_PER_PRIMITIVE_SET) { // need one per triangle? Not one per set. 
    745745                          for (int ii=1; ii<ntris; ii++) { 
    746746                              if (cols3 && _index>=cols3->size()) { 
  • OpenSceneGraph/trunk/src/osgUtil/TriStripVisitor.cpp

    r13502 r13577  
    5959    VertexAttribComparitor(osg::Geometry& geometry) 
    6060    { 
    61         add(geometry.getVertexArray(),osg::Geometry::BIND_PER_VERTEX); 
    62         add(geometry.getNormalArray(),geometry.getNormalBinding()); 
    63         add(geometry.getColorArray(),geometry.getColorBinding()); 
    64         add(geometry.getSecondaryColorArray(),geometry.getSecondaryColorBinding()); 
    65         add(geometry.getFogCoordArray(),geometry.getFogCoordBinding()); 
     61        add(geometry.getVertexArray()); 
     62        add(geometry.getNormalArray()); 
     63        add(geometry.getColorArray()); 
     64        add(geometry.getSecondaryColorArray()); 
     65        add(geometry.getFogCoordArray()); 
    6666        unsigned int i; 
    6767        for(i=0;i<geometry.getNumTexCoordArrays();++i) 
    6868        { 
    69             add(geometry.getTexCoordArray(i),osg::Geometry::BIND_PER_VERTEX); 
     69            add(geometry.getTexCoordArray(i)); 
    7070        } 
    7171        for(i=0;i<geometry.getNumVertexAttribArrays();++i) 
    7272        { 
    73             add(geometry.getVertexAttribArray(i),geometry.getVertexAttribBinding(i)); 
    74         } 
    75     } 
    76  
    77     void add(osg::Array* array, osg::Geometry::AttributeBinding binding) 
    78     { 
    79         if (binding==osg::Geometry::BIND_PER_VERTEX && array) 
     73            add(geometry.getVertexAttribArray(i)); 
     74        } 
     75    } 
     76 
     77    void add(osg::Array* array) 
     78    { 
     79        if (array && array->getBinding()==osg::Array::BIND_PER_VERTEX) 
    8080        { 
    8181            for(ArrayList::const_iterator itr=_arrayList.begin(); 
     
    217217    if (geom.containsDeprecatedData()) geom.fixDeprecatedData(); 
    218218 
    219     if (geom.getNormalBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
    220  
    221     if (geom.getColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
    222  
    223     if (geom.getSecondaryColorBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
    224  
    225     if (geom.getFogCoordBinding()==osg::Geometry::BIND_PER_PRIMITIVE_SET) return; 
     219    if (osg::getBinding(geom.getNormalArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
     220 
     221    if (osg::getBinding(geom.getColorArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
     222 
     223    if (osg::getBinding(geom.getSecondaryColorArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
     224 
     225    if (osg::getBinding(geom.getFogCoordArray())==osg::Array::BIND_PER_PRIMITIVE_SET) return; 
    226226 
    227227    // no point tri stripping if we don't have enough vertices. 
     
    554554                } 
    555555                geom.setColorArray(colors); 
    556                 geom.setColorBinding(osg::Geometry::BIND_PER_PRIMITIVE_SET); 
     556                geom.setColorBinding(osg::Array::BIND_PER_PRIMITIVE_SET); 
    557557        #endif 
    558558    }