ГОСТ Р ИСО 10303-511—2006
paгаmetric_representation_context;
pcurve;
plane;
polyline;
quasi_uniform_curve;
quasi_uniform_surface;
ralional_b_spline_curve;
rational_b_spline_surface;
spherical_surface;
surface_of_linear_extrosion;
surface_of_revolution;
toroidal_surface;
uniform_curve;
uniform_surface;
vector;
vertexjoop;
vertex_point.
Прикладной протокол, использующийданную ПИК. должен требовать, чтобы поддерживалисьвсе
вышеперечисленные объекты.
Прикладной протокол, использующийданную ПИК.должен требовать, чтобы объектface реализо
вывался какобъект advanced_face.
4.2Определение объекта advanced_face схемы aic_topologically_bounded_surfaco
Объектadvancod_face являетсяспециальнымтипомобъектаface_surface. который имеет допол
нительные ограничения с тем, чтобы гарантироватьто, что геометрия прямо и полностью определена.
Объект advanced_face является объектом верхнего уровня, который используетсядля формулировки
точного смысла топологически ограниченной поверхности, соответствующей области применения
данной ПИК.
Требуется, чтобы объект advanced_faco был полностью ограничен посредством объектов
edgejoop или vertexjoop.
Тип face_outer_bound может иметь не более одной границы (объект bound) грани.
П р и м е ч а н и е — Для некоторых типов замкнутых или частично замкнутых поверхностей может оказаться
невозможным установить единственную внешнюю границу.
Примеры
1 Любой объект ed gejoo p на плоской поверхност и может использоват ься для определения объ
екта tace_outer_bound при условии, что он не заключен в какой-либо другой замкнутой цепи на грани.
2 Окружная замкнутая петля вокруг цилиндрической поверхност и (объект cyllndrlcal_surtace) не
может определять объект face_ouler_bound. так как онанеокружает замкнутую область поверхности.
EXPRESS-спецификация
*)
ENTITY advancedJace
SUBTYPE OF (face_surface);
WHERE
WR1 : SIZEOF ([’AIC_TOPOLOGICALLY_BOUNDED_SURFACE.ELEMENTARY_SURFACE\
’AIC_TOPOLOGICALLY_BOUNDED_SURFACE.B_SPLINE_SURFACE\
’AIC_TOPOLOGICALLY_BOUNDED_ SURFACE.SWEPT_SURFACE’] *
TYPEOF(face_geometry)) = 1;
WR2:S!ZEOF(QUERY (elpjbnds <*QUERY (bnds <* bounds |
’AIC_TOPOLOGICALLY_BOUNDED_SURFACE.EDGE_LOOP’IN
TYPEOF(bnds.bound)) |NOT (SIZEOF (QUERY
(oe <* elpJbnds.bound\path.edgeJist |
NOTCAIC_TOPOLOGICALLY_BOUNDED_SURFACE.EDGE_CURVE’IN
TYPEOF(oe\oriented_edge.edge_element)))) =0)))= 0;
WR3;SIZEOF(QUERY (elpjbnds <*QUERY (bnds <* bounds |
’AIC_TOPOLOGICALLY_BOUNDED_SURFACE.EDGE_LOOP’ IN
TYPEOF(bnds.boundi) |
5