[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

*To*: <xtech>, <tribble>*Subject*: collapsing SpatialBehaviors into CoordinateSpaces*From*: Eric Dean Tribble <tribble>*Date*: Sat, 27 Jan 90 00:35:13 PST

Abstract: I think the SpatialBehavior protocol collapses into a few enhancements to the already existing coordinateSpace/Region/Dsp stuff. This will eventually mean that we can create a new Orgl type by defining a new coordinateSpace (with appropriate simple regions for boxing heuristics), new Regions, and new Wisps (for grouping heuristics)! Creation of new coordianteSpace types over FeBe! I'll just start right in and describe how the protocol goes away. The idea of dictinction regions (MarkM's I believe) inspired this reduction. atomTable() - This just becomes muTable(myCoordinateSpace). coordinateSpace() - crums just directly point at this. emptyWisp() - CoordinateSpaces know their identityDsp and empty regions, so it can be constructed just using the coordinateSpace information. wispForAtoms(atoms) - This makes a normalized wisp from the domain of a table. Since the table knows the appropriate coordinateSpace, and Wisps can normalize, this should just call a Wisp pseudo-constructor (actually, I think the places that call this can be simplified). splitAt(table,pos) - pos has been replaced with a region that represents an inequality in the coordinateSpace (all Integers greater than 3). Therefore this just gets replaced by a subTable operation on table: pair(table->subTable(distinctionRegion), table->subTable(distinctionRegion->complement())) splitAt(wisp,pos) - this is a little less clear. The general description of the new operation is intersect the distinctionRegion (that replaces pos) with the external Region of the wisp, then normalize. chooseBest(targetWisp,leftWisp,rightWisp) - This is the hardest one. We have to implement some metric for determing the 'best fit.' I suspect that this is a message to the targetWisp: targetWisp->chooseBest(leftWisp,rightWisp). That's all there is to it! Since Orgls inspired Tables and vice-versa, I'm not surprised that these things are coming together. If we do this right, the only remaing piece necesssary for any given coordinate system is to define Wisps (which provide grouping). The boxing heuristic is defined by the coordinateSpace as the 'simple' regions appropriate for the coordinateSpace. After Autofact, at least MarkM, Ravi, and me should meet to complete our CoordianteSpace,Position/Region meeting. dean

- Prev by Date:
**C++ unimplemented "delete foo;" suggestion** - Next by Date:
**Re: FromNess, ToNess** - Previous by thread:
**C++ unimplemented "delete foo;" suggestion** - Next by thread:
**MarkM and Ravi collect a lunch offer!** - Index(es):