## The IntraMap Model

To allow you to write your own Mappings, AST provides a special kind of MappingMapping called an IntraMapIntraMap. An IntraMap is a sort of “wrapper” for a coordinate transformation function written in C. You write this function yourself and then register it with AST. This, in effect, creates a new class from which you can create Mappings (i.e. IntraMaps) which will transform coordinates in whatever way your transformation function specifies.

Because IntraMaps are Mappings, they may be used in the same way as any other Mapping. For instance, they may be combined in series or parallel with other Mappings using a CmpMapCmpMap (§6), they may be inverted (§5.6), you may enquire about their attributes (§4.5), they may be inserted into FrameSets (§13), etc. They do, however, have some important limitations of which you should be aware before we go on to consider how to create them.