Index: TECH/Svg/Services/CoordinatesService.cls.xml =================================================================== diff -u -r3693 -r3700 --- TECH/Svg/Services/CoordinatesService.cls.xml (.../CoordinatesService.cls.xml) (revision 3693) +++ TECH/Svg/Services/CoordinatesService.cls.xml (.../CoordinatesService.cls.xml) (revision 3700) @@ -10,13 +10,20 @@ Set BasisElementFactory = ##class(TECH.Svg.BasisElementFactory).%New() Set CoordinatesList = ##class(%ListOfObjects).%New() Set PuntenIterator = ##class(TECH.ArrayOneDimIterator).%New(.Punten) - While (PuntenIterator.HasNext()) { - #dim EerstePuntVanCoordinaat As %Integer = PuntenIterator.Next() - #dim TweedePuntVanCoordinaat As %Integer = PuntenIterator.Next() - #dim CoordinaatVanTweePunten As TECH.Svg.Basis.Path.Coordinates = BasisElementFactory.MaakCoordinaat(EerstePuntVanCoordinaat,TweedePuntVanCoordinaat) - Do CoordinatesList.Insert(CoordinaatVanTweePunten) + If (..IsLijstEvenEnIngevuld(PuntenIterator)) + { + Do ##class(Tools.Wlip).%New(238).String("het is even") + While (PuntenIterator.HasNext()) { + #dim EerstePuntVanCoordinaat As %Integer = PuntenIterator.Next() + #dim TweedePuntVanCoordinaat As %Integer = PuntenIterator.Next() + #dim CoordinaatVanTweePunten As TECH.Svg.Basis.Path.Coordinates = BasisElementFactory.MaakCoordinaat(EerstePuntVanCoordinaat,TweedePuntVanCoordinaat) + Do CoordinatesList.Insert(CoordinaatVanTweePunten) + } + Quit CoordinatesList + } Else { + Do ##class(Tools.Wlip).%New(238).String("het is niet even of ingevuld") + Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("het aantal punten is niet even of niet ingevuld")) } - Quit CoordinatesList ]]> @@ -33,6 +40,29 @@ Quit CoordinatesList ]]> + + +PuntenIterator +%Boolean + +