C3D Toolkit
Kernel - 105435, Vision - 121811.105435
|
Модуль геометрических построений. Подробнее...
#include <templ_s_array.h>
#include <templ_array2.h>
#include <templ_dptr.h>
#include <math_define.h>
#include <mb_enum.h>
#include <mb_rect1d.h>
#include <cur_nurbs_vector.h>
#include <mb_matrixnn.h>
#include <mb_cart_point.h>
#include <mb_vector3d.h>
#include <mb_cart_point3d.h>
#include <alg_base.h>
#include <vector>
Классы | |
class | MbCurveIntoNurbsInfo |
Дополнительная информация для преобразования кривой или поверхности в Nurbs. Подробнее... | |
struct | MbNurbsParameters |
Параметры построения NURBS копии объекта. Подробнее... | |
struct | MbNurbsPointInfo |
Параметры узловой точки сплайновой копии объекта. Подробнее... | |
Перечисления | |
enum | MbeSplineCreateType { sct_Version0 = 0, sct_Version1 = 1, sct_Version2 = 2 } |
Флаг, определяющий построение сплайна, проходящего через точки. Подробнее... | |
Функции | |
template<class Type > | |
double | GetParamDistance (const Type &p1, const Type &p2, MbeSplineParamType spType) |
Дать меру расстояния. Подробнее... | |
bool | IsValidNurbsParams (ptrdiff_t degree, bool closed, size_t pcnt) |
Проверить параметры инициализации nurbs-объекта. Подробнее... | |
bool | IsValidNurbsParams (ptrdiff_t degree, bool closed, size_t pcnt, size_t wcnt) |
Проверить параметры инициализации nurbs-объекта. Подробнее... | |
bool | IsValidNurbsParams (ptrdiff_t degree, bool closed, size_t pcnt, size_t wcnt, size_t kcnt) |
Проверить параметры инициализации nurbs-объекта. Подробнее... | |
template<class KnotsVector > | |
bool | IsValidNurbsParamsExt (ptrdiff_t degree, bool closed, size_t pcnt, const KnotsVector &knots) |
Проверить параметры инициализации nurbs-кривой. Подробнее... | |
template<class PointVector , class DoubleVector > | |
bool | IsValidNurbsParamsExt (ptrdiff_t degree, bool closed, const PointVector &pnts, const DoubleVector *wts, const DoubleVector *knots=NULL) |
Проверить параметры инициализации nurbs-кривой. Подробнее... | |
template<class KnotsVector > | |
bool | IsValidNurbsKnots (const KnotsVector &knots, double eps=EXTENT_EPSILON) |
Проверить узловой вектор nurbs-объекта. Подробнее... | |
template<class KnotsVector > | |
ptrdiff_t | KnotIndex (ptrdiff_t degree, const KnotsVector &knots, double &t) |
Определение индекса узла left для первой ненулевой функции. Подробнее... | |
template<class KnotsVector > | |
ptrdiff_t | DefineKnotsVector (ptrdiff_t degree, bool closed, ptrdiff_t uppPointsIndex, KnotsVector &knots) |
Определить узловой вектор (равномерная параметризация). Подробнее... | |
bool | DefineKnotsVector (ptrdiff_t degree, bool closed, size_t count, const SArray< double > *params, SArray< double > &knots) |
Определить узловой вектор. Подробнее... | |
template<class Points , class Params > | |
bool | DefineThroughPointsParams (const Points &points, MbeSplineParamType spType, bool closed, Params ¶ms) |
Определить параметрическое распределение точек. Подробнее... | |
template<class Knots , class DoubleVector > | |
bool | BasisFuns (ptrdiff_t i, double t, ptrdiff_t p, const Knots &knots, DoubleVector &nsplines, DoubleVector &lrVect) |
Вычисление B - базиса (degree - порядок B-сплайна, p = (degree - 1) - степень полинома(B-сплайна)). Подробнее... | |
template<class DoubleVector > | |
bool | CalcBsplvb (const DoubleVector &knots, double t, ptrdiff_t left, ptrdiff_t degree, DoubleVector &biatx, DoubleVector &lrVect) |
Вычислить базисный сплайн по параметру t и узловому вектору. Подробнее... | |
void | AllBasisFuns (ptrdiff_t i, double t, ptrdiff_t p, const SArray< double > &knots, double **ndu, double *left, double *right, bool newPatch=true) |
Вычисление B - базиса ( с использованием рабочих указателей классов nurbs кривых и поверхностей ). Подробнее... | |
void | AllBasisFuns (ptrdiff_t i, double t, ptrdiff_t p, const SArray< double > &knots, double *ndu, size_t degree, double *left, double *right, bool newPatch=true) |
Вычисление B - базиса ( с использованием рабочих указателей классов nurbs кривых и поверхностей ). Подробнее... | |
bool | CalcDBsplvb (const SArray< double > &knots, ptrdiff_t degree, double t, ptrdiff_t left, ptrdiff_t n, Array2< double > &values) |
Вычислить значения базисного сплайна и его производных. Подробнее... | |
template<class Point , class NurbsVector , class KnotsVector > | |
void | CurveDeriveCpts (ptrdiff_t p, const KnotsVector &U, const Point *P, const double *W, size_t pointCount, const NurbsVector *PW, ptrdiff_t d, ptrdiff_t r1, ptrdiff_t r2, NurbsVector *PK) |
Вычислить все разностные формы кривой. Подробнее... | |
template<class Point , class NurbsVector , class KnotsVector > | |
void | CurveDeriveCpts (ptrdiff_t p, const KnotsVector &U, const Point *P, const double w, size_t pointCount, const NurbsVector *PW, ptrdiff_t d, ptrdiff_t r1, ptrdiff_t r2, NurbsVector *PK) |
Вычислить все разностные формы кривой. Подробнее... | |
template<class Point , class Homogeneous > | |
void | CurveDeriveCpts (ptrdiff_t p, const double *U, const Point *P, const double *W, size_t pointCount, ptrdiff_t r1, ptrdiff_t r2, Homogeneous *H0, Homogeneous *H1, Homogeneous *H2, Homogeneous *H3) |
Вычислить все разностные формы кривой. Подробнее... | |
void | CheckParam (const double &tMin, const double &tMax, bool closed, double &t) |
Загнать параметр t в параметрическую область кривой. Подробнее... | |
template<class KnotsVector , class DoubleVector1 , class DoubleVector2 > | |
ptrdiff_t | CalculateSplines (ptrdiff_t degree, const KnotsVector &knots, bool closed, double &t, DoubleVector1 &nsplines, DoubleVector2 &lrVect) |
Рассчитать ненулевые сплайны при данном параметре. Подробнее... | |
Модуль геометрических построений.
Базовые алгоритмы Nurbs кривых и поверхностей.