--Copyright The Numerical Algorithms Group Limited 1991.

-- test for ThreeSpace domain

)clear all

space := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
closedCurve(space,[p0,p1,p2,p3])

closedCurve(space,[[1,1,1],[1,0,0],[0,0,0],[0,1,1]])

cspace := closedCurve([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)

closedCurve cspace

)clear all

space := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
closedCurve(space,[p0,p1,p2,p3])
closedCurve? space

curve(space,[p0,p1,p2,p3])
point(space,p0)
components(space)

space1 := create3Space()$(ThreeSpace DoubleFloat)
curve(space1,[p0,p1,p2,p3])
point(space1,p0)
space2 := point(p0)$(ThreeSpace DoubleFloat)
space3 := curve[p0,p1,p2]$(ThreeSpace DoubleFloat)
composite [space1,space2,space3]

curve(space,[p0,p1,p2,p3])
point(space,p0)
point(space,p1)
closedCurve(space,[p0,p1,p2])
composite [space1,space2,space3]
composites(space)

curve(space,[p0,p1,p2,p3])
point(space,p0)
space4 := copy space

curve(space,[p0,p1,p2])
point(space,p0)
sub := subspace(space)
spNew := create3Space(sub)$(ThreeSpace DoubleFloat)

curve(space,[p0,p1,p2,p3])

curve(space,[[1,1,1],[1,0,0],[0,0,0],[0,1,1]])

cspace := curve([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)

curve cspace

)clear all

space := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
curve(space,[p0,p1,p2,p3])
curve? space

)clear all

space := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
closedCurve(space,[p0,p1,p2,p3])
curve(space,[p0,p1,p2,p3])
point(space,p0)
point(space,p3)
polygon(space,[p0,p1,p3])
polygon(space,[p0,p2,p3])
lllip(space)

closedCurve(space,[p0,p1,p2,p3])
curve(space,[p0,p1,p2,p3])
point(space,p0)
polygon(space,[p0,p1,p3])
llprop(space)
lprop(space)

closedCurve(space,[p0,p1,p2,p3])
curve(space,[p0,p1,p2,p3])
point(space,p0)
polygon(space,[p0,p1,p3])
lp(space)

enterPointData(space,[p0,p1,p2,p3])

)clear all

space1 := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
curve(space1,[p0,p1,p2,p3])
space2 := copy space1
point(space1,p3)
space3 := copy space1
curve(space3,[p0,p1,p2])
newSpace1 := merge [space1,space2,space3]
newSpace2 := merge(space2,space3)

space := create3Space()$(ThreeSpace DoubleFloat)
prop := new()$SubSpaceComponentProperty()
lprop := [prop, prop, prop]
mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],lprop,prop)

mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],lprop,prop)

mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],closed?(prop),closed?(prop))
b := close(prop,true)
mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],b,b)

mesh(space,[[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],closed?(prop),closed?(prop))
mesh(space,[[[1,1,1],[1,0,0],[0,0,0]],[[1,0,0],[0,0,0],[0,1,1]],[[1,1,1],[0,0,0],[0,1,1]]],closed?(prop),closed?(prop))

mesh(space,[[[1,1,1],[1,0,0],[0,0,0]],[[1,0,0],[0,0,0],[0,1,1]],[[1,1,1],[0,0,0],[0,1,1]]],b,b)

)clear all

p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)

space := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
space1 := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]],false,false)$(ThreeSpace DoubleFloat)

)clear all

p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
space := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
mesh(space)
s := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
mesh(s)

space2 := create3Space()$(ThreeSpace DoubleFloat)
curve(space2,[p0,p1,p2,p3])
mesh?(space2)
s1 := mesh([[p0,p1,p2],[p1,p2,p3],[p0,p2,p3]])$(ThreeSpace DoubleFloat)
mesh?(s1)

i := enterPointData(space2,[p0,p1,p2,p3])::NNI
modifyPointData(space2,i,p2)

point(space2,p0)
curve(space2,[p0,p1,p2,p3])
numberOfComponents(space2)

)clear all

space1 := create3Space()$(ThreeSpace DoubleFloat)
numberOfComposites(space1)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
curve(space1,[p0,p1,p2,p3])
point(space1,p0)
space2 := point(p0)$(ThreeSpace DoubleFloat)
space3 := curve [p0,p1,p2]$(ThreeSpace DoubleFloat)
s := composite [space1,space2,space3]
numberOfComposites(s)

space := create3Space()$(ThreeSpace DoubleFloat)
point(space,p0)
curve(space,[p0,p1,p2,p3])
closedCurve(space,[p0,p1,p2])
objects space

)clear all

s := create3Space()$(ThreeSpace DoubleFloat)
p := point [1,1,1]$(Point DoubleFloat)
point(s,p)

point(s,[1,1,1])

p0 := point [1,0,0]$(Point DoubleFloat)
point(s,p)
i := enterPointData(s,[p0])::NNI
point(s,i)

p := point [1,1,1]$(Point DoubleFloat)
space := point(p)$(ThreeSpace DoubleFloat)

)clear all

s := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
curve(s,[p0,p0])
space1 := point(p0)$(ThreeSpace DoubleFloat)
point(space1)

)clear all

s := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
curve(s,[p0,p0,p0])
point? s
space := point(p0)$(ThreeSpace DoubleFloat)
point? space

)clear all

space := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
polygon(space,[p0,p1,p2,p3])

polygon(space,[[1,1,1],[0,0,-1],[1,0,1]])

s := polygon([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)

)clear all

space := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
curve(space,[p0,p1,p2,p3])
s := polygon([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)
polygon s

)clear all

space := create3Space()$(ThreeSpace DoubleFloat)
p0 := point [1,1,1]$(Point DoubleFloat)
p1 := point [1,0,0]$(Point DoubleFloat)
p2 := point [0,0,0]$(Point DoubleFloat)
p3 := point [0,1,1]$(Point DoubleFloat)
curve(space,[p0,p1,p2,p3])
polygon? space
s := polygon([p0,p1,p2,p3])$(ThreeSpace DoubleFloat)
polygon s

space1 := create3Space()$(ThreeSpace DoubleFloat)
sub := subspace(space1)
