C3D Toolkit
Kernel - 117936, Vision - 2.7.0.41
|
Классы | |
class | MbVertex |
Вершина. Подробнее... | |
class | MbEdge |
Ребро. Подробнее... | |
class | MbCurveEdge |
Ребро грани. Подробнее... | |
class | MbOrientedEdge |
Ориентированное ребро. Подробнее... | |
class | MbLoop |
Цикл грани. Подробнее... | |
struct | LoopCrossParam |
Параметр самопересечения циклов грани. Подробнее... | |
class | MbFace |
Грань. Подробнее... | |
class | MbFaceShell |
Множество граней или оболочка. Подробнее... | |
class | MbLabel |
Метка для выполнения операций. Подробнее... | |
class | MbTopItem |
Топологический объект в трехмерном пространстве. Подробнее... | |
class | MbTopologyItem |
Топологический объект с именем. Подробнее... | |
class | MbTopologyProxy |
Заменитель топологического объекта. Подробнее... | |
Перечисления | |
enum | MbeTopologyType { tt_Undefined = 0 , tt_TopItem = 1 , tt_Proxy = 10 , tt_Vertex = 101 , tt_Edge = 201 , tt_CurveEdge = 202 , tt_OrientedEdge = 203 , tt_Loop = 301 , tt_Face = 401 , tt_FaceShell = 501 , tt_FreeItem = 600 } |
Типы топологических объектов. Подробнее... | |
enum | MbeChangedType { tct_Unchanged = 0x0000 , tct_Modified = 0x0001 , tct_Created = 0x0002 , tct_Transformed = 0x0004 , tct_Reoriented = 0x0008 , tct_Deleted = 0x0010 , tct_Truncated = 0x0020 , tct_Merged = 0x0040 , tct_Replaced = 0x0080 , tct_Added = 0x0100 , tct_Renamed = 0x0200 } |
Типы состояний модификации топологического объекта. Подробнее... | |
Функции | |
double | MbFace::DistanceToBorder (const MbCartPoint &point, double &precision) const |
Найти параметрическое расстояние до ближайшей границы. Подробнее... | |
double | MbFace::DistanceToBorder (const MbCartPoint &point, MbVector &normal, size_t &loopNumber, size_t &edgeNumber, ptrdiff_t &corner, double &tEdgeCurve, double &precision) const |
Найти параметрическое расстояние до ближайшей границы. Подробнее... | |
MbeItemLocation | MbFace::NearPointProjection (const MbCartPoint3D &point, double &u, double &v, MbVector3D &normal, c3d::IndicesPair &edgeLoc, ptrdiff_t &corner) const |
Найти ближайшую проекцию точки на грань. Подробнее... | |
virtual void | MbTopologyItem::Transform (const MbMatrix3D &matr, MbRegTransform *iReg=nullptr)=0 |
Преобразовать согласно матрице. Подробнее... | |
virtual void | MbTopologyItem::Move (const MbVector3D &to, MbRegTransform *iReg=nullptr)=0 |
Сдвинуть вдоль вектора. Подробнее... | |
virtual void | MbTopologyItem::Rotate (const MbAxis3D &axis, double angle, MbRegTransform *iReg=nullptr)=0 |
Повернуть вокруг оси. Подробнее... | |
enum MbeTopologyType |
Типы топологических объектов.
enum MbeChangedType |
Типы состояний модификации топологического объекта.
double MbFace::DistanceToBorder | ( | const MbCartPoint & | point, |
double & | precision | ||
) | const |
Найти параметрическое расстояние до ближайшей границы.
Найденное расстояние до ближайшей границы имеет положительное значение, если точка находится внутри, и отрицательное - если снаружи.
[in] | point | - Исследуемая точка. |
[out] | precision | - Погрешность вычислений. |
double MbFace::DistanceToBorder | ( | const MbCartPoint & | point, |
MbVector & | normal, | ||
size_t & | loopNumber, | ||
size_t & | edgeNumber, | ||
ptrdiff_t & | corner, | ||
double & | tEdgeCurve, | ||
double & | precision | ||
) | const |
Найти параметрическое расстояние до ближайшей границы.
Найденное расстояние до ближайшей границы имеет положительное значение, если точка находится внутри, и отрицательное - если снаружи.
[in] | point | - Проецируемая точка. |
[out] | normal | - Двумерная нормаль границы границы в ближайшей точке. |
[out] | loopNumber | - Индекс ближайшего цикла. |
[out] | edgeNumber | - Индекс ближайшего ребра в цикле. |
[out] | corner | - 0, если проекция не располагается на стыке ребер, 1, если проекция располагается в конце ориентированного ребра с индексом edgeLoc, -1, если проекция располагается в начале ориентированного ребра с индексом edgeLoc. |
[out] | tEdgeCurve | - Параметр кривой ближайшего ребра. |
[out] | precision | - Погрешность вычислений. |
MbeItemLocation MbFace::NearPointProjection | ( | const MbCartPoint3D & | point, |
double & | u, | ||
double & | v, | ||
MbVector3D & | normal, | ||
c3d::IndicesPair & | edgeLoc, | ||
ptrdiff_t & | corner | ||
) | const |
Найти ближайшую проекцию точки на грань.
Найти ближайшую проекцию точки p на поверхность грани или ее границу: ребро или вершину.
[in] | point | - Проецируемая точка. |
[out] | u | - Найденный первый параметр поверхности. |
[out] | v | - Найденный второй параметр поверхности. |
[out] | normal | - Нормаль поверхности или ее границы (ребра или вершины) в точке проекции. |
[out] | edgeLoc | - Если проекция не попала на ребро, то равен SYS_MAX_T, SYS_MAX_T. Если проекция попала на ребро, то индексы цикла и ребра в цикле. |
[out] | corner | - 0, если проекция не располагается на стыке ребер, 1, если проекция располагается в конце ориентированного ребра с индексом edgeLoc, -1, если проекция располагается в начале ориентированного ребра с индексом edgeLoc. |
|
pure virtual |
Преобразовать согласно матрице.
Преобразование объекта согласно матрице. Данный объект может содержаться указателем в нескольких других объектах, подлежащих преобразованию. Для предотвращения многократного преобразования данного объекта используется регистратор. При преобразовании объекта с использованием регистратора проверяется наличие объекта в регистраторе. Если такой объект отсутствует, то он заносится в регистратор и выполняется его преобразование, в противном случае преобразование данного объекта не выполняется.
[in] | matr | - Матрица преобразования. |
[in] | iReg | - Регистратор. |
Замещается в MbTopologyProxy, MbFace, MbEdge и MbVertex.
|
pure virtual |
Сдвинуть вдоль вектора.
Сдвинуть объект вдоль вектора. При преобразовании объекта с использованием регистратора проверяется наличие объекта в регистраторе. Если такой объект отсутствует, то он заносится в регистратор и выполняется его преобразование, в противном случае преобразование данного объекта не выполняется.
[in] | to | - Вектор сдвига. |
[in] | iReg | - Регистратор. |
Замещается в MbTopologyProxy, MbFace, MbEdge и MbVertex.
|
pure virtual |
Повернуть вокруг оси.
Повернуть объект вокруг оси на заданный угол. При преобразовании объекта с использованием регистратора проверяется наличие объекта в регистраторе. Если такой объект отсутствует, то он заносится в регистратор и выполняется его преобразование, в противном случае преобразование данного объекта не выполняется.
[in] | axis | - Ось вращения. |
[in] | angle | - Угол поворота. |
[in] | iReg | - Регистратор. |
Замещается в MbTopologyProxy, MbFace, MbEdge и MbVertex.