//-----------------------------------------------------------------------
void PUDynamicAttributeCurved::processControlPoints(void)
{
    if (_controlPoints.empty())
        return;

    std::sort(_controlPoints.begin(), _controlPoints.end(), PUControlPointSorter());
    _range = (*getLastValidIterator()).x - (*getFirstValidIterator()).x;

    if (_interpolationType == IT_SPLINE)
    {
        // Add all sorted control points to the spline
        PUDynamicAttributeCurved::ControlPointList::iterator it;
        _spline.clear();
        for (it = _controlPoints.begin(); it != _controlPoints.end(); ++it)
            _spline.addPoint(Vec3((*it).x, (*it).y, 0));
    }
}
Example #2
0
void veValueCurved::processControlPoints()
{
    if (_cpList.empty() || _iType != InterpolationType::IT_SPLINE)
        return;
    
    std::sort(_cpList.begin(), _cpList.end(), ControlPointSorter());
    _range = (*getLastValidIterator()).x() - (*getFirstValidIterator()).x();
    
    if (_iType == InterpolationType::IT_SPLINE)
    {
        // Add all sorted control points to the spline
        veValueCurved::ControlPointList::iterator it;
        _spline.clear();
        for (it = _cpList.begin(); it != _cpList.end(); ++it)
            _spline.addPoint(veVec3((*it).x(), (*it).y(), 0.0f));
    }
}