C3D Kernel  102057
Классы | Функции
Двумерные кривые
Геометрические объекты
Граф связей класса Двумерные кривые:

Классы

class  MbArc
 Дуга эллипса в двумерном пространстве. Подробнее...
class  MbBezier
 Сплайн Безье в двумерном пространстве. Подробнее...
class  MbCharacterCurve
 Двумерная кривая, координатные функции которой заданы в символьном виде. Подробнее...
class  MbContour
 Контур в двумерном пространстве. Подробнее...
class  MbContourWithBreaks
 Контур c разрывами. Подробнее...
class  MbCosinusoid
 Косинусоида в двумерном пространстве. Подробнее...
class  MbCubicSpline
 Кубический сплайн в двумерном пространстве. Подробнее...
class  MbHermit
 Составной кубический сплайн Эрмитa в двумерном пространстве. Подробнее...
class  MbLine
 Прямая в двумерном пространстве. Подробнее...
class  MbLineSegment
 Отрезок прямой в двумерном пространстве. Подробнее...
class  MbNurbs
 NURBS кривая в двумерном пространстве. Подробнее...
class  MbOffsetCurve
 Эквидистантная продолженная кривая. Подробнее...
class  MbPointCurve
 Кривая, вырожденная в точку. Подробнее...
class  MbPolyCurve
 Кривая в двумерном пространстве, заданная точками. Подробнее...
class  MbPolyline
 Ломаная линия в двумерном пространстве. Подробнее...
class  MbReparamCurve
 Репараметризованная кривая в двумерном пространстве. Подробнее...
class  MbTrimmedCurve
 Усеченная кривая в двумерном пространстве. Подробнее...
class  MbCurve
 Кривая в двумерном пространстве. Подробнее...

Функции

bool CreateOffsetElliptic (const MbArc &curve, double rad, RPArray< MbCurve > &segments, size_t &count, bool setArcLimits=false)
 Создание эквидистантной кривой (дуги) эллипса c разными полуосями с учетом самопересечений.
void EllipticWrite (writer &out, const MbArc *curve)
 Запись в поток для старых версий.
void TrimmedWrite (writer &out, const MbTrimmedCurve *curve)
 Запись в поток для старых версий.

Функции для работы в области определения кривой.

Функции PointOn, FirstDer, SecondDer, ThirdDer,... корректируют параметр при выходе его за пределы области определения. Исключение составляет MbLine (прямая).

virtual void MbCurve::PointOn (double &t, MbCartPoint &p) const =0
 Вычислить точку на кривой.
virtual void MbCurve::FirstDer (double &t, MbVector &v) const =0
 Вычислить первую производную.
virtual void MbCurve::SecondDer (double &t, MbVector &v) const =0
 Вычислить вторую производную.
virtual void MbCurve::ThirdDer (double &t, MbVector &v) const =0
 Вычислить третью производную.
void MbCurve::Tangent (double &t, MbVector &v) const
 Вычислить касательный вектор (нормализованный).
void MbCurve::Tangent (double &t, MbDirection &d) const
 Вычислить касательный вектор (нормализованный).
void MbCurve::Normal (double &t, MbVector &v) const
 Вычислить вектор главной нормали (нормализованный).
void MbCurve::Normal (double &t, MbDirection &d) const
 Вычислить вектор главной нормали (нормализованный).

Функции для работы внутри и вне области определения кривой.

Функции _PointOn, _FirstDer, _SecondDer, _ThirdDer,... не корректируют параметр при выходе за пределы области определения. При выходе за область определения незамкнутая кривая, в общем случае, продолжается по касательной, которую она имеет на соответствующем конце. Исключение составляют дуги эллипса и окружности - они продолжаются в соответствии со своими уравнениями.

virtual void MbCurve::_PointOn (double t, MbCartPoint &p) const
 Вычислить точку на кривой и её продолжении.
virtual void MbCurve::_FirstDer (double t, MbVector &v) const
 Вычислить первую производную на кривой и её продолжении.
virtual void MbCurve::_SecondDer (double t, MbVector &v) const
 Вычислить вторую производную на кривой и её продолжении.
virtual void MbCurve::_ThirdDer (double t, MbVector &v) const
 Вычислить третью производную на кривой и её продолжении.
void MbCurve::_Tangent (double t, MbVector &v) const
 Вычислить касательный вектор (нормализованный).
void MbCurve::_Tangent (double t, MbDirection &d) const
 Вычислить касательный вектор (нормализованный).
void MbCurve::_Normal (double t, MbVector &v) const
 Вычислить вектор главной нормали (нормализованный) на кривой и её продолжении.
void MbCurve::_Normal (double t, MbDirection &d) const
 Вычислить вектор главной нормали (нормализованный) на кривой и её продолжении.
virtual void MbCurve::Explore (double &t, bool ext, MbCartPoint &pnt, MbVector &fir, MbVector *sec, MbVector *thir) const
 Вычислить значения точки и производных для заданного параметра.

Функции

bool CreateOffsetElliptic ( const MbArc curve,
double  rad,
RPArray< MbCurve > &  segments,
size_t &  count,
bool  setArcLimits = false 
)

Создание эквидистантной кривой (дуги) эллипса c разными полуосями с учетом самопересечений.
Для (дуги) окружности не предназначена - выходит с флагом true, ничего не создавая.

void EllipticWrite ( writer out,
const MbArc curve 
)

Запись в поток для старых версий.

void TrimmedWrite ( writer out,
const MbTrimmedCurve curve 
)

Запись в поток для старых версий.

virtual void MbCurve::PointOn ( double &  t,
MbCartPoint p 
) const [pure virtual]

Скорректировать параметры при выходе их за пределы области определения и вычислить точку на кривой.

Аргументы:
[in]t- Параметр curve.
[out]p- Вычисленная точка на кривой.

Замещается в MbArc, MbBezier, MbCharacterCurve, MbContour, MbCosinusoid, MbCubicSpline, MbHermit, MbLine, MbLineSegment, MbNurbs, MbOffsetCurve, MbPointCurve, MbPolyCurve, MbPolyline, MbProjCurve, MbReparamCurve и MbTrimmedCurve.

virtual void MbCurve::_PointOn ( double  t,
MbCartPoint p 
) const [virtual]

Вычислить точку на кривой в том числе и за пределами области определения параметрa.

Аргументы:
[in]t- Параметр curve.
[out]p- Вычисленная точка на кривой.

Переопределяется в MbArc, MbContour, MbCosinusoid, MbHermit, MbLine, MbLineSegment, MbOffsetCurve, MbPointCurve, MbProjCurve, MbReparamCurve и MbTrimmedCurve.

virtual void MbCurve::Explore ( double &  t,
bool  ext,
MbCartPoint pnt,
MbVector fir,
MbVector sec,
MbVector thir 
) const [virtual]

Значения точки и производных вычисляются в пределах области определения и на расширенной кривой.

Аргументы:
[in]t- Параметр.
[in]ext- В пределах области определения (false), на расширенной кривой (true).
[out]pnt- Точка.
[out]fir- Производная.
[out]sec- Вторая производная по t, если не ноль.
[out]thir- Третья производная по t, если не ноль.

Переопределяется в MbArc, MbBezier, MbCharacterCurve, MbContour, MbCosinusoid, MbCubicSpline, MbHermit, MbLine, MbLineSegment, MbNurbs, MbOffsetCurve, MbPointCurve, MbPolyCurve, MbPolyline, MbProjCurve, MbReparamCurve и MbTrimmedCurve.

 Указатель Классы Пространства имен Файлы Функции Переменные Определения типов Перечисления Элементы перечислений Друзья Макросы