Используя Геометрию Лица, Края, или Вершины
Вызовите функции get* соответствующий и инициализированный объект AcBr, чтобы создать связанный AcGeSurface, AcGeCurve3d, или AcGePoint3d.
Используя Данные Сети Brep, Комплекса, Оболочки, или Лица
Создайте AcBrMesh2dFilter, используя соответствующий объект AcBr и объект AcBrMesh2dControl, и запрос генерируют () на инициализированном объекте AcBrMesh2d, чтобы генерировать поверхностную сеть. Эта сеть может быть пересечена, чтобы обратиться к узловой геометрии и другим данным.
Использование Топологического Traversers в Вашей Программе
Traversers используются, чтобы идти через топологическую структуру твердых.
Они являются или глобальной переменной или иерархические.
Глобальные Исследования
Глобальная переменная traversers (типа AcBrBrepFaceTraverser и AcBrBrepEdgeTraverser) обеспечивает способность пересечь все топологические объекты в твердом (комплексы, оболочки, лица, грани, вершина).
Иерархические (Местные) Исследования
Иерархический traversers обеспечивают способность идти через местные области твердых, или нисходящего или восходящего. Несколько из этих traversers, типа AcBrLoopEdgeTraverser и AcBrLoopVertexTraverser, также обеспечивают запросы, чтобы различить между множественными использованиями того же самого края или вершины.
Например, край имеет, никакое свойственное знание которого лицо это упомянуто от. Так, параметр изгибает данные, который зависит от основной поверхности, на которой край определен, делается запрос от AcBrLoopEdgeTraverser.
Вниз иерархический traversers дают доступ к топологически смежным подпримитивам, которые составляют границу данного топологического объекта (то есть traverser перечисляют владельца).
От Топологического 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). |
От сети нитей к сети объектов
Сеть traversers представляет списки смежных вершин объектов сети, которые связаны в контексте объекта сети более высокий измерение.
Сеть traversers
Class | Objects |
AcBrMesh2dElement2dTraverser | AcBrMesh2d (owner) AcBrElement2d (position) |
AcBrElement2dNodeTraverser | AcBrElement2d (owner) AcBrNode (position) |
Каждый специфический тип traverser выставляет, и объект, который это использует для контекста (то есть владелец списка смежных вершин) и объект, на который это в настоящее время указывает (то есть позиция списка смежных вершин) с функциями set* и get*.
MeshElement обход | Этот класс определяет функции, которые являются подходящими для 2-ого элемента. Это используется, чтобы отобрать убывающий иерархический обход 2-ой сети, или пересекать все уникальные 2-ые элементы и узлов в 2-ой сети. |
ElementNode обход | Этот класс определяет функции, которые являются подходящими для узла в контексте 2-ого элемента. Это используется, чтобы получить доступ к данным узла и геометрии первоначальной поверхности, типа поверхностных нормалей и пар параметра UV. Узлы используются больше чем одним элементом сети и могут быть связаны с больше чем одной поверхностью с тех пор имеется совместное использование узла в общих границах первоначальных поверхностей. |
AcBr Описания Класса
AcBr библиотека составлена из нескольких функциональных компонентов. Все функции, возводящие в степень объекты AcBr передают их как ссылки. Следовательно, образец AcBrFace класса, должно быть, был создан перед запросом getFace () функция от traverser или цикла.
Классы Примитива
Объекты Контурного представления типично формируются, используя по умолчанию AcBr конструктор и затем инициализированы или с набором () функция или с traverser и одной из его функций get*.
Весь AcBr классифицирует конструкторы копии поддержки; операторы назначения; isEqualTo (), isNull (), и набор () и получают () семантику; и другие функции и запросы.
Классы примитива включают следующее:
§ AcBrEntity
§ AcBrBrep
§ AcBrComplex
§ AcBrShell
§ AcBrFace
§ AcBrLoop
§ AcBrEdge
§ AcBrVertex
Классы Сдерживания
Объекты Сдерживания никогда не сформированы непосредственно пользователем. Они возвращены запросами сдерживания линии на примитивах, полученных из AcBrEntity.
AcBrHit класс - класс сдерживания.
Классы Сети
Объекты Сети никогда не сформированы непосредственно пользователем, кроме где отмечено в ObjectARX Ссылке. Они возвращены запросами обхода сети.
Классы сети включают следующее:
§ AcBrMeshEntity
§ AcBrMesh
§ AcBrMesh2d
§ AcBrElement
§ AcBrElement2d
§ AcBrNode
§ AcBrMesh2dFilter
§ AcBrMeshControl
§ AcBrMesh2dControl
Traverser Классы
Traverser объекты типично формируются, используя по умолчанию AcBrTraverser* конструктор и затем инициализируя с одной из функций set*. Обратите внимание, что владелец списка должен быть установлен прежде, чем позиция списка может быть установлена независимо, обеспечивать контекст.
Все классы, полученные из AcBrTraverser поддерживают конструкторы копии, операторы назначения, isEqualTo (), и isNull (), наряду с общими функциями обхода.
Функции инициализатора семантически связаны к типам AcBr, соответствующим к определенному traverser (то есть два типа, содержащиеся в полученном traverser имени класса, типа AcBrBrep и AcBrEdge для AcBrBrepEdgeTraverser).
Все функции инициализатора сбрасывают критерии для следующего () и сделанного (). Они относятся к общим алгоритмическим категориям следующим образом:
§ setListOwnerAndCurrentPosition от другого traverser, используя его владельца списка как текущая позиция и его текущая позиция, поскольку владелец списка (то есть меняет владельца списка и текущую позицию). Этот алгоритм только имеет силу для отображения между связанным traversers типа AcBrLoopEdgeTraverser и AcBrEdgeLoopTraverser.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |


