ObjectARX, AutoCAD. Среда программирования библиотеки C++

От Топологического Traversers до Объектов


Traversers  - пересечение, обход, кромка

Топологический traversers представляют списки смежных вершин топологических объектов, которые связаны в контексте топологического объекта с  более высоким измерением.

Каждый специфический тип traverser выставляет, и объект, который это использует для контекста (то есть владелец списка смежных вершин) и объект, на который это в настоящее время указывает (то есть позиция списка смежных вершин) с функциями set* и get*.

Топологический traversers

Class

Objects

AcBrBrepComplexTraverser



AcBrBrep (owner)

AcBrComplex (position)

AcBrBrepShellTraverser

AcBrBrep (owner)

AcBrShell (position)

AcBrBrepFaceTraverser

AcBrBrep (owner)

AcBrFace (position)

AcBrBrepEdgeTraverser

AcBrBrep (owner)

AcBrEdge (position)

AcBrBrepVertexTraverser

AcBrBrep (owner)

AcBrVertex (position)

AcBrShellFaceTraverser

AcBrShell (owner) 

AcBrFace (position)

AcBrFaceLoopTraverser

AcBrFace (owner) 

AcBrLoop (position)

AcBrLoopEdgeTraverser

AcBrLoop (owner) 

AcBrEdge (position)

AcBrLoopVertexTraverser

AcBrLoop (owner) 

AcBrVertex (position)

AcBrVertexLoopTraverser

AcBrVertex (owner) 

AcBrLoop (position)

AcBrVertexEdgeTraverser

AcBrVertex (owner)

AcBrEdge (position)

AcBrEdgeLoopTraverser

AcBrEdge (owner) 

AcBrLoop (position)

Вершина для граней

Край может иметь в большинстве двух вершины. Они выставлены явными функциями в AcBrEdge классе (см. следующий раздел), поскольку traverser был бы расточителен для такой тривиальной смежности.

Вершина для циклов

Цикл может иметь много вершины, но может иметь только один (в случае единственного края, или в случае особенности, где не имеется никакой геометрии края, типа вершины конуса). LoopVertex обход охватывает оба общий список границ вершины на лице также как особенностях. Этот список может быть более экономический чем формирование дампа граней на цикле, если единственная вещь, представляющая интерес - геометрия точки для границы лица.

EdgeLoop обход

Этот класс определяет функции, которые связаны с радиальным упорядочением лиц, которые совместно используют общий край. Чтобы обеспечивать самую плотную связь к обходам списка края (AcBrLoopEdgeTraverser), лицо представлено его границей цикла в общедоступном крае. SetEdgeAndLoop () функция устанавливает владельца края и исходную позицию цикла. SetEdge () функция устанавливает владельца края и исходную позицию цикла. Позиция цикла не может быть установлена отдельно от края, поскольку радиальные обходы должны быть с сильной связью с лицо-контекстными списками края (то есть AcBrLoopEdgeTraverser).

VertexLoop обход

Этот класс определяет функции, которые связаны с радиальным упорядочением лиц, которые совместно используют общую вершину. Чтобы обеспечивать самую плотную связь к обходам списка края (AcBrLoopEdgeTraverser), лицо представлено его границей цикла в общедоступной вершине. SetVertexAndLoop () функция устанавливает владельца вершины и исходную позицию цикла. SetVertex () функция устанавливает владельца вершины и устанавливает исходную позицию цикла. Позиция цикла не может быть установлена отдельно от вершины, поскольку радиальные обходы должны быть с сильной связью с лицо-контекстными списками вершины (то есть AcBrLoopVertexTraverser).



Содержание раздела