FUNCTION first_proj_axis

(* SCHEMA AP239_PRODUCT_LIFE_CYCLE_SUPPORT_MIM_LF; *)
 
FUNCTION first_proj_axis(z_axis : direction; arg : direction) : direction;
LOCAL
  x_axis : direction;
  v : direction;
  z : direction;
  x_vec : vector;
END_LOCAL;
  IF NOT EXISTS(z_axis) THEN
    RETURN (?);
  ELSE
    z := normalise(z_axis);
    IF NOT EXISTS(arg) THEN
      IF (z.direction_ratios <> [1.0, 0.0, 0.0]) AND (z.direction_ratios <> [-
      1.0, 0.0, 0.0]) THEN
        v := dummy_gri||direction([1.0, 0.0, 0.0]);
      ELSE
        v := dummy_gri||direction([0.0, 1.0, 0.0]);
      END_IF;
    ELSE
      IF arg.dim <> 3 THEN
        RETURN (?);
      END_IF;
      IF cross_product(arg, z).magnitude = 0.0 THEN
        RETURN (?);
      ELSE
        v := normalise(arg);
      END_IF;
    END_IF;
    x_vec := scalar_times_vector(dot_product(v, z), z);
    x_axis := vector_difference(v, x_vec).orientation;
    x_axis := normalise(x_axis);
  END_IF;
  RETURN (x_axis);
END_FUNCTION; (* declared in: geometry_schema *)

Referenced By

Defintion first_proj_axis is references by the following definitions:
DefinitionType
 base_axis FUNCTION
 build_axes FUNCTION


[Top Level Definitions] [Exit]

Generated by STEP Tools® EXPRESS to HTML Converter
2012-03-27T17:19:36-04:00