FUNCTION scalar_times_vector

(* SCHEMA integrated_cnc_schema; *)
FUNCTION scalar_times_vector (
    scalar : REAL;
    vec    : vector_or_direction 
    ) : vector;
  LOCAL
    v : direction;
    mag : REAL;
    result : vector;
  END_LOCAL;
    IF NOT EXISTS(scalar) OR NOT EXISTS(vec) THEN
      RETURN (?);
    ELSE
      IF 'INTEGRATED_CNC_SCHEMA.VECTOR' IN TYPEOF(vec) THEN
        v := dummy_gri || direction(vec.orientation.direction_ratios);
        mag := scalar * vec.magnitude;
      ELSE
        v := dummy_gri || direction(vec.direction_ratios);
        mag := scalar;
      END_IF;
      IF mag < 0.0 THEN
        REPEAT i := 1 TO SIZEOF(v.direction_ratios);
          v.direction_ratios[i] := -v.direction_ratios[i];
        END_REPEAT;
        mag := -mag;
      END_IF;
      result := dummy_gri || vector(normalise(v), mag);
    END_IF;
    RETURN (result);
END_FUNCTION; -- 10303-42: geometry_schema

Referenced By

Defintion scalar_times_vector is references by the following definitions:
DefinitionType
 first_proj_axis FUNCTION
 second_proj_axis FUNCTION


[Top Level Definitions]

Generated by STEP ToolsTM EXPRESS to HTML Converter
on 2010-01-12T10:42:26-02:00