Moved the Geometry::set*Binding to after the set*Array() to prevent problems when using the deprecated functionality.
This commit is contained in:
@@ -1,5 +1,7 @@
|
|||||||
// -*-c++-*-
|
// -*-c++-*-
|
||||||
|
|
||||||
|
#define OSG_USE_DEPRECATED_GEOMETRY_METHODS 1
|
||||||
|
|
||||||
#include "ConvertFromPerformer.h"
|
#include "ConvertFromPerformer.h"
|
||||||
|
|
||||||
#include <osg/Group>
|
#include <osg/Group>
|
||||||
@@ -715,8 +717,6 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet*
|
|||||||
// handle flat shaded skip of normals.
|
// handle flat shaded skip of normals.
|
||||||
int nn = nv-flat_shaded_skip_all_primitives;
|
int nn = nv-flat_shaded_skip_all_primitives;
|
||||||
|
|
||||||
// set the normal binding type.
|
|
||||||
geom->setNormalBinding(_gsetBindMap[bind]);
|
|
||||||
|
|
||||||
if (ilist)
|
if (ilist)
|
||||||
{
|
{
|
||||||
@@ -736,6 +736,9 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet*
|
|||||||
}
|
}
|
||||||
geom->setNormalArray(osg_norms);
|
geom->setNormalArray(osg_norms);
|
||||||
|
|
||||||
|
// set the normal binding type.
|
||||||
|
geom->setNormalBinding(_gsetBindMap[bind]);
|
||||||
|
|
||||||
osg::UShortArray* osg_indices = new osg::UShortArray;
|
osg::UShortArray* osg_indices = new osg::UShortArray;
|
||||||
osg_indices->reserve(nv);
|
osg_indices->reserve(nv);
|
||||||
|
|
||||||
@@ -791,9 +794,6 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet*
|
|||||||
bind == PFGS_PER_PRIM ? geoset->getNumPrims() :
|
bind == PFGS_PER_PRIM ? geoset->getNumPrims() :
|
||||||
bind == PFGS_PER_VERTEX ? nv : 0;
|
bind == PFGS_PER_VERTEX ? nv : 0;
|
||||||
|
|
||||||
// set the normal binding type.
|
|
||||||
geom->setNormalBinding(_gsetBindMap[bind]);
|
|
||||||
|
|
||||||
// calc the maximum num of vertex from the index list.
|
// calc the maximum num of vertex from the index list.
|
||||||
int cc;
|
int cc;
|
||||||
if (ilist)
|
if (ilist)
|
||||||
@@ -815,6 +815,9 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet*
|
|||||||
}
|
}
|
||||||
geom->setNormalArray(osg_norms);
|
geom->setNormalArray(osg_norms);
|
||||||
|
|
||||||
|
// set the normal binding type.
|
||||||
|
geom->setNormalBinding(_gsetBindMap[bind]);
|
||||||
|
|
||||||
if(ilist)
|
if(ilist)
|
||||||
{
|
{
|
||||||
geom->setNormalIndices(new osg::UShortArray(nn,ilist));
|
geom->setNormalIndices(new osg::UShortArray(nn,ilist));
|
||||||
@@ -836,9 +839,6 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet*
|
|||||||
// handle flat shaded skip of normals.
|
// handle flat shaded skip of normals.
|
||||||
int nn = nv-flat_shaded_skip_all_primitives;
|
int nn = nv-flat_shaded_skip_all_primitives;
|
||||||
|
|
||||||
// set the normal binding type.
|
|
||||||
geom->setColorBinding(_gsetBindMap[bind]);
|
|
||||||
|
|
||||||
if (ilist)
|
if (ilist)
|
||||||
{
|
{
|
||||||
// calc the maximum num of vertex from the index list.
|
// calc the maximum num of vertex from the index list.
|
||||||
@@ -858,6 +858,10 @@ osg::Drawable* ConvertFromPerformer::visitGeoSet(osg::Geode* osgGeode,pfGeoSet*
|
|||||||
}
|
}
|
||||||
geom->setColorArray(osg_colors);
|
geom->setColorArray(osg_colors);
|
||||||
|
|
||||||
|
// set the color binding type.
|
||||||
|
geom->setColorBinding(_gsetBindMap[bind]);
|
||||||
|
|
||||||
|
|
||||||
osg::UShortArray* osg_indices = new osg::UShortArray;
|
osg::UShortArray* osg_indices = new osg::UShortArray;
|
||||||
osg_indices->reserve(nv);
|
osg_indices->reserve(nv);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user