rem: osg::Vec2f tmp;
add: Vec2f tmp;
context: static void calcHullVertices( const vector<osg::Vec2f> &crossSection,                              const vector<osg::Quaternion> &orientation,                              const vector<osg::Vec2f> &scale,                              const vector<osg::Vec3f> &spine,                              bool *uWrap,                               bool *vWrap,                              vector<osg::Pnt3f> &vertices ){  /* Closure detection in u-direction is not yet correct */  /* Let u be the parameter of the hull surface in direction of the spine */  /* then closure of the spine does not imply that the hull surface is */  /* closed in u direction */  vector<osg::Matrix> SCPBaseTransform;  UInt32 sp_len = spine.size();  UInt32 cs_len = crossSection.size();  UInt32 sc_len = scale.size();  UInt32 or_len = orientation.size();  // bool crossSectionClosed = false;  bool spineClosed  = false;  bool pureRotation = false;  if((crossSection[0] - crossSection[cs_len - 1]).length() < EPS)    {      // crossSectionClosed = true;      *vWrap = true;      vertices.resize((cs_len - 1)*sp_len);    }  else    {      // crossSectionClosed = false;      *vWrap = false;      vertices.resize(cs_len*sp_len);    }  UInt32 cs_lim = *vWrap ? cs_len - 1 : cs_len;  createSCP(spine, &spineClosed, &pureRotation, SCPBaseTransform);  FLOG(("For the moment we assume spine closed => uWrap of surface"));  *uWrap = (spineClosed && !pureRotation);  for(UInt32 i = 0; i < sp_len; i++)  {    /* the VRML-spec does not say how to interpret the case if */    /* we are called with more than one but less than number of */    /* spine points orientation/scale values */    /* If that occurs we just go on with the last value we know */    osg::Matrix SCPRotation;    SCPRotation.setIdentity();    if(or_len > i)      {        Quaternion tmp = orientation[i];        //        printMatrix((Real32*)&tmp[0], 1, 4);        tmp.getValuesOnly(SCPRotation);        //        printMatrix((Real32*)&SCPRotation[0], 3, 4);      }    else      {        Quaternion tmp = orientation[sp_len - 1];        //        printMatix((Real32*)&tmp[0], 1, 4);        tmp.getValuesOnly(SCPRotation);        //        printMatrix((Real32*)&SCPRotation[0], 3, 4);      }    if(sc_len >= sp_len)      {        osg::Vec2f tmp;        for(UInt32 j = 0; j < cs_lim; j++)          {            tmp[0] = scale[i][0]*crossSection[j][0];            tmp[1] = scale[i][1]*crossSection[j][1];            vertices[i*cs_lim+j].setValue((SCPRotation[0]*tmp[0]                                            + SCPRotation[2]*tmp[1]));            /*            printf("vertices[%i] : (%f, %f, %f) \n",i*cs_lim+j,                    vertices[i*cs_lim+j][0],                   vertices[i*cs_lim+j][1],                   vertices[i*cs_lim+j][2]);            */          }      }    else      {        for(UInt32 j = 0; j < cs_lim; j++)          {            osg::Vec2f tmp;            if(j < sc_len)              {                tmp[0] = scale[i][0]*crossSection[j][0];                tmp[1] = scale[i][1]*crossSection[j][1];              }            else              {                tmp[0] = scale[sc_len - 1][0]*crossSection[j][0];                tmp[1] = scale[sc_len - 1][1]*crossSection[j][1];              }            vertices[i*cs_lim+j].setValue((SCPRotation[0]*tmp[0]                                            + SCPRotation[2]*tmp[1]));          }      }  }  /* the spine is entirely collinear or consists only of coincident points */  if(SCPBaseTransform.size() > 1)    {      for(UInt32 i = 0; i < sp_len; i++)        {          /* move the SCP along the spine */          SCPBaseTransform[i][3].setValue(spine[i]);          for(UInt32 j = 0; j < cs_lim; j++)            SCPBaseTransform[i].multMatrixPnt(vertices[i*cs_lim +j]);        }    }  else    {      for(UInt32 i = 0; i < sp_len; i++)        {          /* move the SCP along the spine */          SCPBaseTransform[0][3].setValue(spine[i]);          for(UInt32 j = 0; j < cs_lim; j++)            SCPBaseTransform[0].multMatrixPnt(vertices[i*cs_lim +j]);        }    }}