#### Description:

This function creates a new WinMap and optionally initialises its attributes.

A Winmap is a linear Mapping which transforms a rectangular window in one coordinate system into a similar window in another coordinate system by scaling and shifting each axis (the window edges being parallel to the coordinate axes).

A WinMap is specified by giving the coordinates of two opposite corners (A and B) of the window in both the input and output coordinate systems.

#### Synopsis

AstWinMap ∗astWinMap( int ncoord, const double ina[], const double inb[], const double outa[], const double outb[], const char ∗options, ... )

#### Parameters:

##### ncoord

The number of coordinate values for each point to be transformed (i.e. the number of dimensions of the space in which the points will reside). The same number is applicable to both input and output points.

##### ina

An array containing the `"` ncoord`"` coordinates of corner A of the window in the input coordinate system.

##### inb

An array containing the `"` ncoord`"` coordinates of corner B of the window in the input coordinate system.

##### outa

An array containing the `"` ncoord`"` coordinates of corner A of the window in the output coordinate system.

##### outb

An array containing the `"` ncoord`"` coordinates of corner B of the window in the output coordinate system.

##### options

Pointer to a null-terminated string containing an optional comma-separated list of attribute assignments to be used for initialising the new WinMap. The syntax used is identical to that for the astSet function and may include `"` printf`"` format specifiers identified by `"` %`"` symbols in the normal way.

##### ...

If the `"` options`"` string contains `"` %`"` format specifiers, then an optional list of additional arguments may follow it in order to supply values to be substituted for these specifiers. The rules for supplying these are identical to those for the astSet function (and for the C `"` printf`"` function).

#### Returned Value

##### astWinMap()

A pointer to the new WinMap.

#### Notes:

- A null Object pointer (AST__NULL) will be returned if this function is invoked with the AST error status set, or if it should fail for any reason.

#### Status Handling

The protected interface to this function includes an extra parameter at the end of the parameter list descirbed above. This parameter is a pointer to the integer inherited status variable: `"` int ∗status`"` .
Copyright (C) 2021 East Asian Observatory