|
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) |
| Вычислить параметры ближайших точек поверхностей. Подробнее...
|
|
DEPRECATE_DECLARE MbeNewtonResult | NearestPoints (const MbSurface &surface0, bool ext0, const MbSurface &surface1, bool ext1, double &u0, double &v0, double &u1, double &v1, double &dmin) |
| Вычислить параметры ближайших точек поверхностей. Подробнее...
|
|
|
Функции PointOn, Derive... поверхностей корректируют параметры при выходе их за пределы прямоугольной области определения параметров.
Исключения составляют:
- MbPlane (плоскость)
Функции PointOn, Derive... плоскости не корректируют параметры при выходе их за пределы прямоугольной области определения параметров.
- MbSmoothSurface и её наследники (поверхности скругления или фаски)
Функции 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 для проверки событий.
|
|
Вычислить значения точки и производных для заданных параметров.
Значения точки и производных вычисляются в пределах области определения и на расширенной поверхности.
- Аргументы
-
[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, если не ноль. |
Переопределяется в MbSplineSurface, MbMeshSurface, MbJoinSurface, MbSectionSurface, MbOffsetSurface, MbPlane, MbLoftedSurface, MbCoonsPatchSurface, MbGridSurface, MbFilletSurface, MbConeSurface, MbCurveBoundedSurface, MbCylinderSurface, MbRevolutionSurface, MbTorusSurface, MbEvolutionSurface, MbRuledSurface, MbSphereSurface, MbCoverSurface, MbCornerSurface, MbChamferSurface, MbSmoothSurface, MbElevationSurface, MbSpiralSurface, MbExpansionSurface, MbGregorySurface, MbExactionSurface, MbPolySurface, MbExtrusionSurface, MbSectorSurface, MbExplorationSurface, MbElementarySurface и MbSweptSurface.
virtual double MbSurface::StepU |
( |
double |
u, |
|
|
double |
v, |
|
|
double |
sag |
|
) |
| const |
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по величине прогиба вдоль линии с постоянным значением v. Вычисление шага проходит с учетом радиуса кривизны. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы отклонение кривой от ее полигона не превышало заданную величину прогиба.
- Аргументы
-
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | sag | - Максимально допустимая величина прогиба. |
- Возвращает
- Величина шага по параметру в заданной точке.
Переопределяется в MbSplineSurface, MbMeshSurface, MbJoinSurface, MbSectionSurface, MbOffsetSurface, MbPlane, MbLoftedSurface, MbCoonsPatchSurface, MbGridSurface, MbFilletSurface, MbConeSurface, MbCurveBoundedSurface, MbCylinderSurface, MbRevolutionSurface, MbTorusSurface, MbEvolutionSurface, MbRuledSurface, MbSphereSurface, MbCoverSurface, MbCornerSurface, MbChamferSurface, MbSpiralSurface, MbExpansionSurface, MbGregorySurface, MbExtrusionSurface, MbSectorSurface, MbExplorationSurface и MbElementarySurface.
virtual double MbSurface::StepV |
( |
double |
u, |
|
|
double |
v, |
|
|
double |
sag |
|
) |
| const |
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по величине прогиба вдоль линии с постоянным значением u. Вычисление шага проходит с учетом радиуса кривизны. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы отклонение кривой от ее полигона не превышало заданную величину прогиба.
- Аргументы
-
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | sag | - Максимально допустимая величина прогиба. |
- Возвращает
- Величина шага по параметру в заданной точке.
Переопределяется в MbSplineSurface, MbMeshSurface, MbJoinSurface, MbSectionSurface, MbOffsetSurface, MbPlane, MbLoftedSurface, MbCoonsPatchSurface, MbGridSurface, MbFilletSurface, MbConeSurface, MbCurveBoundedSurface, MbCylinderSurface, MbRevolutionSurface, MbTorusSurface, MbEvolutionSurface, MbRuledSurface, MbSphereSurface, MbCoverSurface, MbCornerSurface, MbChamferSurface, MbElevationSurface, MbSpiralSurface, MbExpansionSurface, MbExtrusionSurface, MbSectorSurface, MbExplorationSurface и MbElementarySurface.
virtual double MbSurface::DeviationStepU |
( |
double |
u, |
|
|
double |
v, |
|
|
double |
angle |
|
) |
| const |
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по углу отклонения касательной вдоль линии с постоянным значением u. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы угловое отклонение касательной к кривой в следующей точке не превышало заданную величину ang.
- Аргументы
-
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | ang | - Максимально допустимый угол отклонения касательной. |
- Возвращает
- Величина шага по параметру в заданной точке.
Переопределяется в MbSplineSurface, MbMeshSurface, MbJoinSurface, MbSectionSurface, MbOffsetSurface, MbPlane, MbLoftedSurface, MbCoonsPatchSurface, MbGridSurface, MbFilletSurface, MbConeSurface, MbCurveBoundedSurface, MbCylinderSurface, MbRevolutionSurface, MbTorusSurface, MbEvolutionSurface, MbRuledSurface, MbSphereSurface, MbCoverSurface, MbCornerSurface, MbChamferSurface, MbSpiralSurface, MbExpansionSurface, MbGregorySurface, MbExtrusionSurface, MbSectorSurface, MbExplorationSurface и MbElementarySurface.
virtual double MbSurface::DeviationStepV |
( |
double |
u, |
|
|
double |
v, |
|
|
double |
angle |
|
) |
| const |
|
virtual |
Вычислить шаг параметра.
Вычислить шаг параметра для аппроксимации поверхности по углу отклонения касательной вдоль линии с постоянным значением v. Шаг аппроксимации вдоль кривой выбирается таким образом, чтобы угловое отклонение касательной к кривой в следующей точке не превышало заданную величину ang.
- Аргументы
-
[in] | u | - Параметр, определяющий точку на поверхности. |
[in] | v | - Параметр, определяющий точку на поверхности. |
[in] | ang | - Максимально допустимый угол отклонения касательной. |
- Возвращает
- Величина шага по параметру в заданной точке.
Переопределяется в MbSplineSurface, MbMeshSurface, MbJoinSurface, MbSectionSurface, MbOffsetSurface, MbPlane, MbLoftedSurface, MbCoonsPatchSurface, MbGridSurface, MbFilletSurface, MbConeSurface, MbCurveBoundedSurface, MbCylinderSurface, MbRevolutionSurface, MbTorusSurface, MbEvolutionSurface, MbRuledSurface, MbSphereSurface, MbCoverSurface, MbCornerSurface, MbChamferSurface, MbElevationSurface, MbSpiralSurface, MbExpansionSurface, MbExtrusionSurface, MbSectorSurface, MbExplorationSurface и MbElementarySurface.