## Creating an IntraMap

Once a transformation function has been registered, creating an IntraMapIntraMap from it is simple:

281#281

We simply use the astIntraMapastIntraMap constructor function and pass it the name of the transformation function to use. This name is the same (case sensitive) one that we associated with the function when we registered it using astIntraRegastIntraReg (§20.5).

You can, of course, register any number of transformation functions and select which one to use whenever you create an IntraMap. You can also create any number of independent IntraMaps using each transformation function. In this sense, each transformation function you register effectively creates a new “sub-class” of IntraMap, from which you can create Objects just like any other class. However, an error will occur if you attempt to use a transformation function that has not yet been registered.

The second and third arguments to astIntraMap are the numbers of input and output coordinates. These define the NinNin and NoutNout attributes for the IntraMap that is created and they must match the corresponding numbers given when the transformation function was registered.

The final argument is the usual attribute initialisation string. You may set attribute values for an IntraMap in exactly the same way as for any other MappingMapping (§4.6, and also see §20.9).