Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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));
        }
Exemplo n.º 3
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));
        }
Exemplo n.º 4
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));
        }
Exemplo n.º 5
0
        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));
        }
Exemplo n.º 6
0
        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));
        }