zoukankan      html  css  js  c++  java
  • IfcScalarTimesVector

    注:定义符合ISO/CD 10303-42:1992

    此函数返回输入向量的标量倍数。它接受一个标量和一个向量作为输入,这个向量可以是一个方向,也可以是一个向量。输出是与输入向量相同单位的向量,如果输入方向,则为无单位向量。如果任一输入参数未定义,则返回的向量也未定义。

    注:函数改编自ISO 10303-42中定义的标量乘向量。

    IFC1.5中的新函数

    EXPRESS Specification

    FUNCTION IfcScalarTimesVector
      (Scalar : REAL; Vec : IfcVectorOrDirection)
        : IfcVector;
    LOCAL
      V : IfcDirection;
      Mag : REAL;
      Result : IfcVector;
    END_LOCAL;
    
      IF NOT EXISTS (Scalar) OR NOT EXISTS (Vec) THEN
        RETURN (?) ;
      ELSE
        IF 'IFCGEOMETRYRESOURCE.IFCVECTOR' IN TYPEOF (Vec) THEN
          V := VecIfcVector.Orientation;
          Mag := Scalar * VecIfcVector.Magnitude;
        ELSE
          V := Vec;
          Mag := Scalar;
        END_IF;
        IF (Mag < 0.0 ) THEN
          REPEAT i := 1 TO SIZEOF(V.DirectionRatios);
            V.DirectionRatios[i] := -V.DirectionRatios[i];
          END_REPEAT;
          Mag := -Mag;
        END_IF;
        Result := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcVector(IfcNormalise(V), Mag);
      END_IF;
      RETURN (Result);
    END_FUNCTION;
    QQ 3087438119
  • 相关阅读:
    第03组 Beta冲刺(1/4)
    第03组 Alpha事后诸葛亮
    第03组 Alpha冲刺(4/4)
    第03组 Alpha冲刺(3/4)
    第03组 Alpha(2/4)
    第03组 Alpha冲刺(1/4)
    第03组团队Git现场编程实战
    第二次结对编程作业
    团队项目-需求分析报告
    第01组 Beta冲刺(3/5)
  • 原文地址:https://www.cnblogs.com/herd/p/14459862.html
Copyright © 2011-2022 走看看