FUNCTION frame_associated_to_background
(* SCHEMA kinematic_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;
Referenced By
Defintion frame_associated_to_background is references by the following definitions:
[Top Level Definitions] [Exit]Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:14:00-04:00