Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tCol(ttAbstractType).
- tCol(ttSpatialType).
- tCol(vtActionTemplate).
- tSet(tCol).
- tSet(tContainer).
- tSet(tFunction).
- tSet(tObj).
- disjointWith(Sub, Super) ==> disjointWith( Super, Sub).
- disjointWith(tObj,tRegion).
- disjointWith(ttSpatialType,ttAbstractType).
- argIsa(apathFn,1,tRegion).
- argIsa(apathFn,2,vtDirection).
- argIsa(localityOfObject,1,tObj).
- argIsa(localityOfObject,2,tSpatialThing).
- argIsa(mudColor,1,tObj).
- argIsa(mudColor,2,vtColor).
- argIsa(mudFacing,1,tObj).
- argIsa(mudFacing,2,vtDirection).
- argIsa(aDirectionsFn,2,ftListFn(vtDirection)).
- % create pathway objects and place them in world
- (pathDirLeadsTo(Region,Dir,R2),
- mudExitAtLoc(Region,Dir,LOC),
- Obj = apathFn(Region,Dir)) ==>
- (tPathway(Obj),localityOfObject(Obj,Region),mudAtLoc(Obj,LOC)).
- % objects are placed by default in center of region
- ((spatialInRegion(Obj), inRegion(Obj,Region),
- \+ tPathway(Obj), \+ mudAtLoc(Obj,xyzFn(Region,_,_,_))),
- {in_grid_rnd(Region,LOC)})
- ==>
- mudAtLoc(Obj,LOC)).
- % objects cannot be in two localities (Regions?) at once
- ((spatialInRegion(Obj),localityOfObject(Obj,NewLoc),
- localityOfObject(Obj,OldLoc), OldLoc\==NewLoc))
- ==>
- ~localityOfObject(Obj,OldLoc)).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement