Names

Most items in Geometer have an internal name, and some of them have external names. The internal name is what appears to the left of the "=" sign. For example, in

vert = .free(.123, .456, "Ogden Nash");
the internal name of the point is "vert", and the external name is "Ogden Nash". If you're going to use this point as something that constrains another primitive, like a line or a circle, use the internal name, "vert". "Ogden Nash" will be the name you see attached to the point on the computer screen. If there is no external name, all you'll see will be the point's circle or diamond or whatever with no attached name.

The easiest way to think about how Geometer displays a file is to imagine that before each redisplay it forgets everything, and starts looking at the file from the beginning again. Thus, if you've typed in the following program (you must have typed it in, since it's got illegal semantics):

v1 = .free(.1, .1);
v2 = .free(.2, .2);
l1 = .l.vv(v1, v2);
l2 = .l.vv(v2, v3);
v3 = .free(.3, .3);
Geometer will do fine for the first 3 lines. v1 is a point at (.1, .1), v2 is another one at (.2, .2), and l1 is a line connecting the two of them. But when it tries to interpret the next line, it fails because it's supposed to make a line connecting v2 and v3. It knows what v2 is, but it can't read ahead, so in spite of the fact that v3 is defined on the very next line, an error is generated because when Geometer was trying to construct line l2, it didn't yet know what v3 was.

Every geometric primitive has an internal name, even if it isn't used in later commands. (This may change in the future -- there's no reason to require a user to think of names for things that will not be used, but for now, that's how it is.) Primitives like text that can't be involved in future commands never have a name.

The use Geometer makes of external names depends on exactly what it is that's named. If a point or a line has an external name, that name is drawn beside the point or the middle of the line. If an angle has a name, the name is displayed on the interior of the angle, where "interior" satisfies the usual conditions.

A number (called a "flt" (to remind you of a "floating point number") in Geometer) that has an external name is listed, together with its value, on the right side of the drawing area. Thus, if you want to display the value of an angle as the user changes its size, you'd put the angle's size into an flt whose name was the name of the angle, and its value will be continuously displayed.

The two most common values that you may want to display are the measure of an angle or the length of a line segment. In either case, you can use the command Display Name to make the value of the selected primitive visible on the screen. If the name display is toggled on, Geometer will use the name of the primitive, if it exists, and otherwise the internal name. In the Geometer file, if a primitive is to be displayed, .display will appear as one of the properties. It is not an error to include this property with items other than line segments or angles, but at present, it has no effect except in those two cases.

Other items can currently take external names which are at present unused, except in the Describe Geometry command which will always use the external name if it's available.