Intervals - HiStructClient/femcad-doc GitHub Wiki
Fcs.Math.IntervalSet(number, number)
int := Fcs.Math.IntervalSet(-1,6)
int.Count = 1
int := Fcs.Math.IntervalSet(-1,6)
int.Intervals[0].Min = -1
int.Intervals[0].Max = 6
Fcs.Math.IntervalSet(number, number).Contains( value:double,precision:double )
or
Fcs.Math.IntervalSet(number, number).Contains( value:interval,precision:double )
returns bool
int := Fcs.Math.IntervalSet(-1,6)
val := 2
isValInInt := int.Contains( val, 0.001 )
>> isValInInt = True
intA := Fcs.Math.IntervalSet(-1,6)
intB := Fcs.Math.IntervalSet( 2,8)
isIntBInIntA := intA.Contains( intB.Intervals[0], 0.001 )
>> isIntBInIntA = False
Fcs.Math.Subtraction(firstInterval, secondInterval)
celyStrudl := Fcs.Math.IntervalSet(-1,6)
sezralJirka := Fcs.Math.IntervalSet(2,3)
strudlPoJirkovi := Fcs.Math.Subtraction(celyStrudl ,sezralJirka )
strudlPoJirkovi = <-1,2>,<3,6>
sezralRichard := Fcs.Math.IntervalSet(3.5,4)
strudlPoRichardovi := Fcs.Math.Subtraction(strudlPoJirkovi,sezralRichard)
strudlPoRichardovi = <-1,2>,<3,3.5>,<4,6>
How to get the result of above "strudl-eating" into usable array:
kouskyStrudlu := Fcs.Converters.EnumerableRange(strudlPoRichardovi.Count).Select(i =>
{start := c.Intervals[i].Min,
end := c.Intervals[i].Max})
[
{start = -1, end = 2},
{start = 3, end = 3.5},
{start = 4, end = 6}
]