/// <summary>
        /// Se non è già definito,
        /// sssegna il valore e tipologia sia di avanzamento che di velocita al movimento.
        /// </summary>
        /// <param name="action"></param>
        public void SettaValoreAvanzamento(LinearMoveAction action)
        {
            if (action.ParametriTaglio != null)
            {
                return;
            }
            ParametroVelocita parametroVelocita;
            var finded = FeedDictionary.TryGetValue(action.MoveType, out parametroVelocita);

            if (!finded)
            {
                //todo - gestire mancato avanzamento
            }

            action.ParametriTaglio = parametroVelocita;
        }
Beispiel #2
0
        internal virtual LinearMoveAction MultiplyMatrix(Matrix3D rotationMatrix)
        {
            if (AxisAbilited == AxisAbilited.Z || !(X.HasValue && Y.HasValue))
            {
                return(this);
            }

            // coordinate dovrebbere essere note entrambi
            if (!X.HasValue || !Y.HasValue)
            {
                throw new Exception("LinearAction.MuliplyMatrix");
            }

            var rsltLine = new LinearMoveAction(this);

            var rotatedPnt = Geometry.GeometryHelper.MultiplyPoint(new Geometry.Point3D(X.Value, Y.Value, 0), rotationMatrix);

            rsltLine.X = rotatedPnt.X;
            rsltLine.Y = rotatedPnt.Y;
            return(rsltLine);
        }
Beispiel #3
0
 private LinearMoveAction(LinearMoveAction linearMove)
     : base(null)
 {
     // clonare..
     MoveType = linearMove.MoveType;
 }
        /// <summary>
        /// Metodo per aggiungere azione
        /// </summary>
        /// <param name="action"></param>
        public void AggiungiAzioneMovimento(LinearMoveAction action)
        {
            SettaValoreAvanzamento(action);

            Azioni.Add(action);
        }