/
spivag
/
command_occ
Обзор
Документация
Войти
/
spivag
/
command_occ
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
initial
commands/fit_geometry.cpp
61 строка
1 KB
Степанов Никита
Запрос на слияние 'topology_iterators' (
#3
) из topology_iterators в initial
27 апр 2026, 21:55
Верифицирован
27 апр 2026, 21:55
c047a95
Код
Авторство
О чём код?
#include "fit_geometry.h" #include <vector> #include <algorithm> // Custom implementation to replace c3d::IsMonotonic bool IsMonotonic( const std::vector< double >& values, bool increasing, bool strict ) { if ( values.empty() ) return true; if ( strict ) { if ( increasing ) { for ( size_t i = 1; i < values.size(); ++i ) { if ( values[ i ] <= values[ i - 1 ] ) return false; } } else { for ( size_t i = 1; i < values.size(); ++i ) { if ( values[ i ] >= values[ i - 1 ] ) return false; } } } else { if ( increasing ) { for ( size_t i = 1; i < values.size(); ++i ) { if ( values[ i ] < values[ i - 1 ] ) return false; } } else { for ( size_t i = 1; i < values.size(); ++i ) { if ( values[ i ] > values[ i - 1 ] ) return false; } } } return true; } PointsFit::CubicSpline::CubicSpline( std::vector< double > const& knots ) : m_knots{ knots } { } bool PointsFit::CubicSpline::AreParametersValid() const { return ::IsMonotonic( m_knots, true, false ); }