r3curve

r3curve

Class

real/code/r3curve.h

Library

r3code

Description:

Curve Class.

See Also

oops/r3model.h

Super Class

r3Model

R3CLID_MODEL

JavaScript

r3Curve

Class Identifier

R3CLID_CURVE - 49

Methods

TRANSFORM_I, TRANSFORM_F, TRANSFORM_V, TRANSFORM_C, TRANSFORM_FN, FLATLINES, ADDPOINTIFNOTONLINE, ADDPOINTIFONLINE, ADDPOINT, EVALXYPOINTS, DERIVE, SETDERIVATIVE, TRANSFORM_V4, TRANSFORM_C4, SCALEPOINTSX, ADDFIRSTTOEND, ADDLASTTOBEGINNING, SIMPLIFY, SETACTIVE, TRANSFORMPOINTSX, UNSELECTALL, SELECTBYX, TRANSLATESELECTEDX, DELETESELECTEDPOINTS, SETSELECTEDX, DELETEALLPOINTS, SETMINMAX, DUPLICATESELECTEDPOI, TRANSLATESELECTEDXFR, SHAPECHANGED, ISACTIVE, SETSELECTEDY, SELECTBYLIST, TRANSLATESELECTED, ADDPOINTGENERAL, ALIGNSELECTEDPOINTS, SETPOINTGEOMETRY, SELECTBYINDEX, GETNEXTPOINTBYX, GETPREVPOINTBYX, SELECTRANGE, SHIFTTOORIGINY, SETSELECTEDTYPE, GETSELECTEDTYPE, DISTRIBUTE, MIRRORY,

Attributes

Points, Points1, Points2, Points3, NCurves, NumPoints, MaxX, MinX, MaxY, MinY, Type, PointCount0, PointCount1, PointCount2, PointCount3, IsQuaternion, AlsoChangesObj, AlsoChangesMth, NewKeyTolerance, PrepareChangesMth, AngleType, AdvancedEditing,

Registration

int R3RegisterCurveClass(R3APP *app);

R3CURVM_TRANSFORM_I

Method

TRANSFORM_I

Identifier

R3CURVM_TRANSFORM_I

Param 3:

R3INT*, value to be transformed.

JavaScript

obj.TRANSFORM_I(p3);

Description

Transform given integer value. If the curve consist of more than one curve, the first curve is used for transforming. The second and third curves has no effect.

R3CURVM_TRANSFORM_F

Method

TRANSFORM_F

Identifier

R3CURVM_TRANSFORM_F

Param 3:

R3FLOAT, float value to be transformed

JavaScript

obj.TRANSFORM_F(p3);

Description

Transform given R3FLOAT

R3CURVM_TRANSFORM_V

Method

TRANSFORM_V

Identifier

R3CURVM_TRANSFORM_V

Param 3:

R3VECTOR, vector to be transformed

JavaScript

obj.TRANSFORM_V(p3);

Description

Transform vector value.

R3CURVM_TRANSFORM_C

Method

TRANSFORM_C

Identifier

R3CURVM_TRANSFORM_C

Param 3:

R3FLOATCOLOR3, color to be transformed

JavaScript

obj.TRANSFORM_C(p3);

Description

Transform R3FLOATCOLOR3 value

R3CURVM_TRANSFORM_FN

Method

TRANSFORM_FN

Identifier

R3CURVM_TRANSFORM_FN

Param 1:

R3FLOAT, float to be transformed

Param 3:

R3INT, ordnum of the curve 0, 1, 2.

JavaScript

obj.TRANSFORM_FN(p1, p3);

Description

Transform float value using ordnum defining the curve to be used.

R3CURVM_FLATLINES

Method

FLATLINES

Identifier

R3CURVM_FLATLINES

Param 3:

R3INT, sub curve disable bits (e.g. 3 = two first sub curves won't change)

JavaScript

obj.FLATLINES(p3);

Description

Make all curves 'flat' - all points will get y coordinate of the first point.

R3CURVM_ADDPOINTIFNOTONLINE

Method

ADDPOINTIFNOTONLINE

Identifier

R3CURVM_ADDPOINTIFNOTONLINE

Return

R3BOOL, returns true if point was added, false if not

Param 1:

R3INT, type id R3TID_FLOAT, R3TID_VECTOR, R3TID_VECTOR4, R3TID_INTEGER, R3TID_BOOLEAN, R3TID_ENUM

Param 2:

void*, x value, parameter type must correspond to type id specified in p1

Param 3:

void*, y value, parameter type must correspond to type id specified in p1

JavaScript

rc = obj.ADDPOINTIFNOTONLINE(p1, p2, p3);

Description

Adds new point into the curve provided the curve doesn't already pass through the given point.

R3CURVM_ADDPOINTIFONLINE

Method

ADDPOINTIFONLINE

Identifier

R3CURVM_ADDPOINTIFONLINE

Return

R3BOOL, returns true if point was added, false if not.

Param 1:

R3INT, type id R3TID_FLOAT, R3TID_VECTOR, R3TID_VECTOR4, R3TID_INTEGER, R3TID_BOOLEAN, R3TID_ENUM

Param 2:

void*, x value, parameter type must correspond to type id specified in p1

Param 3:

void*, y value, parameter type must correspond to type id specified in p1

JavaScript

rc = obj.ADDPOINTIFONLINE(p1, p2, p3);

Description

Adds new point into the curve provided the curve passes through the point.

R3CURVM_ADDPOINT

Method

ADDPOINT

Identifier

R3CURVM_ADDPOINT

JavaScript

obj.ADDPOINT();

Description

R3CURVM_EVALXYPOINTS

Method

EVALXYPOINTS

Identifier

R3CURVM_EVALXYPOINTS

Return

R3INT, number of evaluated points

Param 1:

R3INT, curve index (0, 1, 2)

Param 2:

R3VECTOR, result points

Param 3:

R3INT, buffer size, maximum number of points to be evaluated

JavaScript

rc = obj.EVALXYPOINTS(p1, p2, p3);

Description

Evaluate curve to drawable polygon in XY points.

R3CURVM_DERIVE

Method

DERIVE

Identifier

R3CURVM_DERIVE

Param 1:

R3VECTOR, parameter value

Param 3:

R3VECTOR, result

JavaScript

obj.DERIVE(p1, p3);

Description

Derive curve.

R3CURVM_SETDERIVATIVE

Method

SETDERIVATIVE

Identifier

R3CURVM_SETDERIVATIVE

Param 1:

R3VECTOR, parameter value

Param 2:

R3INT, sub curve disable bits

Param 3:

R3VECTOR, derivative correspondin the parameter value.

JavaScript

obj.SETDERIVATIVE(p1, p2, p3);

Description

Set derivative of the curve. The curve points will be modified so that the given derivative achieved.

R3CURVM_TRANSFORM_V4

Method

TRANSFORM_V4

Identifier

R3CURVM_TRANSFORM_V4

Param 3:

R3VECTOR4, vector to be transformed

JavaScript

obj.TRANSFORM_V4(p3);

Description

Transform vector value.

R3CURVM_TRANSFORM_C4

Method

TRANSFORM_C4

Identifier

R3CURVM_TRANSFORM_C4

Param 3:

R3FLOATCOLOR, color to be transformed

JavaScript

obj.TRANSFORM_C4(p3);

Description

Transform R3FLOATCOLOR value

R3CURVM_SCALEPOINTSX

Method

SCALEPOINTSX

Identifier

R3CURVM_SCALEPOINTSX

Param 1:

R3FLOAT, center of scaling

Param 2:

R3INT, sub curve disable bits (0=scale all)

Param 3:

R3FLOAT, scaling factor

JavaScript

obj.SCALEPOINTSX(p1, p2, p3);

Description

Scale all X values of points with given factor

R3CURVM_ADDFIRSTTOEND

Method

ADDFIRSTTOEND

Identifier

R3CURVM_ADDFIRSTTOEND

Param 1:

R3INT, sub curve disable bits (0=scale all)

Param 3:

R3FLOAT, parameter (=x) value where to add the point

JavaScript

obj.ADDFIRSTTOEND(p1, p3);

Description

Adds a new point to given x value by copying the y value of first point

R3CURVM_ADDLASTTOBEGINNING

Method

ADDLASTTOBEGINNING

Identifier

R3CURVM_ADDLASTTOBEGINNING

Param 1:

R3INT, sub curve disable bits (0=scale all)

Param 3:

R3FLOAT, parameter (=x) value where to add the point

JavaScript

obj.ADDLASTTOBEGINNING(p1, p3);

Description

Adds a new point to given x value by copying the y value of the last point

R3CURVM_SIMPLIFY

Method

SIMPLIFY

Identifier

R3CURVM_SIMPLIFY

Param 3:

R3INT, mask bits defining which sub curves should be skipped (0=simplify all)

JavaScript

obj.SIMPLIFY(p3);

Description

Remove unnecessary points.

R3CURVM_SETACTIVE

Method

SETACTIVE

Identifier

R3CURVM_SETACTIVE

Param 1:

R3INT, curve index

Param 2:

R3INT, point index

Param 3:

R3BOOL, TRUE sets FALSE resets

JavaScript

obj.SETACTIVE(p1, p2, p3);

Description

Set currently active point

R3CURVM_TRANSFORMPOINTSX

Method

TRANSFORMPOINTSX

Identifier

R3CURVM_TRANSFORMPOINTSX

Param 1:

R3FLOAT, translate

Param 2:

R3INT, disable bits

Param 3:

R3FLOAT, scale

JavaScript

obj.TRANSFORMPOINTSX(p1, p2, p3);

Description

Scale and translate all X values of points: new_x = old_x*scale + translate

R3CURVM_UNSELECTALL

Method

UNSELECTALL

Identifier

R3CURVM_UNSELECTALL

Param 3:

R3INT, disable bits - if 0 all points of all sub curves become unselected

JavaScript

obj.UNSELECTALL(p3);

Description

Unselect all points of given sub curves

R3CURVM_SELECTBYX

Method

SELECTBYX

Identifier

R3CURVM_SELECTBYX

Return

R3BOOL, TRUE if points became selected

Param 1:

R3INT, disable bits. If 0 all sub curves checked

Param 3:

R3FLOAT, x coordinate

JavaScript

rc = obj.SELECTBYX(p1, p3);

Description

Select points 'very near' the given x coordinate

R3CURVM_TRANSLATESELECTEDX

Method

TRANSLATESELECTEDX

Identifier

R3CURVM_TRANSLATESELECTEDX

Param 1:

R3INT, disable bits,

Param 3:

R3FLOAT, delta

JavaScript

obj.TRANSLATESELECTEDX(p1, p3);

Description

Translate curve points in x direction.

R3CURVM_DELETESELECTEDPOINTS

Method

DELETESELECTEDPOINTS

Identifier

R3CURVM_DELETESELECTEDPOINTS

Param 3:

R3INT, sub curve disable bits: 0=delete from all curves

JavaScript

obj.DELETESELECTEDPOINTS(p3);

Description

Delete select points

R3CURVM_SETSELECTEDX

Method

SETSELECTEDX

Identifier

R3CURVM_SETSELECTEDX

Param 1:

R3INT, disable bits

Param 3:

R3FLOAT, new x value

JavaScript

obj.SETSELECTEDX(p1, p3);

Description

Set x coordinate for the selected points.

R3CURVM_DELETEALLPOINTS

Method

DELETEALLPOINTS

Identifier

R3CURVM_DELETEALLPOINTS

JavaScript

obj.DELETEALLPOINTS();

Description

Delete all curve points

R3CURVM_SETMINMAX

Method

SETMINMAX

Identifier

R3CURVM_SETMINMAX

Param 3:

R3TAG*, tag list specifying the following tags: R3CURVA_MaxX, R3CURVA_MinX, R3CURVA_MaxY, R3CURVA_MinY, R3CURVA_Rescale.

JavaScript

obj.SETMINMAX(p3);

Description

Set new min / max limits for the curve. If R3CURVA_Rescale is TRUE, * curve points are scaled accordingly.

R3CURVM_DUPLICATESELECTEDPOI

Method

DUPLICATESELECTEDPOI

Identifier

R3CURVM_DUPLICATESELECTEDPOI

Param 1:

R3INT, disable bits

Param 3:

R3BOOL, if true, newly created points are selected

JavaScript

obj.DUPLICATESELECTEDPOI(p1, p3);

Description

Duplicate selected points

R3CURVM_TRANSLATESELECTEDXFR

Method

TRANSLATESELECTEDXFR

Identifier

R3CURVM_TRANSLATESELECTEDXFR

Param 1:

R3INT, disable bits

Param 3:

R3FLOAT, delta

JavaScript

obj.TRANSLATESELECTEDXFR(p1, p3);

Description

R3CURVM_SHAPECHANGED

Method

SHAPECHANGED

Identifier

R3CURVM_SHAPECHANGED

JavaScript

obj.SHAPECHANGED();

Description

private

R3CURVM_ISACTIVE

Method

ISACTIVE

Identifier

R3CURVM_ISACTIVE

Return

R3BOOL, TRUE if selected

Param 1:

R3INT, curve index

Param 3:

R3INT, point index

JavaScript

rc = obj.ISACTIVE(p1, p3);

Description

Checks if point is active

R3CURVM_SETSELECTEDY

Method

SETSELECTEDY

Identifier

R3CURVM_SETSELECTEDY

Param 1:

R3INT, disable bits

Param 3:

R3FLOAT, new y value

JavaScript

obj.SETSELECTEDY(p1, p3);

Description

Set y coordinate for the selected points

R3CURVM_SELECTBYLIST

Method

SELECTBYLIST

Identifier

R3CURVM_SELECTBYLIST

Param 1:

R3INT, sub curve index

Param 3:

R3LIST, see R3CURVEPOINT nodes below

JavaScript

obj.SELECTBYLIST(p1, p3);

Description

Copies selection states from a given list to a sub curve

R3CURVM_TRANSLATESELECTED

Method

TRANSLATESELECTED

Identifier

R3CURVM_TRANSLATESELECTED

Param 1:

R3INT, disable bits

Param 2:

R3BOOL, if TRUE points are not moved outside R3CURVA_MinX... limits

Param 3:

R3FLOAT, array of two floats deltax & deltay

JavaScript

obj.TRANSLATESELECTED(p1, p2, p3);

Description

Translate selected points

R3CURVM_ADDPOINTGENERAL

Method

ADDPOINTGENERAL

Identifier

R3CURVM_ADDPOINTGENERAL

Return

R3BOOL, TRUE if point was added

Param 1:

R3FLOAT, array of x values (must match current R3CURVA_NCurves count)

Param 2:

R3FLOAT, array of y values

JavaScript

rc = obj.ADDPOINTGENERAL(p1, p2, 0);

Description

Insert new point to a curve.

R3CURVM_ALIGNSELECTEDPOINTS

Method

ALIGNSELECTEDPOINTS

Identifier

R3CURVM_ALIGNSELECTEDPOINTS

Param 3:

R3INT, disable bits

JavaScript

obj.ALIGNSELECTEDPOINTS(p3);

Description

align selected points into a line from first selected to last selected point

R3CURVM_SETPOINTGEOMETRY

Method

SETPOINTGEOMETRY

Identifier

R3CURVM_SETPOINTGEOMETRY

Param 3:

R3TAG*, tag list containing R3CURVA_Points, R3CURVA_Points1, R3CURVA_Points2, R3CURVA_Points3.

JavaScript

obj.SETPOINTGEOMETRY(p3);

Description

Sets the point geometry, does not change selection.

R3CURVM_SELECTBYINDEX

Method

SELECTBYINDEX

Identifier

R3CURVM_SELECTBYINDEX

Param 1:

R3INT, sub curve index

Param 3:

R3INT, knot index

JavaScript

obj.SELECTBYINDEX(p1, p3);

Description

selects a point by sub curve and knot index

R3CURVM_GETNEXTPOINTBYX

Method

GETNEXTPOINTBYX

Identifier

R3CURVM_GETNEXTPOINTBYX

Return

R3BOOL, true if found, false if not.

Param 3:

R3FLOAT, x value

JavaScript

rc = obj.GETNEXTPOINTBYX(p3);

Description

Find next point closest to the given x value. The passed x value * will be replaced by the x coord. of the next key.

R3CURVM_GETPREVPOINTBYX

Method

GETPREVPOINTBYX

Identifier

R3CURVM_GETPREVPOINTBYX

Return

R3BOOL, true if found, false if not.

Param 3:

R3FLOAT, x value

JavaScript

rc = obj.GETPREVPOINTBYX(p3);

Description

Find previous point closest to the given x value. The passed x value * will be replaced by the x coord. of the next key.

R3CURVM_SELECTRANGE

Method

SELECTRANGE

Identifier

R3CURVM_SELECTRANGE

Return

R3INT, number of points selected

Param 1:

R3INT, mask specifying disabled curves

Param 3:

R3FLOAT, end value

JavaScript

rc = obj.SELECTRANGE(p1, p3);

Description

Select curves within the given X range

R3CURVM_SHIFTTOORIGINY

Method

SHIFTTOORIGINY

Identifier

R3CURVM_SHIFTTOORIGINY

Param 3:

R3INT, disabled mask

JavaScript

obj.SHIFTTOORIGINY(p3);

Description

Shift curves to start from origin in y dimension

R3CURVM_SETSELECTEDTYPE

Method

SETSELECTEDTYPE

Identifier

R3CURVM_SETSELECTEDTYPE

Param 1:

R3INT, disabled mask

Param 3:

R3INT, R3CPTYPE_SMOOTH or R3CPTYPE_SHARP

JavaScript

obj.SETSELECTEDTYPE(p1, p3);

Description

Set point types for the selected points.

R3CURVM_GETSELECTEDTYPE

Method

GETSELECTEDTYPE

Identifier

R3CURVM_GETSELECTEDTYPE

Return

R3BOOL, true if succeeded (points selected)

Param 1:

R3INT, disabled mask

Param 2:

R3BOOL*, conflict

Param 3:

R3INT*, returns R3CPTYPE_SMOOTH or R3CPTYPE_SHARP

JavaScript

rc = obj.GETSELECTEDTYPE(p1, p2, p3);

Description

Get point types for the selected points.

R3CURVM_DISTRIBUTE

Method

DISTRIBUTE

Identifier

R3CURVM_DISTRIBUTE

Param 3:

R3INT, mask bits defining which sub curves should be skipped (0=all)

JavaScript

obj.DISTRIBUTE(p3);

Description

Distribute the selected points evenly

R3CURVM_MIRRORY

Method

MIRRORY

Identifier

R3CURVM_MIRRORY

Param 3:

R3INT, mask bits defining which sub curves should be skipped (0=all)

JavaScript

obj.MIRRORY(p3);

Description

Mirror the points in y direction.

Points

Attribute

Points

Identifier

R3CURVA_Points

JavaScript type

r3List

C type

R3LIST*

Description

list consisting of R3CURVEPOINT nodes

Syntax


jsobj.SetPoints(value);
value = jsobj.GetPoints();


R3LIST* value = ...;
R3SetAttrs(r3obj, R3CURVA_Points, value, R3TAG_END);
R3LIST* value;
R3GetAttrs(r3obj, R3CURVA_Points, &value, R3TAG_END);

Points1

Attribute

Points1

Identifier

R3CURVA_Points1

JavaScript type

r3List

C type

R3LIST*

Description

list consisting of R3CURVEPOINT nodes

Syntax


jsobj.SetPoints1(value);
value = jsobj.GetPoints1();


R3LIST* value = ...;
R3SetAttrs(r3obj, R3CURVA_Points1, value, R3TAG_END);
R3LIST* value;
R3GetAttrs(r3obj, R3CURVA_Points1, &value, R3TAG_END);

Points2

Attribute

Points2

Identifier

R3CURVA_Points2

JavaScript type

r3List

C type

R3LIST*

Description

list consisting of R3CURVEPOINT nodes

Syntax


jsobj.SetPoints2(value);
value = jsobj.GetPoints2();


R3LIST* value = ...;
R3SetAttrs(r3obj, R3CURVA_Points2, value, R3TAG_END);
R3LIST* value;
R3GetAttrs(r3obj, R3CURVA_Points2, &value, R3TAG_END);

Points3

Attribute

Points3

Identifier

R3CURVA_Points3

JavaScript type

r3List

C type

R3LIST*

Description

list consisting of R3CURVEPOINT nodes

Syntax


jsobj.SetPoints3(value);
value = jsobj.GetPoints3();


R3LIST* value = ...;
R3SetAttrs(r3obj, R3CURVA_Points3, value, R3TAG_END);
R3LIST* value;
R3GetAttrs(r3obj, R3CURVA_Points3, &value, R3TAG_END);

NCurves

Attribute

NCurves

Identifier

R3CURVA_NCurves

JavaScript type

Integer

C type

R3INT

Description

number of curves: max 4

Syntax


jsobj.SetNCurves(value);
value = jsobj.GetNCurves();


R3INT value = ...;
R3SetAttrs(r3obj, R3CURVA_NCurves, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3CURVA_NCurves, &value, R3TAG_END);

NumPoints

Attribute

NumPoints

Identifier

R3CURVA_NumPoints

JavaScript type

Integer

C type

R3INT

Description

initial number of points per curve

Syntax


jsobj.SetNumPoints(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3CURVA_NumPoints, value, R3TAG_END);

MaxX

Attribute

MaxX

Identifier

R3CURVA_MaxX

JavaScript type

Number

C type

R3FLOAT

Description

min/max limits

Syntax


jsobj.SetMaxX(value);
value = jsobj.GetMaxX();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3CURVA_MaxX, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3CURVA_MaxX, &value, R3TAG_END);

MinX

Attribute

MinX

Identifier

R3CURVA_MinX

JavaScript type

Number

C type

R3FLOAT

Description

min/max limits

Syntax


jsobj.SetMinX(value);
value = jsobj.GetMinX();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3CURVA_MinX, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3CURVA_MinX, &value, R3TAG_END);

MaxY

Attribute

MaxY

Identifier

R3CURVA_MaxY

JavaScript type

Number

C type

R3FLOAT

Description

min/max limits

Syntax


jsobj.SetMaxY(value);
value = jsobj.GetMaxY();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3CURVA_MaxY, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3CURVA_MaxY, &value, R3TAG_END);

MinY

Attribute

MinY

Identifier

R3CURVA_MinY

JavaScript type

Number

C type

R3FLOAT

Description

min/max limits

Syntax


jsobj.SetMinY(value);
value = jsobj.GetMinY();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3CURVA_MinY, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3CURVA_MinY, &value, R3TAG_END);

Type

Attribute

Type

Identifier

R3CURVA_Type

JavaScript type

Integer

C type

R3INT

Description

R3CUTY_* below

Syntax


jsobj.SetType(value);
value = jsobj.GetType();


R3INT value = ...;
R3SetAttrs(r3obj, R3CURVA_Type, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3CURVA_Type, &value, R3TAG_END);

PointCount0

Attribute

PointCount0

Identifier

R3CURVA_PointCount0

JavaScript type

Integer

C type

R3INT

Description

number of points in 1st curve (read-only))

Syntax


value = jsobj.GetPointCount0();


R3INT value;
R3GetAttrs(r3obj, R3CURVA_PointCount0, &value, R3TAG_END);

PointCount1

Attribute

PointCount1

Identifier

R3CURVA_PointCount1

JavaScript type

Integer

C type

R3INT

Description

number of points in 2. curve

Syntax


value = jsobj.GetPointCount1();


R3INT value;
R3GetAttrs(r3obj, R3CURVA_PointCount1, &value, R3TAG_END);

PointCount2

Attribute

PointCount2

Identifier

R3CURVA_PointCount2

JavaScript type

Integer

C type

R3INT

Description

number of points in 3. curve

Syntax


value = jsobj.GetPointCount2();


R3INT value;
R3GetAttrs(r3obj, R3CURVA_PointCount2, &value, R3TAG_END);

PointCount3

Attribute

PointCount3

Identifier

R3CURVA_PointCount3

JavaScript type

Integer

C type

R3INT

Description

number of points in 4. curve

Syntax


value = jsobj.GetPointCount3();


R3INT value;
R3GetAttrs(r3obj, R3CURVA_PointCount3, &value, R3TAG_END);

IsQuaternion

Attribute

IsQuaternion

Identifier

R3CURVA_IsQuaternion

JavaScript type

Boolean

C type

R3BOOL

Description

if true and if 3 curves, quaternion interpolation used

Syntax


jsobj.SetIsQuaternion(value);
value = jsobj.GetIsQuaternion();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3CURVA_IsQuaternion, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3CURVA_IsQuaternion, &value, R3TAG_END);

AlsoChangesObj

Attribute

AlsoChangesObj

Identifier

R3CURVA_AlsoChangesObj

JavaScript type

Object

C type

R3OBJ*

Description

object to be informed when curve is changed

Syntax


jsobj.SetAlsoChangesObj(value);


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3CURVA_AlsoChangesObj, value, R3TAG_END);

AlsoChangesMth

Attribute

AlsoChangesMth

Identifier

R3CURVA_AlsoChangesMth

JavaScript type

Integer

C type

R3INT

Description

mth used for calling _AlsoChangesObj

Syntax


jsobj.SetAlsoChangesMth(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3CURVA_AlsoChangesMth, value, R3TAG_END);

NewKeyTolerance

Attribute

NewKeyTolerance

Identifier

R3CURVA_NewKeyTolerance

JavaScript type

Number

C type

R3FLOAT

Description

modify existing/create new key tolerance

Syntax


jsobj.SetNewKeyTolerance(value);
value = jsobj.GetNewKeyTolerance();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3CURVA_NewKeyTolerance, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3CURVA_NewKeyTolerance, &value, R3TAG_END);

PrepareChangesMth

Attribute

PrepareChangesMth

Identifier

R3CURVA_PrepareChangesMth

JavaScript type

Integer

C type

R3INT

Description

called before curves are about to chage

Syntax


jsobj.SetPrepareChangesMth(value);


R3INT value = ...;
R3SetAttrs(r3obj, R3CURVA_PrepareChangesMth, value, R3TAG_END);

AngleType

Attribute

AngleType

Identifier

R3CURVA_AngleType

JavaScript type

Integer

C type

R3INT

Description

for R3CURVM_ADDPOINTGENERAL, see angle types below

Syntax


jsobj.SetAngleType(value);
value = jsobj.GetAngleType();


R3INT value = ...;
R3SetAttrs(r3obj, R3CURVA_AngleType, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3CURVA_AngleType, &value, R3TAG_END);

AdvancedEditing

Attribute

AdvancedEditing

Identifier

R3CURVA_AdvancedEditing

JavaScript type

Boolean

C type

R3BOOL

Description

Syntax


jsobj.SetAdvancedEditing(value);
value = jsobj.GetAdvancedEditing();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3CURVA_AdvancedEditing, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3CURVA_AdvancedEditing, &value, R3TAG_END);

Angle types

R3CAT_NONE
R3CAT_HPB
R3CAT_HPT

R3CURVA_Type

R3CUTY_NURBS
R3CUTY_POLYLINE
R3CUTY_BOOLEAN
R3CUTY_NURBS2
R3CUTY_BEZIER

Point types (r3curvepoint->n.type)

R3CPTYPE_SMOOTH
R3CPTYPE_SHARP

R3CURVA_AddPointCondition

R3CAP_ALWAYS
R3CAP_IF_ON_LINE
R3CAP_IF_NOT_ON_LINE

Tags

Tags

R3CURVA_Rescale
R3CURVA_AddPointMask
R3CURVA_AddPointCondition
R3CURVA_AddPointTolerance