public R1NCDirection()
            : base()
        {
            nonCircularDirection = new NonCircularDirection <R1NCDirection, R1Point>();
            directionHelper      = new R1Direction <R1NCDirection>();

            InitializeAttributes();
        }
        public R1NCDirection(R1Direction <R1NCDirection> directionHelper)
        {
            this.directionHelper = directionHelper;

            nonCircularDirection = new NonCircularDirection <R1NCDirection, R1Point>(
                CreateCanSwitchList(), true, 1);

            InitializeAttributes();
        }
        public R1NCDirection(R1Point startingPoint, int direction, float directionLength,
                             float directionDivisor, List <float> speedList, List <bool> canSwitchList,
                             int numberOfRepeatations, bool canSwitch, float speed)
        {
            nonCircularDirection = new NonCircularDirection <R1NCDirection, R1Point>(
                canSwitchList, canSwitch, numberOfRepeatations);

            directionHelper = new R1Direction <R1NCDirection>(startingPoint, direction,
                                                              directionLength, directionDivisor, speedList, speed);


            InitializeAttributes();
        }