SCHEMA Mesh_arm;
USE FROM Engineering_analysis_basics_arm -- Engineering_analysis_basics (Class, Classification, Physical_space);
ENTITY Composition_of_mesh;
part : Mesh
whole : Mesh;
WHERE
consistent_topological_dimension :
IF NOT ('MESH_ARM.REGION' IN TYPEOF(whole)) THEN
TRUE;
ELSE
IF NOT ('MESH_ARM.REGION' IN TYPEOF(part)) THEN
FALSE;
ELSE
whole\Region.topological_dimension =
part\Region.topological_dimension;
ENDIF;
END_ENTITY;
ENTITY Mesh
SUPERTYPE OF (ONEOF (
Structured_mesh,
Unstructured_mesh))
SUBTYPE OF (Topological_object);
END_ENTITY;
ENTITY Overlapping_regions;
region_1 : Region
region_2 : Region;
WHERE
consistent_topological_dimension :
region_1.topological_dimension = region_2.topological_dimension;
END_ENTITY;
ENTITY Physical_space_topology SUBTYPE OF (Classification); class : Topological_object; member : Physical_space; END_ENTITY;
ENTITY product_of_mesh;
operands : LIST[2,2] OF Mesh
product : Mesh;
WHERE
consistent_topological_dimension :
IF ('MESH_ARM.REGION' IN TYPEOF(operands[1])) AND
('MESH_ARM.REGION' IN TYPEOF(operands[2])) AND
('MESH_ARM.REGION' IN TYPEOF(product)) THEN
operands[1]\Region.topological_dimension +
operands[2]\Region.topological_dimension =
product\Region.topological_dimension;
ELSE
FALSE;
ENDIF;
single_dimensional_operand :
IF ('MESH_ARM.REGION' IN TYPEOF(operands[1])) AND
('MESH_ARM.REGION' IN TYPEOF(operands[2])) THEN
operands[1]\Region.topological_dimension = 1 OR
operands[2]\Region.topological_dimension = 1;
ELSE
FALSE;
ENDIF;
END_ENTITY;
ENTITY Region
SUBTYPE OF (Topological_object);
topological_dimension : INTEGER;
shape : OPTIONAL Topological_shape;
DERIVE
standard_shape : BOOLEAN =: IF EXISTS (shape) THEN
shape.supplier = '10303';
ELSE
FALSE;
ENDIF;
shape_code : STRING =: IF EXISTS (shape) THEN
shape.code;
ELSE
'';
ENDIF;
WHERE
valid_dimension : topological_dimension > 1;
valid_shape :
IF standard_shape THEN
CASE dimension OF
1 : shape_code IN ['TS001'];
2 : shape_code IN ['TS002', 'TS003'];
3 : shape_code IN ['TS004', 'TS005', 'TS006', 'TS007'};
OTHERWISE : FALSE;
END_CASE;
ELSE
TRUE;
END_IF;
END_ENTITY;
ENTITY Topological_object
SUPERTYPE OF ONEOF (
Region,
Vertex))
SUBTYPE OF (Class);
END_ENTITY;
ENTITY Topological_shape
SUBTYPE OF (Class);
code : STRING;
supplier : STRING;
UNIQUE
single_instance_of_class : code, supplier;
WHERE
valid_standard_class :
IF (supplier = 'ISO/PDTS 10303-1095') THEN
code IN ['TS001', 'TS002', 'TS003', 'TS004', 'TS005', 'TS006',
'TS007'];
ELSE
TRUE;
END_IF;
END_ENTITY;
ENTITY Vertex SUBTYPE OF (Topological_object); END_ENTITY;
END_SCHEMA;
Page last updated - 7 Sep 2000