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



         

Оболочка (Shell)


Оболочка - список лиц, которые могли бы быть связаны и могут иметь отверстия в них.

Оболочка определена числом уникальной вершины, список вершины (pVertexList), число лиц (faceListSize), и списка лица, который состоит из числа точек в данном лице, сопровождаемом индексом в списке вершины каждой вершины для того лица. Cигнатура для Shell () функция

virtual Adesk::Boolean

AcGiWorldGeometry::shell(

const Adesk::UInt32 nbVertex,

const AcGePoint3d* pVertexList,

const Adesk::UInt32 faceListSize,

const Adesk::Int32* pFaceList,

const AcGiEdgeData* pEdgeData = NULL,

const AcGiFaceData* pFaceData = NULL,

const AcGiVertexData* pVertexData = NULL

const struct

resbuf*pResBuf = NULL) const = 0;

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

AcGi многоугольники и оболочки с лицами пять или большим количеством сторон также разрушены в треугольники прежде, чем послались, чтобы быть отображенным. Наличие AcGi триангулирует многоугольник, или лицо оболочки может быть дорогостоящее в терминах памяти и скорости, так что это рекомендует, чтобы Вы использовали три - или четыре - sided лица в оболочках, чтобы создать лица или многоугольники с пять или большее количество сторон. Тем путем, примитив не будет помещен через медленный шаг триангуляции.

ОБРАТИТЕ ВНИМАНИЕ, что  триангуляция используется только на многоугольниках пяти сторон или больше, лица оболочки пяти сторон или больше, лица оболочки с отверстиями, и заполнена текст.

Вершина в данном лице должна быть компланарна. Не имеется никакой подразумеваемой связности между лицами.

Данные Края для оболочки перечислены в порядке, подразумеваемом списком лица. Например, в первом лице, vertex0 к vertex1 определяет,  первый край, vertex1 к vertex2 определяет второй край, и так далее до последней вершины лица, которое соединяется с первой вершиной, как показано ниже.




Содержание  Назад  Вперед