proc bakeInterval*(self: Curve3D): float64 {.gcsafe, locks: 0
.} 
- 
 
proc `bakeInterval =`*(self: Curve3D; val: float64) {.gcsafe, locks: 0
.} 
- 
 
proc data*(self: Curve3D): int64 {.gcsafe, locks: 0
.} 
- 
 
proc `data =`*(self: Curve3D; val: int64) {.gcsafe, locks: 0
.} 
- 
 
proc getPointCount*(self: Curve3D): int64 {.gcsafe, locks: 0
.} 
- 
 
proc addPoint*(self: Curve3D; pos: Vector3; inn: Vector3 = vec3(0.0, 0.0, 0.0);
              outt: Vector3 = vec3(0.0, 0.0, 0.0); atpos: int64 = - 1'i64) {.gcsafe,
    locks: 0
.} 
- 
 
proc setPointPos*(self: Curve3D; idx: int64; pos: Vector3) {.gcsafe, locks: 0
.} 
- 
 
proc getPointPos*(self: Curve3D; idx: int64): Vector3 {.gcsafe, locks: 0
.} 
- 
 
proc setPointTilt*(self: Curve3D; idx: int64; tilt: float64) {.gcsafe, locks: 0
.} 
- 
 
proc getPointTilt*(self: Curve3D; idx: int64): float64 {.gcsafe, locks: 0
.} 
- 
 
proc setPointIn*(self: Curve3D; idx: int64; pos: Vector3) {.gcsafe, locks: 0
.} 
- 
 
proc getPointIn*(self: Curve3D; idx: int64): Vector3 {.gcsafe, locks: 0
.} 
- 
 
proc setPointOut*(self: Curve3D; idx: int64; pos: Vector3) {.gcsafe, locks: 0
.} 
- 
 
proc getPointOut*(self: Curve3D; idx: int64): Vector3 {.gcsafe, locks: 0
.} 
- 
 
proc removePoint*(self: Curve3D; idx: int64) {.gcsafe, locks: 0
.} 
- 
 
proc clearPoints*(self: Curve3D) {.gcsafe, locks: 0
.} 
- 
 
proc interpolate*(self: Curve3D; idx: int64; t: float64): Vector3 {.gcsafe, locks: 0
.} 
- 
 
proc interpolatef*(self: Curve3D; fofs: float64): Vector3 {.gcsafe, locks: 0
.} 
- 
 
proc getBakedLength*(self: Curve3D): float64 {.gcsafe, locks: 0
.} 
- 
 
proc interpolateBaked*(self: Curve3D; offset: float64; cubic: bool = false): Vector3 {.
    gcsafe, locks: 0
.} 
- 
 
proc getBakedPoints*(self: Curve3D): PoolVector3Array {.gcsafe, locks: 0
.} 
- 
 
proc getBakedTilts*(self: Curve3D): PoolRealArray {.gcsafe, locks: 0
.} 
- 
 
proc tessellate*(self: Curve3D; maxStages: int64 = 5'i64;
                toleranceDegrees: float64 = 4.0): PoolVector3Array {.gcsafe, locks: 0
.} 
-