C3D Toolkit  Kernel - 106477, Vision - 190409.106477
+ Граф связей класса Двумерные кривые:

Классы

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
 Вычислить значения точки и производных для заданного параметра. Подробнее...
 

Подробное описание

Функции

◆ CreateOffsetElliptic()

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

Создание эквидистантной кривой (дуги) эллипса c разными полуосями с учетом самопересечений.

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

◆ EllipticWrite()

void EllipticWrite ( writer out,
const MbArc curve 
)

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

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

◆ TrimmedWrite()

void TrimmedWrite ( writer out,
const MbTrimmedCurve curve 
)

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

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

◆ PointOn()

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

Вычислить точку на кривой.

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

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

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

◆ _PointOn()

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

Вычислить точку на кривой и её продолжении.

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

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

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

◆ Explore()

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, если не ноль.

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