GeometryAPI.Figure.RotateInXY C# (CSharp) Method

RotateInXY() public method

public RotateInXY ( Vector3D rotCenter, double angleDegrees ) : void
rotCenter Vector3D
angleDegrees double
return void
        public void RotateInXY(Vector3D rotCenter, double angleDegrees)
        {
            for (int i = 0; i < this.vertices.Count; i++)
            {
                Vector3D centeredCurrent = this.vertices[i] - rotCenter;

                double angleRads = angleDegrees * Math.PI / 180.0;

                Vector3D rotatedCenteredCurrent = new Vector3D(
                    centeredCurrent.X * Math.Cos(angleRads) - centeredCurrent.Y * Math.Sin(angleRads),
                    centeredCurrent.X * Math.Sin(angleRads) + centeredCurrent.Y * Math.Cos(angleRads),
                    centeredCurrent.Z
                    );

                this.vertices[i] = rotatedCenteredCurrent + rotCenter;
            }
        }
    }