Source : ISO 10303-512
SCHEMA aic_faceted_brep;
USE FROM
geometry_schema -- ISO 10303-42
(axis2_placement_3d,
cartesian_point,
cartesian_transformation_operator_3d,
elementary_surface,
plane);
USE FROM
geometric_model_schema -- ISO 10303-42
(brep_with_voids,
faceted_brep,
manifold_solid_brep);
REFERENCE FROM
geometric_model_schema -- ISO 10303-42
(msb_shells);
USE FROM
topology_schema -- ISO 10303-42
(closed_shell,
connected_face_set,
face_bound,
face_outer_bound,
face_surface,
oriented_closed_shell,
poly_loop);
USE FROM
representation_schema -- ISO 10303-43
(mapped_item);
USE FROM
product_property_representation_schema -- ISO 10303-41
(shape_representation);
ENTITY faceted_brep_shape_representation
SUBTYPE OF (shape_representation);
WHERE
WR1: SIZEOF ( QUERY ( it <* items| NOT ( SIZEOF ([ 'AIC_FACETED_BREP.FACETED_BREP', 'AIC_FACETED_BREP.MAPPED_ITEM', 'AIC_FACETED_BREP.AXIS2_PLACEMENT_3D'
] * TYPEOF (it)) = 1) )) = 0;
WR2: SIZEOF ( QUERY ( it <* items| ( SIZEOF ([ 'AIC_FACETED_BREP.FACETED_BREP', 'AIC_FACETED_BREP.MAPPED_ITEM' ] * TYPEOF
(it)) = 1) )) > 0;
WR3: SIZEOF ( QUERY ( fbrep <* QUERY ( it <* items| ('AIC_FACETED_BREP.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF (
QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT (('AIC_FACETED_BREP.FACE_SURFACE'
IN TYPEOF (fcs)) AND (('AIC_FACETED_BREP.PLANE' IN TYPEOF (fcs\face_surface.face_geometry)) AND ('AIC_FACETED_BREP.CARTESIAN_POINT'
IN TYPEOF (fcs\face_surface.face_geometry\elementary_surface.position.location)))) )) = 0) )) = 0) )) = 0;
WR4: SIZEOF ( QUERY ( fbrep <* QUERY ( it <* items| ('AIC_FACETED_BREP.FACETED_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF (
QUERY ( csh <* msb_shells(fbrep)| NOT ( SIZEOF ( QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ( SIZEOF ( QUERY (
bnds <* fcs.bounds| ('AIC_FACETED_BREP.FACE_OUTER_BOUND' IN TYPEOF (bnds)) )) = 1) )) = 0) )) = 0) )) = 0;
WR5: SIZEOF ( QUERY ( msb <* QUERY ( it <* items| ('AIC_FACETED_BREP.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AIC_FACETED_BREP.ORIENTED_CLOSED_SHELL'
IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
WR6: SIZEOF ( QUERY ( brv <* QUERY ( it <* items| ('AIC_FACETED_BREP.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF (
QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0;
WR7: SIZEOF ( QUERY ( mi <* QUERY ( it <* items| ('AIC_FACETED_BREP.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AIC_FACETED_BREP.FACETED_BREP_SHAPE_REPRESENTATION'
IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
END_ENTITY;
END_SCHEMA; -- aic_faceted_brep