/// <summary> /// Returns the 3x3 direction cosines to transform local coordinates to global coordinates by the equation [directionCosines]*[localCoordinates] = [globalCoordinates]. /// Direction cosines returned are ordered by row, and then by column. /// </summary> /// <param name="nameElement">The name of an existing element.</param> /// <exception cref="CSiException"><see cref="CSiApiBase.API_DEFAULT_ERROR_CODE" /></exception> public DirectionCosines GetTransformationMatrix(string nameElement) { double[] directionCosinesArray = new double[9]; _callCode = _sapModel.AreaElm.GetTransformationMatrix(nameElement, ref directionCosinesArray); if (throwCurrentApiException(_callCode)) { throw new CSiException(API_DEFAULT_ERROR_CODE); } DirectionCosines directionCosines = new DirectionCosines(); directionCosines.FromArray(directionCosinesArray); return(directionCosines); }
public void GetTransformationMatrix_From_Current_Global_Coordinate_System() { DirectionCosines directionCosines = _app.Model.ObjectModel.FrameObject.GetTransformationMatrix(CSiDataLine.NameObjectFrame, isGlobal: false); // Row 1 Assert.That(directionCosines.X1, Is.EqualTo(0)); Assert.That(directionCosines.Y1, Is.EqualTo(0.707).Within(0.001)); Assert.That(directionCosines.Z1, Is.EqualTo(0.707).Within(0.001)); // Row 2 Assert.That(directionCosines.X2, Is.EqualTo(0)); Assert.That(directionCosines.Y2, Is.EqualTo(-0.707).Within(0.001)); Assert.That(directionCosines.Z2, Is.EqualTo(0.707).Within(0.001)); // Row 3 Assert.That(directionCosines.X3, Is.EqualTo(1).Within(0.001)); Assert.That(directionCosines.Y3, Is.EqualTo(0)); Assert.That(directionCosines.Z3, Is.EqualTo(0)); }
public void GetTransformationMatrix() { DirectionCosines directionCosines = _app.Model.ObjectModel.FrameObject.GetTransformationMatrix(CSiDataLine.NameObjectFrame); // Row 1 Assert.That(directionCosines.X1, Is.EqualTo(0)); Assert.That(directionCosines.Y1, Is.EqualTo(1)); Assert.That(directionCosines.Z1, Is.EqualTo(0)); // Row 2 Assert.That(directionCosines.X2, Is.EqualTo(0)); Assert.That(directionCosines.Y2, Is.EqualTo(0)); Assert.That(directionCosines.Z2, Is.EqualTo(1)); // Row 3 Assert.That(directionCosines.X3, Is.EqualTo(1)); Assert.That(directionCosines.Y3, Is.EqualTo(0)); Assert.That(directionCosines.Z3, Is.EqualTo(0)); }
public void GetTransformationMatrix_Of_Transformed_Axis_Advanced() { DirectionCosines directionCosines = _app.Model.ObjectModel.PointObject.GetTransformationMatrix(CSiDataPoint.NameObjectTransformedAxisAdvanced); // Row 1 Assert.That(directionCosines.X1, Is.EqualTo(0.785).Within(0.001)); Assert.That(directionCosines.Y1, Is.EqualTo(0.022).Within(0.001)); Assert.That(directionCosines.Z1, Is.EqualTo(0.619).Within(0.001)); // Row 2 Assert.That(directionCosines.X2, Is.EqualTo(0.366).Within(0.001)); Assert.That(directionCosines.Y2, Is.EqualTo(0.790).Within(0.001)); Assert.That(directionCosines.Z2, Is.EqualTo(-0.491).Within(0.001)); // Row 3 Assert.That(directionCosines.X3, Is.EqualTo(-0.500).Within(0.001)); Assert.That(directionCosines.Y3, Is.EqualTo(0.612).Within(0.001)); Assert.That(directionCosines.Z3, Is.EqualTo(0.612).Within(0.001)); }
public void GetTransformationMatrix() { DirectionCosines directionCosines = _app.Model.ObjectModel.LinkObject.GetTransformationMatrix(CSiDataLink.NameObjectTwoPoints); // Row 1 Assert.That(directionCosines.X1, Is.EqualTo(0.894).Within(0.001)); Assert.That(directionCosines.Y1, Is.EqualTo(-0.447).Within(0.001)); Assert.That(directionCosines.Z1, Is.EqualTo(0).Within(0.001)); // Row 2 Assert.That(directionCosines.X2, Is.EqualTo(0).Within(0.001)); Assert.That(directionCosines.Y2, Is.EqualTo(0).Within(0.001)); Assert.That(directionCosines.Z2, Is.EqualTo(-1).Within(0.001)); // Row 3 Assert.That(directionCosines.X3, Is.EqualTo(0.447).Within(0.001)); Assert.That(directionCosines.Y3, Is.EqualTo(0.894).Within(0.001)); Assert.That(directionCosines.Z3, Is.EqualTo(0).Within(0.001)); }
public void GetTransformationMatrix() { DirectionCosines directionCosines = _app.Model.AnalysisModel.AreaElement.GetTransformationMatrix(CSiDataArea.NameElementShellThin); // Row 1 Assert.That(directionCosines.X1, Is.EqualTo(1)); Assert.That(directionCosines.Y1, Is.EqualTo(0)); Assert.That(directionCosines.Z1, Is.EqualTo(0)); // Row 2 Assert.That(directionCosines.X2, Is.EqualTo(0)); Assert.That(directionCosines.Y2, Is.EqualTo(1)); Assert.That(directionCosines.Z2, Is.EqualTo(0)); // Row 3 Assert.That(directionCosines.X3, Is.EqualTo(0)); Assert.That(directionCosines.Y3, Is.EqualTo(0)); Assert.That(directionCosines.Z3, Is.EqualTo(1)); }