private void translateRelative(SpriterAbstractObject
                                @object, SpriterAbstractObject parent)
 {
     @object.setAngle(@object.getAngle() * this.flippedX * this.flippedY + parent.getAngle()
                      );
     @object.setScaleX(@object.getScaleX() * parent.getScaleX());
     @object.setScaleY(@object.getScaleY() * parent.getScaleY());
     SpriterCalculator.translateRelative(parent, @object);
 }
        /// <summary>Sets the values of this instance to the given one.</summary>
        /// <remarks>Sets the values of this instance to the given one.</remarks>
        /// <param name="object">which has to be manipulated.</param>
        public virtual void copyValuesTo(SpriterAbstractObject
			 @object)
        {
            @object.setAngle(angle);
            @object.setScaleX(scaleX);
            @object.setScaleY(scaleY);
            @object.setX(x);
            @object.setY(y);
            @object.setId(id);
            @object.setParentId(parentId);
            @object.setParent(parent);
            @object.setTimeline(timeline);
            @object.setSpin(spin);
            @object.setName(name);
        }
 /// <summary>Sets the values of this instance to the given one.</summary>
 /// <remarks>Sets the values of this instance to the given one.</remarks>
 /// <param name="object">which has to be manipulated.</param>
 public virtual void copyValuesTo(SpriterAbstractObject
                                  @object)
 {
     @object.setAngle(angle);
     @object.setScaleX(scaleX);
     @object.setScaleY(scaleY);
     @object.setX(x);
     @object.setY(y);
     @object.setId(id);
     @object.setParentId(parentId);
     @object.setParent(parent);
     @object.setTimeline(timeline);
     @object.setSpin(spin);
     @object.setName(name);
 }
 private void interpolateAbstractObject(SpriterAbstractObject
                                        target, SpriterAbstractObject obj1, SpriterAbstractObject
                                        obj2, float startTime, float endTime)
 {
     if (obj2 == null)
     {
         return;
     }
     target.setX(this.interpolate(obj1.getX(), obj2.getX(), startTime, endTime, this.frame
                                  ));
     target.setY(this.interpolate(obj1.getY(), obj2.getY(), startTime, endTime, this.frame
                                  ));
     target.setScaleX(this.interpolate(obj1.getScaleX(), obj2.getScaleX(), startTime,
                                       endTime, this.frame));
     target.setScaleY(this.interpolate(obj1.getScaleY(), obj2.getScaleY(), startTime,
                                       endTime, this.frame));
     target.setAngle(this.interpolateAngle(obj1.getAngle(), obj2.getAngle(), startTime
                                           , endTime, this.frame));
 }