Schema: aic_advanced_brep

Source : ISO 10303-514



SCHEMA aic_advanced_brep;

USE FROM aic_topologically_bounded_surface;    -- ISO 10303-511

USE FROM geometry_schema   -- ISO 10303-42
  (cartesian_transformation_operator_3d);

USE FROM geometric_model_schema   -- ISO 10303-42
  (manifold_solid_brep,
   brep_with_voids);

REFERENCE FROM geometric_model_schema   -- ISO 10303-42
  (msb_shells);

USE FROM topology_schema   -- ISO 10303-42
  (closed_shell,
   connected_face_set,
   oriented_closed_shell);

USE FROM representation_schema   -- ISO 10303-43
  (mapped_item);

USE FROM product_property_representation_schema   -- ISO 10303-41
  (shape_representation);


ENTITY advanced_brep_shape_representation
  SUBTYPE OF (shape_representation);
WHERE
  WR1: SIZEOF ( QUERY ( it <* SELF.items| NOT ( SIZEOF ([ 'AIC_ADVANCED_BREP.MANIFOLD_SOLID_BREP', 'AIC_ADVANCED_BREP.FACETED_BREP', 'AIC_ADVANCED_BREP.MAPPED_ITEM', 'AIC_ADVANCED_BREP.AXIS2_PLACEMENT_3D' ] * TYPEOF (it)) = 1) )) = 0;
  WR2: SIZEOF ( QUERY ( it <* SELF.items| ( SIZEOF ([ 'AIC_ADVANCED_BREP.MANIFOLD_SOLID_BREP', 'AIC_ADVANCED_BREP.MAPPED_ITEM' ] * TYPEOF (it)) = 1) )) > 0;
  WR3: SIZEOF ( QUERY ( msb <* QUERY ( it <* SELF.items| ('AIC_ADVANCED_BREP.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( csh <* msb_shells(msb)| NOT ( SIZEOF ( QUERY ( fcs <* csh\connected_face_set.cfs_faces| NOT ('AIC_ADVANCED_BREP.ADVANCED_FACE' IN TYPEOF (fcs)) )) = 0) )) = 0) )) = 0;
  WR4: SIZEOF ( QUERY ( msb <* QUERY ( it <* items| ('AIC_ADVANCED_BREP.MANIFOLD_SOLID_BREP' IN TYPEOF (it)) )| ('AIC_ADVANCED_BREP.ORIENTED_CLOSED_SHELL' IN TYPEOF (msb\manifold_solid_brep.outer)) )) = 0;
  WR5: SIZEOF ( QUERY ( brv <* QUERY ( it <* items| ('AIC_ADVANCED_BREP.BREP_WITH_VOIDS' IN TYPEOF (it)) )| NOT ( SIZEOF ( QUERY ( csh <* brv\brep_with_voids.voids| csh\oriented_closed_shell.orientation )) = 0) )) = 0;
  WR6: SIZEOF ( QUERY ( mi <* QUERY ( it <* items| ('AIC_ADVANCED_BREP.MAPPED_ITEM' IN TYPEOF (it)) )| NOT ('AIC_ADVANCED_BREP.ADVANCED_BREP_SHAPE_REPRESENTATION' IN TYPEOF (mi\mapped_item.mapping_source.mapped_representation)) )) = 0;
END_ENTITY;

END_SCHEMA;  -- aic_advanced_brep