The curves scenegraph location, in addition to the standard Katana curves attributes, KtoA handles the following additional attributes:

`anoldStatements.*`

: the various curve-related settings are applied. In particular,`curve_mode`

,`curve_basis`

,`min_pixel_width`

,`flip_t`

, and`curve_triplicate_endpoints`

are used beyond the common settings available. Please see the`ArnoldObjectSettings`

node for those curve settings.`geometry.arbitrary.st`

: texture coordinates here are treated as per-curve values, and translated as root UVs for curves in Arnold.**Note**that there should be one ST (two floats) per curve, and the scope should be`primitive`

(not`face`

,`vertex`

or`point`

).`geometry.point.orientation`

,`geometry.point.N`

,`geometry.point.normal`

: a three-float list of orientation vectors per curve point, indicating the direction the curve is facing. This only applies when`arnoldStatements.curve_mode`

is`oriented`

.- Curve widths, listed in order of higher precedence (only one set is applied):
`geometry.curveWidthStart`

and`geometry.curveWidthEnd`

: float, per curve. These attributes allow the specification of a root and tip width for each curve.- (deprecated)
`geometry.curves_width`

: used only if`geometry.curves_ncurves`

is present. One float width per varying value, or per curve point, or per curve. `geometry.point.width`

: float, one per varying value, or per point, or per curve. Semantically it is recommended to use this per point or per varying value.`geometry.width`

: float, one per varying value, or per point, or per curve. Semantically, it is recommended to use this per curve.`geometry.constantWidth`

: float, one value for the whole location.- (deprecated)
`geometry.point.constantWidth`

: float, one value for the whole location. `geometry.curveWidthEnd`

: float, per curve. This option attribute is used instead of use`geometry.point.width`

or`geometry.point.constantWidth`

if present, this attribute allows the specification of a tip width for each curve.

- (deprecated)
`geometry.curves_pointList`

: legacy synonym for`geometry.point.P`

- (deprecated)
`geometry.curves_nvertices`

: legacy synonym for`geometry.numVertices`

- (deprecated)
`geometry.curveMode`

: legacy synonym for`arnoldStatements.curve_mode`

Currently, standard curves location attributes `geometry.degree`

and `geometry.knots`

are ignored, but will likely be supported in some fashion in a future KtoA release.

## Arbitrary Data Sizes

Arbitrary data for curves is a bit of a special case, because Katana normally vets arbitrary data scope such as `face`

or `point`

against `polymesh`

or `subdmesh`

location attributes to make sure there are the right number of values. Because curves lack those attributes, only `primitive`

scope should be used for curves arbitrary attributes. In a future version of KtoA additional scopes will be properly supported for curves.