C3D Kernel  104065
Классы | Определения типов | Функции
Файл action_point.h

Функции создания точек. Подробнее...

Классы

class  MbSpaceParamPnt
 Пространственно-параметрическая точка. Подробнее...

Определения типов

typedef std::pair
< MbSpaceParamPnt,
c3d::UintPair
MbLocPnt
 Пространственно-параметрическая точка с индексированным положением.

Функции

template<class Type >
SArray< Type > * CreateArray (size_t cnt, MbResultType &res)
 Создать массив.
template<class Type >
bool ReserveArray (SArray< Type > &arr, size_t n, MbResultType &res)
 Выделить в массиве память под n элементов.
template<class Type >
bool AddItem (SArray< Type > &arr, const Type &item, MbResultType &res)
 Добавить в массив элемент.
MbResultType PointsOnSurface (const MbSurface &surface, MbeStepType stepType, double uValue, double vValue, bool truncateByBounds, RPArray< SArray< MbLocPnt > > &result)
 Создать точки на поверхности.
MbResultType PointsOnSurface (const MbSurface &surface, MbeItemGridType &gridType, const MbCartPoint &uv0, double angle, MbeStepType stepType, double step1, double step2, bool truncateByBounds, RPArray< SArray< MbLocPnt > > &result, size_t maxPntsCnt=c3d::ARRAY_MAX_COUNT)
 Создать точки на поверхности.
void DefinePointsOnSurfaceCounts (const MbSurface &surface, size_t &uPntsCnt, size_t &vPntsCnt)
 Определить умолчательную разбивку поверхности.
MbeNewtonResult IntersectionPoint (const MbSurface &surf0, bool ext0, const MbSurface &surf1, bool ext1, const MbSurface &surf2, bool ext2, MbCartPoint &uv0, MbCartPoint &uv1, MbCartPoint &uv2)
 Найти точку пересечения трех поверхностей.
void IntersectionPoints (const MbSurface &surf, bool surfExt, const MbCurve3D &curv, bool curveExt, SArray< MbCartPoint > &uv, SArray< double > &tt, bool touchInclude=false)
 Найти все точки пересечения поверхности и кривой.
bool LineLineNearestParams (const MbCartPoint3D &origin1, const MbVector3D &direction1, const MbCartPoint3D &origin2, const MbVector3D &direction2, double &t1, double &t2)
 Определить параметры ближайших точек прямых.
double LineLineNearestPoints (const MbLine3D &line1, const MbLine3D &line2, MbCartPoint3D &p1, MbCartPoint3D &p2)
 Определение расстояния между ближайшими точками p1 и p2 прямых line1 и line2.
bool LineLineNearestParams (const MbCartPoint &origin1, const MbVector &direction1, const MbCartPoint &origin2, const MbVector &direction2, double &t1, double &t2)
 Определить параметры ближайших точек прямых.
void FastLineLine (const MbLine &line1, const MbLine &line2, MbCartPoint &result)
 Найти точку пересечения двух прямых.
int LineLine (const MbLine &line1, const MbLine &line2, MbCartPoint &result)
 Найти точку пересечения двух прямых.
int LineLine (const MbLine &line1, const MbLine &line2, MbCrossPoint &result)
 Найти точку пересечения двух прямых.
int LineLineSeg (const MbLine &line, const MbLineSegment &lseg, MbCrossPoint &result)
 Найти точку пересечения прямой и отрезка.
int LineCircle (const MbLine &line, const MbCartPoint &centre, double radius, MbCrossPoint *result)
 Найти точки пересечения прямой и окружности.
ptrdiff_t IntersectTwoCurves (const MbCurve &pCurve1, const MbCurve &pCurve2, SArray< MbCrossPoint > &result, bool touchInclude=true, double epsilon=Math::LengthEps *c3d::METRIC_DELTA, bool allowInaccuracy=true)
 Найти точки пересечения двух кривых.
ptrdiff_t CurveCurveIntersection (const MbCurve &curve1, const MbCurve &curve2, SArray< double > &result1, SArray< double > &result2, double xEpsilon, double yEpsilon, bool touchInclude, bool allowInaccuracy=true)
 Найти точки пересечения двух кривых.
void CurveSelfIntersect (const MbCurve &curve, double xEpsilon, double yEpsilon, SArray< double > &result1, SArray< double > &result2, VERSION version=Math::DefaultMathVersion())
 Найти точки самопересечения кривой.
void RemoveAllTouchParams (const MbCurve &curve1, const MbCurve &curve2, SArray< MbCrossPoint > &result, double eps=PARAM_NEAR)
 Удалить точки касания.
ptrdiff_t CurveCurveIntersection (const MbCurve3D &curve1, const MbCurve3D &curve2, SArray< double > &result1, SArray< double > &result2, double mEps=Math::metricRegion)
 Найти точки пересечения двух кривых.
bool IsSelfIntersect (const MbCurve3D &curve, double mEps=Math::metricRegion)
 Проверить кривую на самопересечение.
void FilterTouchParams (const MbCurve3D &curve1, const MbCurve3D &curve2, SArray< double > &result1, SArray< double > &result2, double mEps=Math::metricRegion)
 Убрать касательные точки пересечения.
ptrdiff_t CurveCurveCrossing (const MbCurve3D &curve1, const MbCurve3D &curve2, SArray< double > &result1, SArray< double > &result2, double epsilon=Math::metricRegion)
 Найти точки скрещения двух кривых.
bool PointProjectionRelativeOuterLoop (const MbSurface &surface, const MbCartPoint3D &pnt, bool byOuterRectOnly, MbCartPoint &result)
 Найти проекцию точки на поверхность относительно внешнего контура поверхности.
bool IsMultipleProjection (const MbSurface &surface, const MbCartPoint3D &result)
 Является ли проекция точки точно неоднозначной.

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

Функции, использующие в качестве выходных параметров точки или массивы точек.

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