Exemplo n.º 1
0
            /// <summary>
            /// retrieve the component (0:X, 1:Y, 2:Z)
            /// </summary>
            public double GetOrd(OrdIdx ord)
            {
                switch (ord)
                {
                case OrdIdx.X: return(X);

                case OrdIdx.Y: return(Y);

                case OrdIdx.Z: return(Z);

                default: throw new ArgumentException($"invalid ord {ord}. Must between one of 0,1,2");
                }
            }
Exemplo n.º 2
0
            /// <summary>
            /// return a copy of this vector with ordinate ( 0:x 1:y 2:z ) changed
            /// </summary>
            public Vector3D Set(OrdIdx ordIdx, double value)
            {
                var x = X;
                var y = Y;
                var z = Z;

                switch (ordIdx)
                {
                case OrdIdx.X: x = value; break;

                case OrdIdx.Y: y = value; break;

                case OrdIdx.Z: z = value; break;

                default: throw new Exception($"invalid ordIdx:{ordIdx}");
                }

                return(new Vector3D(x, y, z));
            }