8.9.6.23 IfcSecondProjAxis
8.9.6.23.1 Semantic definition
8.9.6.23.2 Formal representation
| FUNCTION IfcSecondProjAxis |
| (ZAxis, XAxis, Arg: IfcDirection) |
| : IfcDirection; |
| LOCAL |
| YAxis : IfcVector; |
| V : IfcDirection; |
| Temp : IfcVector; |
| END_LOCAL; |
| |
| IF NOT EXISTS(Arg) THEN |
| V := IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([0.0,1.0,0.0]); |
| ELSE |
| V := Arg; |
| END_IF; |
| Temp := IfcScalarTimesVector(IfcDotProduct(V, ZAxis), ZAxis); |
| YAxis := IfcVectorDifference(V, Temp); |
| Temp := IfcScalarTimesVector(IfcDotProduct(V, XAxis), XAxis); |
| YAxis := IfcVectorDifference(YAxis, Temp); |
| YAxis := IfcNormalise(YAxis); |
| RETURN(YAxis.Orientation); |
| |
| END_FUNCTION; |
8.9.6.23.3 References