Overview Schemas Index

KINEMATIC_STRUCTURE_SCHEMA (jsdai.SKinematic_structure_schema)


FUNCTION frame_associated_to_background
          (frame : rigid_placement, background : kinematic_frame_background) : BOOLEAN;

LOCAL
    rep_bag : BAG  OF  kinematic_frame_background_representation;
    trf_bag : BAG  OF  kinematic_frame_based_transformation;
    trm_bag : BAG  OF kinematic_frame_based_transformation;
    ass_bag : BAG OF
              kinematic_frame_background_representation_association;
    rep     : kinematic_frame_background_representation;
    ass     : kinematic_frame_background_representation_association;
  END_LOCAL;

  rep_bag := QUERY  ( bg <* USEDIN  (background,
                     'KINEMATIC_STRUCTURE_SCHEMA.' +
                     'REPRESENTATION.ITEMS')|
                     'KINEMATIC_STRUCTURE_SCHEMA.'+
                     'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION' 
                      IN  TYPEOF  (bg) );

  IF  SIZEOF  (rep_bag) = 0 THEN
    RETURN  (FALSE);
  END_IF;

  trf_bag := USEDIN  (frame,
                     'KINEMATIC_STRUCTURE_SCHEMA.' +
                     'KINEMATIC_FRAME_BASED_TRANSFORMATION.' +
                     'TRANSFORMATOR');

  IF  SIZEOF  (trf_bag) = 0 THEN
    RETURN  (FALSE);
  END_IF;

  REPEAT  i := 1 TO  HIINDEX  (rep_bag);
    rep := rep_bag[i];

ass_bag := QUERY  ( kfbra <* USEDIN ( rep,
             'KINEMATIC_STRUCTURE_SCHEMA.' +
             'REPRESENTATION_RELATIONSHIP.REP_2') |
             'KINEMATIC_STRUCTURE_SCHEMA.'+
             'KINEMATIC_FRAME_BACKGROUND_REPRESENTATION_ASSOCIATION'
             IN TYPEOF ( kfbra ) );

    IF  SIZEOF  (ass_bag) > 0 THEN
      REPEAT j:= 1 TO HIINDEX (ass_bag);
        ass := ass_bag[j];

        trm_bag := QUERY (trm <* trf_bag |
          (trm :=:
           ass\representation_relationship_with_transformation.
           transformation_operator));

        IF SIZEOF (trm_bag) > 0 THEN
          RETURN  (TRUE);
        END_IF;

      END_REPEAT;
    END_IF;
  END_REPEAT;

  RETURN (FALSE);

END_FUNCTION; -- frame_associated_to_background

public class FFrame_associated_to_background
          public static Value run(SdaiContext _context, Value frame, Value background)