ГОСТ Р ИСО 10303-203-2003
FUNCTION normalisc(arg: vcctor_or_dircction): vcctor o rd ireel ion;
LOCAL
ndim: INTEGER;
V: direction;
vcc: vector;
mag: REAL;
result: vcctor_or_direction;
END LOCAL;
IF NOT EXISTS (aig) THEN result
ELSE
ndim :**aig.dim;
IF ’CONFIG_CONTROL_DESIGN.VECTOR- IN TYPEOF (aig) THEN
BEGIN
v := dummy_gri ;| dircction(arg,oricntation.dircction_ratios);
IF arg.magnitudc “ 0 THEN RETURN (?);
ELSE
vcc :» dummy_gri 11vcctor(v, 1);
E N D JF ;
END;
ELSE
v := dummy_gri 11dircction(arg,dircclion_ratios);
E N D JF ;
mag : =’ 0 ;
REPEAT iI TO ndim BY 1;
mag := mag + (v.dircction_ratic»|i) * v.direction_ratios|i|);
END_REPEAT ;
IF mag > 0 THEN
magSQRT(mag);
REPEAT iI TO ndim BY I;
v.dircction_ratios[i] := v.direction_ratiosli)/mag:
END_REPEAT ;
IF ’CON FIG_CONTROL_DESIGN.VECTOR’ IN TYPEOF(aig) THEN
vcc.orientation :*=v;
result :■=wee;
ELSE
resultv;
END_IF;
ELSE
RETURN (?) ;
E N D JF;
E N D JF ;
RETURN (result) ;
END_FUNCTION; - - normalise
FUNCTION open_shcll_reverscd(a_shell: open_shell): oriented_opcn_shcll;
LOCAL
the_revcrsc :oricnted_open_shcll;
END_LOCAL ;
IF CONFIG_CONTROL_DESIGN.ORIENTED_OPEN_SHELL’ IN TYPEOF(a_shcll)
THEN
the_rcvcrscdummyjri | I connectedJace_sct(a_sheli\
connectedJaccset.cfsfaccs) 11open_shcll< ) 11
oncntcd_opcn_shcll (a_shell\oricntcd_opcn_sJicll.
open_shcll_elcment, NOT a_sheH\oricnlcd_open_shcll.oricntation);
ELSE
the_.reverse :*=dummyjri | j connccted_faoe_sci(a_shcll\
connectedjacc_set.cfsjaccs)
j
i
opcn_shcll( ) 11
oricntcd_opcn_shcll (a_shcll. FALSE);
ENDJF:
RETURN (thc_revcrsc>;
END_FUNCTION; - - open_shell_rcvenscd
199