ГОСТ Р ИСО 10303-502—2006
либо cartesian_point. либо point_replica. а объект point_replica должен воспроизводить либо другой
объект point_replica. либо cartesian_point.
WR8 — вершина, которая определяет объект vertexjoop. используемый в качестве границы в
shell_based_wiroframe_modol, должна иметьтип vertex_point.
WR9 — в основе вершины, которая определяетобъект vertexjoop, используемый в качестве гра
ницы в shell_based_wiroframe_model, должен лежать объект cartesian_point или point_replica, а
объект point_replicaдолжен воспроизводитьлибо другойобъект point_replica. либо cartesian_point.
WR10 — вершина, которая определяет объект vertexjoop, используемый как vertex_shell_-
extentдля vertex_shell в shell_based_wireframe_model. должна быть vertex_point.
WR11 — в основе вершины, которая определяет объект vertexjoop. используемый как
vertex_shell_extent для объекта vertex_shell в shell_based_wireframe_model. должен лежать объект
cartesian_point или point_replica. а объект point_replica должен воспроизводить либо другой объект
point_replica, либо cartesian_point.
WR12 — если в объекте shell_based_wireframe_shape_representationимеется объект
mapped_ltem. то источником объекта mappedjtem должен быть объект shell_based_wireframe_-
shapo_representation.
WR13 — значение параметра coordinate_space_dimension объекта shell_based_wireframe_-
shape_representation должно быть равно трем.
4.4 Определения функций схемы aic_sholl_based_wireframe
4.4.1Функция valid_wireframe_edge_curve проверяет, действительно ли заданная аргументом
кривая являетсядопустимойдля использования в представленииформы, определенной топологически
ограниченным каркасом.
EXPRESS-спецификация
*>
FUNCTION valid_wireframe_edge_curve (crv:curve): BOOLEAN;
- проверка надопустимостьосновныхтипов кривых
IF SIZEOF ( [,AIC_SHELL_BASED_WIREFRAME.LINE‘,
’AIC_SHELL_BASED_WIREFRAME.CONIC’,
,AIC_SHELL_BASED_WIREFRAME.B_SPLINE_CURVE’.
’AIC_SHELL_BASED_WIREFRAME.POLYLINE’ ]*TYPEOF (crv)) = 1
THEN RETURN (TRUE);
ELSE
-- рекурсивная проверка надопустимостьосновных кривыхдля типа curve_replica
IF (’AIC_SHELL_BASED_WIREFRAME.CURVE_REPLICA’) IN TYPEOF (crv)
THEN RETURN (valid_wireframe_edge_curve
(crv\curve_replica.parent_curve));
ELSE
- рекурсивная проверка надопустимость основных кривыхдля типа offset_curve
IF(’AIC_SHELL_BASED_WIREFRAME.OFFSET_CURVE_3D’) IN TYPEOF (crv)
THEN RETURN (valid_wireframe_edge_curve
(crv\ offset_curve_3d.basis_curve));
ENDJF;
ENDJF;
ENDJF:
RETURN (FALSE);
END_FUNCTION;
r
Определение аргумента
crv — заданная кривая, которая должна быть проверена на допустимость. Допустимой кривой
является кривая типов line, conic. b_spline_curve. offset_curve_3d, polyline или curve_replica. Если
кривая имеет тип offset_curve_3d или curve_replica. то кривая, на которую дается ссылка как на базо вую
(basls_curve) или порождающую (parent_curve). такжедолжна быть допустимой кривой.
7