Пример #1
0
        public override ItemTransform ApplyTransform(ItemTransform transform, int instance)
        {
            var baseTrans = transform.ToMatrixD();

            var transOrigMat = Matrix4d.FromDirection((Vector3d)Axis, Vector3d.UnitZ);

            transOrigMat *= Matrix4d.FromTranslation((Vector3d)Origin);

            var localMat = baseTrans * transOrigMat.Inverted();

            float angleInc  = EqualSpacing ? (Angle / (Repetitions)) : Angle;
            var   rotMatrix = Matrix4d.FromAngleAxis(angleInc * instance, Vector3d.UnitZ);

            var finalMat = localMat * transOrigMat * rotMatrix;

            return(ItemTransform.FromMatrix(finalMat));
        }
Пример #2
0
 public override ItemTransform ApplyTransform(ItemTransform transform, int instance)
 {
     throw new NotImplementedException();
 }