IannixCurve explanation of what IannixCurve is and/or does

Inherits from: Object : IannixObject

! See first: IannixObject for common variables and methods for all Iannix objects.

Creation / Class Methods

*new (parent, id)

parent - mandatory. must be an instance of Iannix class.

id - if nil: automatically incremented, based on already created object of this type, and default offset for this type.

// example

i = Iannix.new;

l = IannixCurve.new(i); //creation in sclang

l.send;

l.points_([0@0, 3@3]); //a simple line with two points (see later).

Note: Its better to create a curve this way (automatic indexation, sending and positionning):

i = Iannix.new;

l = i.curve([0@1, 10@1]);

Redefining

points_ (pointsArray)

the points that will 'build' the curve

pointsArray

- a list of Point instances, i.e. the coordinates of the defining point onto the Iannix application score.

- accepts different types of point definitions:

a point can be:

- a Point instance (eg. 2@3) , witch will add a point in the 2D plane (x, y).

- a pair (eg. [2, 3]), witch will add a point in the 2D plane. (x, y)

- a triplet (eg. [2, 3, -1]), , witch will add a point in the 3D plane. (x, y, z).

-a couple of lists:

the first list will be a pair or a triplet, witch will represent the coordinates in the 2D or 3D plane,

the second list will contain 4 or 6 elements, defining the bezier start and end tangent , in the 2D or 3D plane:

-2D beziers: [2, 2, 0, 2] will represent the start tangent (the two first values) and end tangent (the two last values) in the 2D plane => 4 values

-3D beziers: [0, -2, 2 , 5, 0, 0] will represent the start tangent (the three first values) and end tangent (the three last values) in the 3D plane => 6 values

complete representation of a point with beziers: [ [x, y, (z)], [startTangent_x, startTangent_y, (startTangent_z), endTangent_x, endTangent_y, (endTangent_z)] ]

fromSVGpath (svgPath, width, height)

//note, I can't make it to work :(

svgPath - A SVG path, as string.

width - width of the curve representation.

height - height of the curve representation.

(

//svgPath ~svg="M637.599,1569.972c0,0,89.127,0,222.818,0c8.913,0,18.023,0,27.381,0.113C901,1570,913,1573,926,1576c67,15,128,43,198,28c9-2,17.833-4.277,26.554-6.685c8.72-2.407,17.255-5.074,25.247-8.562C1224,1567,1239,1514,1256,1469c18-48,69-29,101-9c81.375,48.125,161.219,103.141,254.032,110.08c13.259,0.991,26.782,1.001,40.616-0.129C1716,1574,1788,1562,1842,1606c39,32,62,97,119,90c44-6,70-47,101.551-72.846";

)

i = Iannix.new;

i.removeAll(true);

l = i.curve.fromSVGpath(~svg, 0, 0);

fromSVGpath2 (svgPath, scale)

The SVG path of these curves is simply a set of points (absolutely positioned).

svgPath - a serie of points, or a serie of pairs.

scale - Default value is 1.

i = Iannix.new;

l = i.curve.fromSVGpath2([1@1, 1@2, -1@2, -1 @ -2, -2@0], 1);

asEllipse (width, height)

Ellipses are defined by a major axis and a minor axis.

width - Default value is 1.

height - Default value is 1.

i = Iannix.new;

l = i.curve.asEllipse(3, 2);

fromText (text, scale, fontFamily)

uses a text as a basis for vectorisation.

text - self explanatory - Default value is nil

scale - Default value is 0.1

fontFamily - Default value is "Arial".

i = Iannix.new;

l = i.curve.fromText("hello");

l.fromText("world!");

fromImage (imagePath, scale)

automatic vectorization from a png file.

imagePath - Default value is nil.

scale - Explanation of scale. Default value is 1. Other information.

i = Iannix.new;

l = i.curve.fromImage(Document.current.dir++"\/SCcube.png", 0.03);

width_ (width)

Width of the curve.

width - Default value is 0.1.

l.width_(10)

Examples

...