C3D Toolkit
Kernel - 117936, Vision - 2.7.0.41
|
Классы | |
class | MbChamferSurface |
Поверхность фаски. Подробнее... | |
class | MbChannelSurface |
Поверхность скругления с переменным радиусом обычная или с сохранением кромки. Подробнее... | |
class | MbConeSurface |
Kоническая поверхность. Подробнее... | |
class | MbCoonsPatchSurface |
Поверхность Кунса на четырех кривых. Подробнее... | |
class | MbCornerSurface |
Треугольная поверхность на кривых. Подробнее... | |
class | MbCoverSurface |
Четырёхугольная поверхность на кривых. Подробнее... | |
class | MbCurveBoundedSurface |
Ограниченная кривыми поверхность. Подробнее... | |
class | MbCylinderSurface |
Цилиндрическая поверхность. Подробнее... | |
class | MbElementarySurface |
Элементарная поверхность. Подробнее... | |
class | MbElevationSurface |
Поверхность, проходящая через заданное семейство кривых, с направляющей. Подробнее... | |
class | MbEvolutionSurface |
Поверхность заметания. Подробнее... | |
class | MbExactionSurface |
Кинематическая поверхность с адаптацией. Подробнее... | |
class | MbExpansionSurface |
Поверхность плоскопараллельного движения. Подробнее... | |
class | MbExplorationSurface |
Поверхность заметания с масштабированием и поворотом образующей кривой. Подробнее... | |
class | MbExtrusionSurface |
Поверхность выдавливания. Подробнее... | |
class | MbFilletSurface |
Поверхность скругления с постоянными радиусами обычная или с сохранением кромки. Подробнее... | |
class | MbGregorySurface |
Поверхность на ограничивающем контуре. Подробнее... | |
class | MbGridSurface |
Поверхность на базе триангуляции. Подробнее... | |
class | MbJoinSurface |
Поверхность соединения. Подробнее... | |
class | MbLoftedSurface |
Поверхность, проходящая через заданное семейство кривых. Подробнее... | |
class | MbMeshSurface |
Поверхность на сетке кривых. Подробнее... | |
class | MbOffsetSurface |
Эквидистантная и расширенная поверхность. Подробнее... | |
class | MbPlane |
Плоскость. Подробнее... | |
class | MbPolySurface |
Поверхность, заданная прямоугольной матрицей точек. Подробнее... | |
class | MbRevolutionSurface |
Поверхность вращения. Подробнее... | |
class | MbRuledSurface |
Линейчатая поверхность. Подробнее... | |
class | MbSectionSurface |
Поверхность переменного сечения. Подробнее... | |
class | MbSectorSurface |
Секториальная поверхность. Подробнее... | |
class | MbSmoothSurface |
Поверхность сопряжения. Подробнее... | |
class | MbSphereSurface |
Сферическая поверхность. Подробнее... | |
class | MbSpiralSurface |
Спиральная поверхность. Подробнее... | |
class | MbSplineSurface |
NURBS поверхность. Подробнее... | |
class | MbSweptSurface |
Поверхность движения. Подробнее... | |
class | MbTorusSurface |
Tороидальная поверхность. Подробнее... | |
class | MbSurface |
Поверхность в трехмерном пространстве. Подробнее... | |
Перечисления | |
enum | MbeCoonsSurfaceCalcType { cst_DefaultType = 0 , cst_SurfaceType , cst_GregoryPatchType } |
Способ расчёта поверхности Кунса. Подробнее... | |
enum | MbeMeshSurfaceVersion { msv_Ver0 = 0 , msv_Ver1 , msv_Ver2 , msv_Ver3 , msv_Ver4 , msv_Ver5 , msv_Count } |
Версия реализации поверхности на сетке кривых. Подробнее... | |
Функции | |
MbeNewtonResult | NearestPoints (const MbSurface &surface, bool ext0, const MbCurve3D &curve, bool ext1, double &u0, double &v0, double &t0, double &dmin, bool t0Calculated=false) |
Вычислить параметры ближайших точек поверхности и кривой. Подробнее... | |
MbeNewtonResult | NearestPoints (const MbSurface &surface0, bool ext0, const MbSurface &surface1, bool ext1, double &u0, double &v0, double &u1, double &v1, double &dmin, bool checkCurvilinearBounds) |
Вычислить параметры ближайших точек поверхностей. Подробнее... | |
Функции для работы в области определения поверхности | |
Функции PointOn, Derive... поверхностей корректируют параметры при выходе их за пределы прямоугольной области определения параметров.
| |
virtual void | MbSurface::PointOn (double &u, double &v, MbCartPoint3D &p) const =0 |
Вычислить точку на поверхности. Подробнее... | |
virtual void | MbSurface::Explore (double &u, double &v, MbCartPoint3D &pnt, MbVector3D &uDer, MbVector3D &vDer) const |
Вычислить значения точки и первых производных по u и по v. Подробнее... | |
virtual void | MbSurface::DeriveU (double &u, double &v, MbVector3D &) const =0 |
Вычислить первую производную по u. | |
virtual void | MbSurface::DeriveV (double &u, double &v, MbVector3D &) const =0 |
Вычислить первую производную по v. | |
virtual void | MbSurface::DeriveUU (double &u, double &v, MbVector3D &) const =0 |
Вычислить вторую производную по u. | |
virtual void | MbSurface::DeriveVV (double &u, double &v, MbVector3D &) const =0 |
Вычислить вторую производную по v. | |
virtual void | MbSurface::DeriveUV (double &u, double &v, MbVector3D &) const =0 |
Вычислить вторую производную. | |
virtual void | MbSurface::DeriveUUU (double &u, double &v, MbVector3D &) const =0 |
Вычислить третью производную. | |
virtual void | MbSurface::DeriveUUV (double &u, double &v, MbVector3D &) const =0 |
Вычислить третью производную. | |
virtual void | MbSurface::DeriveUVV (double &u, double &v, MbVector3D &) const =0 |
Вычислить третью производную. | |
virtual void | MbSurface::DeriveVVV (double &u, double &v, MbVector3D &) const =0 |
Вычислить третью производную. | |
virtual void | MbSurface::TangentU (double &u, double &v, MbVector3D &) const |
Вычислить касательный вектор по u. | |
virtual void | MbSurface::TangentV (double &u, double &v, MbVector3D &) const |
Вычислить касательный вектор по v. | |
virtual void | MbSurface::Normal (double &u, double &v, MbVector3D &) const |
Вычислить нормаль. | |
virtual void | MbSurface::NormalU (double &u, double &v, MbVector3D &) const |
Вычислить производную нормали по U. | |
virtual void | MbSurface::NormalV (double &u, double &v, MbVector3D &) const |
Вычислить производную нормали по V. | |
Функции для работы внутри и вне области определения поверхности | |
функции _PointOn, _Derive... поверхностей не корректируют параметры при выходе их за пределы прямоугольной области определения параметров. | |
virtual void | MbSurface::_PointOn (double u, double v, MbCartPoint3D &p) const |
Вычислить точку на поверхности. Подробнее... | |
virtual void | MbSurface::Explore (double &u, double &v, bool ext, MbCartPoint3D &pnt, MbVector3D &uDer, MbVector3D &vDer, MbVector3D *uuDer, MbVector3D *vvDer, MbVector3D *uvDer, MbVector3D *nor) const |
Вычислить значения точки и производных для заданных параметров. Подробнее... | |
virtual void | MbSurface::_PointNormal (double u, double v, MbCartPoint3D &pnt, MbVector3D &deru, MbVector3D &derv, MbVector3D &norm, MbVector3D &noru, MbVector3D &norv, MbVector3D &deruu, MbVector3D &dervv, MbVector3D &deruv) const |
Вычислить значения всех производных в точке. Подробнее... | |
virtual void | MbSurface::_DeriveU (double u, double v, MbVector3D &) const |
Вычислить первую производную по u на расширенной поверхности. | |
virtual void | MbSurface::_DeriveV (double u, double v, MbVector3D &) const |
Вычислить первую производную по v на расширенной поверхности. | |
virtual void | MbSurface::_DeriveUU (double u, double v, MbVector3D &) const |
Вычислить вторую производную по u на расширенной поверхности. | |
virtual void | MbSurface::_DeriveVV (double u, double v, MbVector3D &) const |
Вычислить вторую производную по v на расширенной поверхности. | |
virtual void | MbSurface::_DeriveUV (double u, double v, MbVector3D &) const |
Вычислить вторую производную на расширенной поверхности. | |
virtual void | MbSurface::_DeriveUUU (double u, double v, MbVector3D &) const |
Вычислить третью производную на расширенной поверхности. | |
virtual void | MbSurface::_DeriveUUV (double u, double v, MbVector3D &) const |
Вычислить третью производную на расширенной поверхности. | |
virtual void | MbSurface::_DeriveUVV (double u, double v, MbVector3D &) const |
Вычислить третью производную на расширенной поверхности. | |
virtual void | MbSurface::_DeriveVVV (double u, double v, MbVector3D &) const |
Вычислить третью производную на расширенной поверхности. | |
virtual void | MbSurface::_TangentU (double u, double v, MbVector3D &) const |
Вычислить касательный вектор по u на расширенной поверхности. | |
virtual void | MbSurface::_TangentV (double u, double v, MbVector3D &) const |
Вычислить касательный вектор по v на расширенной поверхности. | |
virtual void | MbSurface::_Normal (double u, double v, MbVector3D &) const |
Вычислить нормаль на расширенной поверхности. | |
virtual void | MbSurface::_NormalU (double u, double v, MbVector3D &) const |
Вычислить производную нормали на расширенной поверхности. | |
virtual void | MbSurface::_NormalV (double u, double v, MbVector3D &) const |
Вычислить производную нормали на расширенной поверхности. | |
virtual void | MbSurface::_NormalUU (double u, double v, MbVector3D &) const |
Вычислить вторую производную нормали на расширенной поверхности. | |
virtual void | MbSurface::_NormalUV (double u, double v, MbVector3D &) const |
Вычислить вторую производную нормали на расширенной поверхности. | |
virtual void | MbSurface::_NormalVV (double u, double v, MbVector3D &) const |
Вычислить вторую производную нормали на расширенной поверхности. | |
virtual void | MbSurface::_NormalD (double u, double v, double du, double dv, MbVector3D &der) const |
Вычислить производную нормали в точке с параметрами u v вдоль линии du dv. | |
virtual void | MbSurface::_NormalDD (double u, double v, double du, double dv, MbVector3D &der) const |
Вычислить вторую производную нормали в точке с параметрами u v вдоль линии du dv. | |
Функции движения по поверхности | |
virtual double | MbSurface::StepU (double u, double v, double sag) const |
Вычислить шаг параметра. Подробнее... | |
virtual double | MbSurface::StepV (double u, double v, double sag) const |
Вычислить шаг параметра. Подробнее... | |
virtual double | MbSurface::DeviationStepU (double u, double v, double angle) const |
Вычислить шаг параметра. Подробнее... | |
virtual double | MbSurface::DeviationStepV (double u, double v, double angle) const |
Вычислить шаг параметра. Подробнее... | |
virtual double | MbSurface::MetricStepU (double u, double v, double length) const |
Вычислить шаг параметра. Подробнее... | |
virtual double | MbSurface::MetricStepV (double u, double v, double length) const |
Вычислить шаг параметра. Подробнее... | |
double | MbSurface::SurfaceStep (const double &u, const double &v, bool alongU, const MbStepData &stepData) const |
Вычислить шаг параметра. Подробнее... | |
virtual size_t | MbSurface::GetUCount () const |
Количество разбиений по параметру u для проверки событий. | |
virtual size_t | MbSurface::GetVCount () const |
Количество разбиений по параметру v для проверки событий. | |
|
pure virtual |
Вычислить точку на поверхности.
Скорректировать параметры при выходе их за пределы прямоугольной области определения и вычислить точку на поверхности.
[in] | u | - Первый параметр поверхности. |
[in] | v | - Второй параметр поверхности. |
[out] | p | - Вычисленная точка на поверхности. |
Замещается в MbMeshSurface, MbGridSurface, MbGregorySurface, MbCoverSurface, MbCornerSurface, MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbLoftedSurface, MbJoinSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbExactionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoonsPatchSurface, MbConeSurface и MbChamferSurface.
|
inlinevirtual |
Вычислить значения точки и первых производных по u и по v.
Скорректировать параметры при выходе их за пределы прямоугольной области определения и вычислить значения точки и первых производных по u и по v.
[in] | u | - Параметр. |
[in] | v | - Параметр. |
[out] | pnt | - Точка. |
[out] | uDer | - Производная по u. |
[out] | vDer | - Производная по v. |
Переопределяется в MbSplineSurface.
|
virtual |
Вычислить точку на поверхности.
Вычислить точку на поверхности в том числе и за пределами области определения параметров.
[in] | u | - Первый параметр поверхности. |
[in] | v | - Второй параметр поверхности. |
[out] | p | - Вычисленная точка на поверхности. |
Переопределяется в MbMeshSurface, MbJoinSurface, MbGregorySurface, MbCoverSurface, MbCornerSurface, MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbLoftedSurface, MbGridSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbExactionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoonsPatchSurface, MbConeSurface и MbChamferSurface.
|
virtual |
Вычислить значения точки и производных для заданных параметров.
Значения точки и производных вычисляются в пределах области определения и на расширенной поверхности.
[in] | u | - Параметр. |
[in] | v | - Параметр. |
[in] | ext | - В пределах области определения (false), на расширенной поверхности (true). |
[out] | pnt | - Точка. |
[out] | uDer | - Производная по u. |
[out] | vDer | - Производная по v. |
[out] | uuDer | - Вторая производная по u, если не ноль. |
[out] | vvDer | - Вторая производная по v, если не ноль. |
[out] | uvDer | - Вторая производная по u и по v, если не ноль. |
Переопределяется в MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbMeshSurface, MbLoftedSurface, MbJoinSurface, MbGridSurface, MbGregorySurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbExactionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoverSurface, MbCornerSurface, MbCoonsPatchSurface, MbConeSurface и MbChamferSurface.
|
virtual |
Вычислить значения всех производных в точке.
Значения точки и производных вычисляются на расширенной поверхности.
[in] | u | - Параметр. |
[in] | v | - Параметр. |
[out] | pnt | - Точка. |
[out] | deru | - Производная по u. |
[out] | derv | - Производная по v. |
[out] | norm | - Нормаль. |
[out] | noru | - Производная нормали по u. |
[out] | norv | - Производная нормали по v. |
[out] | deruu | - Вторая производная по u. |
[out] | dervv | - Вторая производная по v. |
[out] | deruv | - Вторая производная по u и по v. |
Переопределяется в MbFilletSurface, MbTorusSurface, MbSphereSurface, MbPlane, MbOffsetSurface, MbCylinderSurface, MbCurveBoundedSurface и MbConeSurface.
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по величине прогиба вдоль линии с постоянным значением v. Вычисление шага проходит с учетом радиуса кривизны. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы отклонение кривой от ее полигона не превышало заданную величину прогиба.
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | sag | - Максимально допустимая величина прогиба. |
Переопределяется в MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbMeshSurface, MbLoftedSurface, MbJoinSurface, MbGridSurface, MbGregorySurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoverSurface, MbCornerSurface, MbCoonsPatchSurface, MbConeSurface и MbChamferSurface.
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по величине прогиба вдоль линии с постоянным значением u. Вычисление шага проходит с учетом радиуса кривизны. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы отклонение кривой от ее полигона не превышало заданную величину прогиба.
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | sag | - Максимально допустимая величина прогиба. |
Переопределяется в MbTorusSurface, MbSplineSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbOffsetSurface, MbMeshSurface, MbLoftedSurface, MbJoinSurface, MbGridSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbExpansionSurface, MbEvolutionSurface, MbElevationSurface, MbCylinderSurface, MbCurveBoundedSurface, MbCoverSurface, MbCornerSurface, MbCoonsPatchSurface, MbConeSurface и MbChamferSurface.
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по углу отклонения касательной вдоль линии с постоянным значением u. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы угловое отклонение касательной к кривой в следующей точке не превышало заданную величину ang.
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | ang | - Максимально допустимый угол отклонения касательной. |
Переопределяется в MbSplineSurface, MbOffsetSurface, MbLoftedSurface, MbExpansionSurface, MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbJoinSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbConeSurface, MbChamferSurface, MbMeshSurface, MbGridSurface, MbGregorySurface, MbCoverSurface, MbCornerSurface и MbCoonsPatchSurface.
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по углу отклонения касательной вдоль линии с постоянным значением v. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы угловое отклонение касательной к кривой в следующей точке не превышало заданную величину ang.
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | ang | - Максимально допустимый угол отклонения касательной. |
Переопределяется в MbSplineSurface, MbOffsetSurface, MbLoftedSurface, MbExpansionSurface, MbElevationSurface, MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbJoinSurface, MbFilletSurface, MbExtrusionSurface, MbExplorationSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbConeSurface, MbChamferSurface, MbMeshSurface, MbGridSurface, MbCoverSurface, MbCornerSurface и MbCoonsPatchSurface.
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по заданной метрической длине шага вдоль линии с постоянным значением u.
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | len | - Заданная метрическая длина. |
Переопределяется в MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectionSurface, MbRevolutionSurface, MbPlane, MbJoinSurface, MbExtrusionSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface и MbConeSurface.
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по заданной метрической длине шага вдоль линии с постоянным значением v.
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | len | - Заданная метрическая длина. |
Переопределяется в MbTorusSurface, MbSpiralSurface, MbSphereSurface, MbSectorSurface, MbSectionSurface, MbRuledSurface, MbRevolutionSurface, MbPlane, MbFilletSurface, MbExtrusionSurface, MbEvolutionSurface, MbCylinderSurface, MbCurveBoundedSurface, MbConeSurface и MbChamferSurface.
double MbSurface::SurfaceStep | ( | const double & | u, |
const double & | v, | ||
bool | alongU, | ||
const MbStepData & | stepData | ||
) | const |
Вычислить шаг параметра.
Вычислить шаг одного из параметров для аппроксимации поверхности или по угловому отклонению нормали, или по величине прогиба, или по метрической длине.
[in] | u | - Первый параметр поверхности. |
[in] | v | - Второй параметр поверхности. |
[in] | alongU | - Вдоль первого (true) или второго (false) параметра поверхности. |
[in] | stepData | - Данные для вычисления шага. |
MbeNewtonResult NearestPoints | ( | const MbSurface & | surface, |
bool | ext0, | ||
const MbCurve3D & | curve, | ||
bool | ext1, | ||
double & | u0, | ||
double & | v0, | ||
double & | t0, | ||
double & | dmin, | ||
bool | t0Calculated = false |
||
) |
Вычислить параметры ближайших точек поверхности и кривой.
Вычислить параметры ближайших точек поверхности и кривой и расстояние между этими точками.
[in] | surface | - Поверхность. |
[in] | ext0 | - Признак поиска на продолжении поверхности. |
[in] | curve | - Кривая. |
[in] | ext1 | - Признак поиска на продолжении кривой. |
[in,out] | u0 | - Параметр u точки поверхности. |
[in,out] | v0 | - Параметр v точки поверхности. |
[in,out] | t0 | - Параметр точки кривой. |
[out] | dmin | - Расстояние между точками. |
[in] | tCalc | - Флаг инициялизации t0 если true, то входные параметры u0, v0, t0 считаются начальными приближениями. |
MbeNewtonResult NearestPoints | ( | const MbSurface & | surface0, |
bool | ext0, | ||
const MbSurface & | surface1, | ||
bool | ext1, | ||
double & | u0, | ||
double & | v0, | ||
double & | u1, | ||
double & | v1, | ||
double & | dmin, | ||
bool | checkCurvilinearBounds | ||
) |
Вычислить параметры ближайших точек поверхностей.
Вычислить параметры ближайших точек поверхностей и расстояние между этими точками.
[in] | surface0 | - Поверхность. |
[in] | ext0 | - Признак поиска на продолжении поверхности surface0. |
[in] | surface1 | - Поверхность. |
[in] | ext1 | - Признак поиска на продолжении поверхности surface1. |
[out] | u0 | - Параметр u точки поверхности surface0. |
[out] | v0 | - Параметр v точки поверхности surface0. |
[out] | u1 | - Параметр u точки поверхности surface1. |
[out] | v1 | - Параметр v точки поверхности surface1. |
[out] | dmin | - Расстояние между точками поверхностей. |
[in] | checkCurvilinearBounds | - Всегда проверять по криволинейным границам (если они есть). |