Example #1
0
        public virtual Matrix44Adaptor SetRotate(UnitVectorAdaptor fromDirection
            , UnitVectorAdaptor toDirection, PointAdaptor basePoint)
        {
            Debug.Assert(fromDirection != null && toDirection != null
                && basePoint != null);
            if (!(fromDirection != null && toDirection != null
                && basePoint != null)) return this;

            double angle = fromDirection.AngleTo(toDirection);
            VectorAdaptor axis = fromDirection.VectorAdaptor.Cross(toDirection.VectorAdaptor);

            SetRotate(angle, axis.UnitVectorAdaptor, basePoint);

            return this;
        }