long createSmokeField(string ck, string fc, string x, string y, double r1, double r2, float angle)
This method creates a special polygon called a smoke field with CARIS Key and Feature Code given by ck and fc, respectively, and with geographic characteristics given by x, y, r1, r2, and angle. With reference to the figure below (The smoke field is the shaded region.):
- The coordinates x and y provide the origin of the smoke field which must be relative to the Exchange Coordinate System, unless the map type is NRMR (See Map Types).
- The distances r1 and r2 provide the long radius and short radius, i.e. L and r, respectively, in meters.
- The angle argument provides the rotation clockwise from North, theta, of the axis of symmetry. (The figure shows angle = 90 degrees.)
The figure below shows a smoke field with all settings the same, except that angle = 78 degrees, instead of 90 degrees.

The smoke field is created with the current defaults for line weight, line style, fill style, and color, as well as the current default restriction. These defaults can be modified by the ShapeAPI methods:
respectively, by calling one or more of them prior to createSmokeField.
The method returns 0 upon success, and returns error codes for the following conditions:
The given coordinates are invalid
angle is out of range, i.e. not between -360 and 360
r1 less than r2 (causes invalid size error)
Placement is restricted (the default) and the given location lies outside the map’s cover
Placement is restricted and the map has no cover (this occurs if the map has no features)
A CSF error occurred when trying to create the feature. (This should normally not occur, and would most likely indicate a corrupted map dataset.)