Overview Schemas Index

AUTOMOTIVE_DESIGN (jsdai.SAutomotive_design)


FUNCTION assembly_shape_is_defined
          (assy : next_assembly_usage_occurrence) : BOOLEAN;

 LOCAL sdr_set : SET  OF  shape_definition_representation := [ ] ; srr_set : SET  OF  shape_representation_relationship := [ ] ; sdr1_set : SET  OF  shape_definition_representation := [ ] ; pd_set : SET  OF  property_definition := [ ] ; pdr_set : SET  OF  product_definition_relationship := [ ] ; pds_set : SET  OF  product_definition_shape := [ ] ; prop_set : SET OF property_definition := [ ] ; END_LOCAL ; pd_set := bag_to_set ( USEDIN  ( assy . related_product_definition , 'automotive_design.property_definition.definition' ) ) ; pdr_set := QUERY  ( pdr <* bag_to_set ( USEDIN  ( assy . related_product_definition , 'automotive_design.product_definition_relationship.' + 'related_product_definition' ) ) | SIZEOF  ( USEDIN  ( pdr , 'automotive_design.property_definition.definition' ) ) > 0 ) ; IF  SIZEOF  ( pd_set ) > 0 THEN  REPEAT  i := 1 TO  HIINDEX  ( pd_set ) ; sdr_set := sdr_set + QUERY  ( pdr <* USEDIN  ( pd_set [ i ] , 'automotive_design.property_definition_representation.' + 'definition' ) | 'automotive_design.shape_definition_representation' IN  TYPEOF  ( pdr ) ) ; END_REPEAT  ; END_IF  ; IF  SIZEOF  ( pdr_set ) > 0 THEN  REPEAT  i := 1 TO  HIINDEX  ( pdr_set ) ; prop_set := prop_set + bag_to_set ( USEDIN  ( pdr_set [ i ] , 'automotive_design.property_definition.definition' ) ) ; END_REPEAT  ; IF  SIZEOF  ( prop_set ) > 0 THEN  REPEAT  i := 1 TO  HIINDEX  ( prop_set ) ; sdr_set := sdr_set + QUERY  ( pdr <* USEDIN  ( prop_set [ i ] , 'automotive_design.' + 'property_definition_representation.definition' ) | 'automotive_design.shape_definition_representation' IN  TYPEOF  ( pdr ) ) ; END_REPEAT  ; END_IF  ; END_IF  ; IF  SIZEOF  ( sdr_set ) > 0 THEN  REPEAT  i := 1 TO  HIINDEX  ( sdr_set ) ; srr_set := QUERY  ( rr <* bag_to_set ( USEDIN  ( sdr_set [ i ] \ property_definition_representation . used_representation , 'automotive_design.representation_relationship.rep_2' ) ) | 'automotive_design.shape_representation_relationship' IN  TYPEOF  ( rr ) ) ; pd_set := bag_to_set ( USEDIN  ( assy . relating_product_definition , 'automotive_design.property_definition.definition' ) ) ; IF  SIZEOF  ( pd_set ) > 0 THEN  REPEAT  i := 1 TO  HIINDEX  ( pd_set ) ; sdr1_set := sdr1_set + QUERY  ( pdr <* USEDIN  ( pd_set [ i ] , 'automotive_design.property_definition_representation.' + 'definition' ) | 'automotive_design.shape_definition_representation' IN  TYPEOF  ( pdr ) ) ; END_REPEAT  ; END_IF  ; IF  ( ( SIZEOF  ( sdr_set ) > 0 ) AND ( SIZEOF  ( sdr1_set ) > 0 ) ) THEN  IF  SIZEOF  ( srr_set ) > 0 THEN  REPEAT  j := 1 TO  HIINDEX  ( srr_set ) ; IF  SIZEOF  ( QUERY  ( pdr <* bag_to_set ( USEDIN  ( srr_set [ j ] \ representation_relationship . rep_1 , 'automotive_design.property_definition_representation.' + 'used_representation' ) ) | 'automotive_design.shape_definition_representation' IN  TYPEOF  ( pdr ) ) * sdr1_set ) >= 1 THEN  pds_set := QUERY  ( x <* bag_to_set ( USEDIN  ( assy , 'automotive_design.property_definition.definition' ) ) | 'automotive_design.product_definition_shape' IN TYPEOF ( x ) ) ; IF  SIZEOF  ( pds_set ) = 0 THEN  RETURN  ( FALSE  ) ; END_IF  ; REPEAT k := 1 TO HIINDEX ( pds_set ) ; IF SIZEOF ( QUERY ( cdsr <* USEDIN ( pds_set [ k ] , 'automotive_design.' + 'context_dependent_shape_representation.' + 'represented_product_relation' ) | ( cdsr . representation_relation :=: srr_set [ j ] ) ) ) > 0 THEN RETURN  ( FALSE ) ; END_IF  ; END_REPEAT  ; END_IF  ; END_REPEAT  ; END_IF  ; END_IF  ; END_REPEAT ; END_IF ; RETURN ( TRUE ) ; 

END_FUNCTION; -- assembly_shape_is_defined

public class FAssembly_shape_is_defined
          public static Value run(SdaiContext _context, Value assy)