 @@{
 LINEAR_BASIS
 =>
-RTC_GEOMETRY_TYPE_LINEAR_CURVE
+RTC_GEOMETRY_TYPE_ROUND_OR_FLAT_LINEAR_CURVE
 }@@
 
 @@{
 BEZIER_BASIS
 =>
-RTC_GEOMETRY_TYPE_BEZIER_CURVE
+RTC_GEOMETRY_TYPE_ROUND_OR_FLAT_BEZIER_CURVE
 }@@
 
 @@{
 BSPLINE_BASIS
 =>
-RTC_GEOMETRY_TYPE_BSPLINE_CURVE
+RTC_GEOMETRY_TYPE_ROUND_OR_FLAT_BSPLINE_CURVE
 }@@
 
 

@@{
rtcNewLineSegments2(EXPR scene,EXPR flags,EXPR numSegments,EXPR numVertices,EXPR numTimeSteps)
=>
rtcNewCurveGeometryX (scene,RTC_GEOMETRY_TYPE_LINEAR_CURVE,RTC_GEOMETRY_SUBTYPE_FLAT,flags,numSegments,numVertices,numTimeSteps)
}@@

@@{
rtcNewLineSegments2(EXPR scene,EXPR flags,EXPR numSegments,EXPR numVertices,EXPR numTimeSteps,EXPR geomID)
=>
rtcNewCurveGeometryX (scene,RTC_GEOMETRY_TYPE_LINEAR_CURVE,RTC_GEOMETRY_SUBTYPE_FLAT,flags,numSegments,numVertices,numTimeSteps,geomID)
}@@


@@{
LHS geomID = rtcNewCurveGeometryX (EXPR scene,EXPR basis,EXPR subtype,EXPR flags,EXPR numPrimitives,EXPR numVertices,EXPR numTimeSteps);
=>
uniform RTCGeometry VAR geom = rtcNewCurveGeometry (g_device,basis,subtype,flags,numPrimitives,numVertices,numTimeSteps);
geomID = rtcAttachGeometry(scene,geom);
rtcReleaseGeometry(geom);
}@@

@@{
rtcNewCurveGeometryX (EXPR scene,EXPR basis,EXPR subtype,EXPR flags,EXPR numPrimitives,EXPR numVertices,EXPR numTimeSteps);
=>
uniform RTCGeometry VAR geom = rtcNewCurveGeometry (g_device,basis,subtype,flags,numPrimitives,numVertices,numTimeSteps);
rtcAttachGeometry(scene,geom);
rtcReleaseGeometry(geom);
}@@

@@{
rtcNewCurveGeometryX (EXPR scene,EXPR basis,EXPR subtype,EXPR flags,EXPR numPrimitives,EXPR numVertices,EXPR numTimeSteps,EXPR geomID);
=>
uniform RTCGeometry VAR geom = rtcNewCurveGeometry (g_device,basis,subtype,flags,numPrimitives,numVertices,numTimeSteps);
rtcAttachGeometryById(scene,geom,geomID);
rtcReleaseGeometry(geom);
}@@

@@{
RTCGeometry ID geom = rtcNewCurveGeometry (EXPR device,EXPR basis,EXPR subtype,EXPR flags,EXPR numPrimitives,EXPR numVertices,EXPR numTimeSteps);
=>
uniform RTCGeometry geom = rtcNewCurveGeometry (device,basis,subtype,flags,numPrimitives,numVertices,numTimeSteps);
rtcSetGeometryBuildQuality(geom,flags);
rtcSetGeometryTimeStepCount(geom,numTimeSteps);
}@@

@@{
rtcNewBezierHairGeometry2(EXPR scene,EXPR flags,EXPR numPrimitives,EXPR numVertices,EXPR numTimeSteps)
=>
rtcNewCurveGeometryX(scene,RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE,flags,numPrimitives,numVertices,numTimeSteps)
}@@

@@{
rtcNewBezierHairGeometry2(EXPR scene,EXPR flags,EXPR numPrimitives,EXPR numVertices,EXPR numTimeSteps,EXPR geomID)
=>
rtcNewCurveGeometryX(scene,RTC_GEOMETRY_TYPE_FLAT_BEZIER_CURVE,flags,numPrimitives,numVertices,numTimeSteps,geomID)
}@@

@@{
