r3triset

r3triset

Class

real/objects/r3triset.h

Library

r3obj

Description:

Triset Class

See Also

real/objects/r3level.h

Super Class

r3Level

R3CLID_LEVEL

JavaScript

r3Triset

Class Identifier

R3CLID_TRISET - 532

Methods

UPDATEFACECENTERS, ADDFACE, SMOOTH, FLATTEN, MERGE, NEWGEOMETRY, SMOOTHALLQUICKLY, SETFACEINDICES, SETFACENORMALS, GETFACECENTER, GETEDGECENTER, GETFACENORMALHANDLES, SETDEFAULTNORMALLENG, SMOOTHBYANGLE, FLIPNORMALS, SETPOINTWISEVALUE, GETPOINTWISEVALUE, ADDPOINTWISEATTRIBUT, REMOVEPOINTWISEATTRI, ENUMFACEVERTICES,

Attributes

PointCount, Points, FaceCount, SelectResolution, SelectedFaces, SelectedEdges, SelectedVertices, PointsNotAnimateable, PhongCorrection, SelectedFaceVertices,

super clas

R3TRISM_UPDATEFACECENTERS

Method

UPDATEFACECENTERS

Identifier

R3TRISM_UPDATEFACECENTERS

JavaScript

obj.UPDATEFACECENTERS();

Description

R3TRISM_ADDFACE

Method

ADDFACE

Identifier

R3TRISM_ADDFACE

JavaScript

obj.ADDFACE();

Description

adds a face between three selected vertices

R3TRISM_SMOOTH

Method

SMOOTH

Identifier

R3TRISM_SMOOTH

JavaScript

obj.SMOOTH();

Description

smooths normals of selected faces or vertices

R3TRISM_FLATTEN

Method

FLATTEN

Identifier

R3TRISM_FLATTEN

JavaScript

obj.FLATTEN();

Description

flattens normals of selected faces

R3TRISM_MERGE

Method

MERGE

Identifier

R3TRISM_MERGE

JavaScript

obj.MERGE();

Description

merges selected vertices

R3TRISM_NEWGEOMETRY

Method

NEWGEOMETRY

Identifier

R3TRISM_NEWGEOMETRY

Param 1:

R3INT, new face count

Param 2:

R3INT*, facecount*3 vertex indexes

JavaScript

obj.NEWGEOMETRY(p1, p2, 0);

Description

Replaces current face and point set with a new one.

R3TRISM_SMOOTHALLQUICKLY

Method

SMOOTHALLQUICKLY

Identifier

R3TRISM_SMOOTHALLQUICKLY

JavaScript

obj.SMOOTHALLQUICKLY();

Description

Computes smooth normals to all points. Normal side of faces may not be consistent.

R3TRISM_SETFACEINDICES

Method

SETFACEINDICES

Identifier

R3TRISM_SETFACEINDICES

Return

R3BOOL, true if succeeded

Param 1:

R3INT, index of the face

Param 3:

R3INT*, array of three indices

JavaScript

rc = obj.SETFACEINDICES(p1, p3);

Description

Set face indices

R3TRISM_SETFACENORMALS

Method

SETFACENORMALS

Identifier

R3TRISM_SETFACENORMALS

Return

R3BOOL, true if succeeded

Param 1:

R3INT, index of the face

Param 3:

R3VECTOR, array of three vectors specifying normals

JavaScript

rc = obj.SETFACENORMALS(p1, p3);

Description

Set face normals

R3TRISM_GETFACECENTER

Method

GETFACECENTER

Identifier

R3TRISM_GETFACECENTER

Param 1:

R3INT, index of the face

Param 3:

R3VECTOR, center is stored here

JavaScript

obj.GETFACECENTER(p1, p3);

Description

ask face center point

R3TRISM_GETEDGECENTER

Method

GETEDGECENTER

Identifier

R3TRISM_GETEDGECENTER

Param 1:

R3INT, index of the edge

Param 3:

R3VECTOR, center is stored here

JavaScript

obj.GETEDGECENTER(p1, p3);

Description

ask edge center point

R3TRISM_GETFACENORMALHANDLES

Method

GETFACENORMALHANDLES

Identifier

R3TRISM_GETFACENORMALHANDLES

Param 1:

R3INT, index of the face

Param 3:

R3VECTOR, array of 3 vectors. Method writes handle points to it.

JavaScript

obj.GETFACENORMALHANDLES(p1, p3);

Description

ask face normal handle points

R3TRISM_SETDEFAULTNORMALLENG

Method

SETDEFAULTNORMALLENG

Identifier

R3TRISM_SETDEFAULTNORMALLENG

JavaScript

obj.SETDEFAULTNORMALLENG();

Description

set nice normal length for all face normals

R3TRISM_SMOOTHBYANGLE

Method

SMOOTHBYANGLE

Identifier

R3TRISM_SMOOTHBYANGLE

Param 3:

R3FLOAT, threshold angle in radians

JavaScript

obj.SMOOTHBYANGLE(p3);

Description

smooths normals of selected faces or vertices if angle is greater than given limit

R3TRISM_FLIPNORMALS

Method

FLIPNORMALS

Identifier

R3TRISM_FLIPNORMALS

Param 3:

R3BOOL, if TRUE all normals are flipped regardless of point selection state

JavaScript

obj.FLIPNORMALS(p3);

Description

flips normal directions. In edit mode, only selected areas are flipped.

R3TRISM_SETPOINTWISEVALUE

Method

SETPOINTWISEVALUE

Identifier

R3TRISM_SETPOINTWISEVALUE

Return

R3BOOL, true if succeeded

Param 1:

R3INT, index of the point whose property is to be set

Param 2:

R3INT, property identifier

Param 3:

void*, new value, type depends on the property id.

JavaScript

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

Description

Set pointwise property

R3TRISM_GETPOINTWISEVALUE

Method

GETPOINTWISEVALUE

Identifier

R3TRISM_GETPOINTWISEVALUE

Return

R3BOOL, true if succeeded

Param 1:

R3INT, index of the point whose property is to be fetched

Param 2:

R3INT, property identifier

Param 3:

void*, buffer for the value to be fetched, type depends on the property id.

JavaScript

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

Description

Get pointwise property

R3TRISM_ADDPOINTWISEATTRIBUT

Method

ADDPOINTWISEATTRIBUT

Identifier

R3TRISM_ADDPOINTWISEATTRIBUT

Return

void*, non null if succeeded

Param 3:

R3TAG*, R3TRISA_PointwiseType, R3TRISA_PointwiseChannel, * R3TRISA_PointwiseID, R3TRISA_PointwiseName, R3TRISA_PointwiseData

JavaScript

rc = obj.ADDPOINTWISEATTRIBUT(p3);

Description

Add pointwise property

R3TRISM_REMOVEPOINTWISEATTRI

Method

REMOVEPOINTWISEATTRI

Identifier

R3TRISM_REMOVEPOINTWISEATTRI

Return

void*, non null if succeeded

Param 3:

R3INT, property identifier

JavaScript

rc = obj.REMOVEPOINTWISEATTRI(p3);

Description

Remove pointwise property

R3TRISM_ENUMFACEVERTICES

Method

ENUMFACEVERTICES

Identifier

R3TRISM_ENUMFACEVERTICES

Param 3:

R3TAG*, tag list with R3RA_Hook and R3RA_HookData

JavaScript

obj.ENUMFACEVERTICES(p3);

Description

Enumerates UV vertices of selected faces as * hook(void *hookdata, R3OBJ *triset, R3VECTOR *uvcoord, int index_of_uvvertex, int R3TRISHT_FACEVERTEX)

PointCount

Attribute

PointCount

Identifier

R3TRISA_PointCount

JavaScript type

Integer

C type

R3INT

Description

number of vertices

Syntax


jsobj.SetPointCount(value);
value = jsobj.GetPointCount();


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

Points

Attribute

Points

Identifier

R3TRISA_Points

Type

r3Vect

Description

array of vertices

Syntax


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


R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3TRISA_Points, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3TRISA_Points, &value, R3TAG_END);

FaceCount

Attribute

FaceCount

Identifier

R3TRISA_FaceCount

JavaScript type

Integer

C type

R3INT

Description

number of faces

Syntax


jsobj.SetFaceCount(value);
value = jsobj.GetFaceCount();


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

SelectResolution

Attribute

SelectResolution

Identifier

R3TRISA_SelectResolution

JavaScript type

Integer

C type

R3INT

Description

selection resolution, R3TRISR_POINT, R3TRISR_EDGE or R3TRISR_FACE

Syntax


jsobj.SetSelectResolution(value);
value = jsobj.GetSelectResolution();


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

SelectedFaces

Attribute

SelectedFaces

Identifier

R3TRISA_SelectedFaces

JavaScript type

String

C type

R3UBYTE*

Description

array of flags showing selected faces

Syntax


value = jsobj.GetSelectedFaces();


R3UBYTE* value;
R3GetAttrs(r3obj, R3TRISA_SelectedFaces, &value, R3TAG_END);

SelectedEdges

Attribute

SelectedEdges

Identifier

R3TRISA_SelectedEdges

JavaScript type

String

C type

R3UBYTE*

Description

array of flags showing selected edges

Syntax


value = jsobj.GetSelectedEdges();


R3UBYTE* value;
R3GetAttrs(r3obj, R3TRISA_SelectedEdges, &value, R3TAG_END);

SelectedVertices

Attribute

SelectedVertices

Identifier

R3TRISA_SelectedVertices

JavaScript type

String

C type

R3UBYTE*

Description

array of flags showing selected vertices

Syntax


value = jsobj.GetSelectedVertices();


R3UBYTE* value;
R3GetAttrs(r3obj, R3TRISA_SelectedVertices, &value, R3TAG_END);

PointsNotAnimateable

Attribute

PointsNotAnimateable

Identifier

R3TRISA_PointsNotAnimateable

JavaScript type

Boolean

C type

R3BOOL

Description

for special sub classes such as metaball

Syntax


jsobj.SetPointsNotAnimateable(value);
value = jsobj.GetPointsNotAnimateable();


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

PhongCorrection

Attribute

PhongCorrection

Identifier

R3TRISA_PhongCorrection

JavaScript type

Number

C type

R3FLOAT

Description

0..1 factor for fading lighting at edges

Syntax


jsobj.SetPhongCorrection(value);
value = jsobj.GetPhongCorrection();


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

SelectedFaceVertices

Attribute

SelectedFaceVertices

Identifier

R3TRISA_SelectedFaceVertices

JavaScript type

String

C type

R3UBYTE*

Description

array of flags showing selected UV vertices

Syntax


value = jsobj.GetSelectedFaceVertices();


R3UBYTE* value;
R3GetAttrs(r3obj, R3TRISA_SelectedFaceVertices, &value, R3TAG_END);

Faces

does not have to be unit vectors

Handle types

R3TRIHT_VERTEX
R3TRIHT_EDGE
R3TRIHT_FACE
R3TRIHT_NORMAL
R3TRIHT_FACEVERTEX

R3TRISR_POINT
R3TRISR_EDGE
R3TRISR_FACE

Registry function

Tags

Tags

R3TRISA_Type
R3TRISA_PointwiseChannel
R3TRISA_PointwiseID
R3TRISA_PointwiseName
R3TRISA_PointwiseData
<sect6> <title>r3metab</title>

r3metab

Class

plugins/objects/metaball/r3metab.h

Library

r3metab

Description:

Metaball object

See Also

real/objects/r3triset.h

Super Class

r3Triset

R3CLID_TRISET

JavaScript

r3Metaball

Class Identifier

R3CLID_METABALL - 618

Methods

RENDERMETABALL,

Attributes

ResolutionX, ResolutionY, ResolutionZ, IsoValue, Regularity, Accuracy, Field, IsoValueClid, IsoValueChannelName, RenderType,

Registration

int R3RegisterMetaBallClass(R3APP *app);

super clas

R3METABM_RENDERMETABALL

Method

RENDERMETABALL

Identifier

R3METABM_RENDERMETABALL

JavaScript

obj.RENDERMETABALL();

Description

ResolutionX

Attribute

ResolutionX

Identifier

R3METABA_ResolutionX

JavaScript type

Integer

C type

R3INT

Description

number of voxels

Syntax


jsobj.SetResolutionX(value);
value = jsobj.GetResolutionX();


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

ResolutionY

Attribute

ResolutionY

Identifier

R3METABA_ResolutionY

JavaScript type

Integer

C type

R3INT

Description

'R3METABA_ResolutionY' not documented

Syntax


jsobj.SetResolutionY(value);
value = jsobj.GetResolutionY();


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

ResolutionZ

Attribute

ResolutionZ

Identifier

R3METABA_ResolutionZ

JavaScript type

Integer

C type

R3INT

Description

'R3METABA_ResolutionZ' not documented

Syntax


jsobj.SetResolutionZ(value);
value = jsobj.GetResolutionZ();


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

IsoValue

Attribute

IsoValue

Identifier

R3METABA_IsoValue

JavaScript type

Number

C type

R3FLOAT

Description

initial value for isovalue

Syntax


jsobj.SetIsoValue(value);
value = jsobj.GetIsoValue();


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

Regularity

Attribute

Regularity

Identifier

R3METABA_Regularity

JavaScript type

Integer

C type

R3INT

Description

1-10, the lower the value, the better small details are noticed

Syntax


jsobj.SetRegularity(value);
value = jsobj.GetRegularity();


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

Accuracy

Attribute

Accuracy

Identifier

R3METABA_Accuracy

JavaScript type

Integer

C type

R3INT

Description

field evaluation accuracy, 0-10

Syntax


jsobj.SetAccuracy(value);
value = jsobj.GetAccuracy();


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

Field

Attribute

Field

Identifier

R3METABA_Field

JavaScript type

Integer

C type

R3INT

Description

scalar field, see codes below

Syntax


jsobj.SetField(value);
value = jsobj.GetField();


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

IsoValueClid

Attribute

IsoValueClid

Identifier

R3METABA_IsoValueClid

JavaScript type

Integer

C type

R3INT

Description

evaluate this channel by evaluating this channel

Syntax


jsobj.SetIsoValueClid(value);
value = jsobj.GetIsoValueClid();


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

IsoValueChannelName

Attribute

IsoValueChannelName

Identifier

R3METABA_IsoValueChannelName

JavaScript type

String

C type

char*

Description

name of the channel to be evaluated

Syntax


jsobj.SetIsoValueChannelName(value);
value = jsobj.GetIsoValueChannelName();


char* value = ...;
R3SetAttrs(r3obj, R3METABA_IsoValueChannelName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3METABA_IsoValueChannelName, &value, R3TAG_END);

RenderType

Attribute

RenderType

Identifier

R3METABA_RenderType

JavaScript type

Integer

C type

R3INT

Description

Syntax


jsobj.SetRenderType(value);
value = jsobj.GetRenderType();


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

codes for field tag

R3METAFIELD_LINEAR
R3METAFIELD_QUADRIC
R3METAFIELD_CUBIC
R3METAFIELD_VOLUME
R3METAFIELD_DEG4

codes for render type

R3MBREN_TRISET
R3MBREN_PROCEDURAL

Registry function

</sect6>