r3constructor
real/objects/r3constructor.h
r3obj
Constructor object.
r3Level
R3CLID_LEVEL
r3Constructor
R3CLID_CONSTRUCTOR - 1810
TRANSFORMATTR, RECONSTRUCT, ENUMTARGETATT, DORECONSTRUCT, DEFORMTARGETP, PREPARE, RELEASE, ENUMTARGETPNU, ENUMTARGETOBJ, NEWCHOR, DELCHOR, ENUMTARGETPOI, BIND, BINDSIBLINGS, UNBINDSIBLING, BEGIN, END, BINDOBJ, UNBINDOBJ,
R3CONSTRUCTORM_TRANSFORMATTR
TRANSFORMATTR
R3CONSTRUCTORM_TRANSFORMATTR
R3BOOL, the super class returns FALSE if the object is disabled (R3CONSTRUCTORA_Enabled=FALSE) * in which case the derived classes should not touch the target attribute.
R3OBJ*, target object
void*, attribute channel buffer.
rc = obj.TRANSFORMATTR(p1, p3);
Transform the given target attribute.
R3CONSTRUCTORM_RECONSTRUCT
RECONSTRUCT
R3CONSTRUCTORM_RECONSTRUCT
obj.RECONSTRUCT();
Run reconstruction. This method is typically called from R3MM_CHANGED, R3PRIMM_SIBLINGCHANGED or R3PRIMM_CHILDCHANGED depending on the constructor.
R3CONSTRUCTORM_ENUMTARGETATT
ENUMTARGETATT
R3CONSTRUCTORM_ENUMTARGETATT
R3INT, true if attribute was defined.
R3OBJ*, object to be called
R3INT, callback method
R3INT, attribute to be passed to the callback method.
rc = obj.ENUMTARGETATT(p1, p2, p3);
Call the given object with given attribute.
R3CONSTRUCTORM_DORECONSTRUCT
DORECONSTRUCT
R3CONSTRUCTORM_DORECONSTRUCT
obj.DORECONSTRUCT();
Private: optimized reconstruction. Call R3CONSTRUCTORM_RECONSTRUCT to ask the reconstruction.
R3CONSTRUCTORM_DEFORMTARGETP
DEFORMTARGETP
R3CONSTRUCTORM_DEFORMTARGETP
R3OBJ*, constructor object to be called
R3INT, callback method for the constructor object
void*, callback data
obj.DEFORMTARGETP(p1, p2, p3);
Recursively enumerate target points for a given constructor. If the constructor's callback method returns TRUE, the point in question is assigned back to object by calling R3PRIMM_SETPOINT. This method is typically used by deformators.
R3CONSTRUCTORM_PREPARE
PREPARE
R3CONSTRUCTORM_PREPARE
R3BOOL, true if succeeded
R3INT, tag
R3INT, index
rc = obj.PREPARE(p1, p2, 0);
Restore given attribute. This executes internal 'restore origval ' * constructor.
R3CONSTRUCTORM_RELEASE
RELEASE
R3CONSTRUCTORM_RELEASE
R3BOOL, true if succeeded
R3INT, tag
R3INT, index
rc = obj.RELEASE(p1, p2, 0);
Detach the constructor from the target objects.
R3CONSTRUCTORM_ENUMTARGETPNU
ENUMTARGETPNU
R3CONSTRUCTORM_ENUMTARGETPNU
R3BOOL, true if object handled.
R3OBJ*, callback object
R3INT*, callback method
rc = obj.ENUMTARGETPNU(p1, p2, 0);
Enumerate geometric points, associated surface normals and uvw coordinates from the target objects. It is up to sub classes to implement this method. Some geometric classes may not support uvw coordinates or surface normals, in which case NULL should be passed in corresponding parameter. Callback is called as: R3DoA3(callbackobj, callbackmth, obj, index, p_n_uvw); where R3VECTOR *p_n_uvw[3]; p_n_uvw[0] = &vertex; p_n_uvw[1] = &normal; p_n_uvw[2] = &uvw;
R3CONSTRUCTORM_ENUMTARGETOBJ
ENUMTARGETOBJ
R3CONSTRUCTORM_ENUMTARGETOBJ
R3BOOL, return value from the constructors callback method
R3OBJ*, callback object
R3INT, callback method
void*, callback data
rc = obj.ENUMTARGETOBJ(p1, p2, p3);
Enum target objects for the constructor.
R3CONSTRUCTORM_NEWCHOR
NEWCHOR
R3CONSTRUCTORM_NEWCHOR
R3OBJ*, chor object for the target object
R3INT, attribute
R3INT, attribute index (-1 if regular attribute)
rc = obj.NEWCHOR(p1, p3);
Callback method for creating the chor. associated with the constructor
R3CONSTRUCTORM_DELCHOR
DELCHOR
R3CONSTRUCTORM_DELCHOR
R3BOOL, true if succeeded
rc = obj.DELCHOR();
Callback method for deleting chor objects associated with the constructors.
R3CONSTRUCTORM_ENUMTARGETPOI
ENUMTARGETPOI
R3CONSTRUCTORM_ENUMTARGETPOI
R3OBJ*, constructor object to be called
R3INT, callback method for the constructor object
void*, callback data
obj.ENUMTARGETPOI(p1, p2, p3);
Recursively enumerate target points for a given constructor.
R3CONSTRUCTORM_BIND
BIND
R3CONSTRUCTORM_BIND
R3BOOL, true if succeeded
R3BOOL, recursive
R3OBJ*, target object
rc = obj.BIND(p1, p3);
Bind constructor to the given target object
R3CONSTRUCTORM_BINDSIBLINGS
BINDSIBLINGS
R3CONSTRUCTORM_BINDSIBLINGS
obj.BINDSIBLINGS();
Bind to the sibling objects.
R3CONSTRUCTORM_UNBINDSIBLING
UNBINDSIBLING
R3CONSTRUCTORM_UNBINDSIBLING
obj.UNBINDSIBLING();
Unbind from the sibling objects
R3CONSTRUCTORM_BEGIN
BEGIN
R3CONSTRUCTORM_BEGIN
R3BOOL, the state of the _Enabled attribute.
rc = obj.BEGIN();
Start construction. If the constructor's R3CONSTRUCTORA_Enabled is FALSE, * the base class returns FALSE and the derived classes should not touch * the target attributes.
R3CONSTRUCTORM_END
END
R3CONSTRUCTORM_END
obj.END();
Tells the object that the construction cycle is done.
R3CONSTRUCTORM_BINDOBJ
BINDOBJ
R3CONSTRUCTORM_BINDOBJ
R3BOOL, true if succeeded
R3OBJ*, target
rc = obj.BINDOBJ(p3);
Bind to the given target object.
R3CONSTRUCTORM_UNBINDOBJ
UNBINDOBJ
R3CONSTRUCTORM_UNBINDOBJ
R3BOOL, true if succeeded
R3OBJ*, target
rc = obj.UNBINDOBJ(p3);
Unbind the given target object.
Enabled
Enabled
R3CONSTRUCTORA_Enabled
Boolean
R3BOOL
jsobj.SetEnabled(value);
value = jsobj.GetEnabled();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3CONSTRUCTORA_Enabled, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3CONSTRUCTORA_Enabled, &value, R3TAG_END);
Target
Target
R3CONSTRUCTORA_Target
Boolean
R3BOOL
true means other constructors can control this constructor
jsobj.SetTarget(value);
value = jsobj.GetTarget();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3CONSTRUCTORA_Target, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3CONSTRUCTORA_Target, &value, R3TAG_END);
Animator
Animator
R3CONSTRUCTORA_Animator
Boolean
R3BOOL
true if this object acts as an active animator rather than just a deformator
jsobj.SetAnimator(value);
value = jsobj.GetAnimator();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3CONSTRUCTORA_Animator, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3CONSTRUCTORA_Animator, &value, R3TAG_END);
Tags
r3cobend
real/objects/r3cobend.h
r3obj
Bend constructor
r3Constructor
R3CLID_CONSTRUCTOR
r3Bendconstructor
R3CLID_BENDCONSTRUCTOR - 1782
int R3RegisterBendConstructorClass(R3APP *app);
AxisOrigin
AxisOrigin
R3COBENDA_AxisOrigin
initial origin
jsobj.SetAxisOrigin(value);
value = jsobj.GetAxisOrigin();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3COBENDA_AxisOrigin, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3COBENDA_AxisOrigin, &value, R3TAG_END);
AxisEnd
AxisEnd
R3COBENDA_AxisEnd
original end point
jsobj.SetAxisEnd(value);
value = jsobj.GetAxisEnd();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3COBENDA_AxisEnd, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3COBENDA_AxisEnd, &value, R3TAG_END);
ArcOrigin
ArcOrigin
R3COBENDA_ArcOrigin
current origin
jsobj.SetArcOrigin(value);
value = jsobj.GetArcOrigin();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3COBENDA_ArcOrigin, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3COBENDA_ArcOrigin, &value, R3TAG_END);
ArcEnd
ArcEnd
R3COBENDA_ArcEnd
current (bended) end point
jsobj.SetArcEnd(value);
value = jsobj.GetArcEnd();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3COBENDA_ArcEnd, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3COBENDA_ArcEnd, &value, R3TAG_END);
Angle
Angle
R3COBENDA_Angle
Number
R3FLOAT
bending angle -2PI...2PI (optional)
jsobj.SetAngle(value);
value = jsobj.GetAngle();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3COBENDA_Angle, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3COBENDA_Angle, &value, R3TAG_END);
geometric points
</sect6><sect6> <title>r3carriage</title>
r3carriage
plugins/objects/carriage/r3carriage.h
r3carriage
Carriage object converts deformations to linear transformations.
r3Constructor
R3CLID_CONSTRUCTOR
r3Carriage
R3CLID_CARRIAGE - 2441
Origin
Origin
R3CARRIAGEA_Origin
CARRIAGE point
jsobj.SetOrigin(value);
value = jsobj.GetOrigin();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3CARRIAGEA_Origin, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3CARRIAGEA_Origin, &value, R3TAG_END);
X
X
R3CARRIAGEA_X
point in 'x' direction
jsobj.SetX(value);
value = jsobj.GetX();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3CARRIAGEA_X, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3CARRIAGEA_X, &value, R3TAG_END);
Y
Y
R3CARRIAGEA_Y
point in 'y' direction
jsobj.SetY(value);
value = jsobj.GetY();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3CARRIAGEA_Y, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3CARRIAGEA_Y, &value, R3TAG_END);
Z
Z
R3CARRIAGEA_Z
point in 'z' direction
jsobj.SetZ(value);
value = jsobj.GetZ();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3CARRIAGEA_Z, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3CARRIAGEA_Z, &value, R3TAG_END);
</sect6><sect6> <title>r3cogroup</title>
r3cogroup
real/objects/r3cogroup.h
r3obj
Sub group constructor object.
r3Constructor
R3CLID_CONSTRUCTOR
r3Cogroup
R3CLID_COGROUP - 1759
CREATEFROMSELECTE, INVERTREFERENCES, XOR, ENUMTARGETPOINTS, SELECTTARGETPOINT,
R3COGROUPM_CREATEFROMSELECTE
CREATEFROMSELECTE
R3COGROUPM_CREATEFROMSELECTE
obj.CREATEFROMSELECTE();
Create group points from the currently selected * target points.
R3COGROUPM_INVERTREFERENCES
INVERTREFERENCES
R3COGROUPM_INVERTREFERENCES
obj.INVERTREFERENCES();
Invert group references - a referred point becomes unreferred and vise versa.
R3COGROUPM_XOR
XOR
R3COGROUPM_XOR
R3OBJ*, array of groups
obj.XOR(p3);
Apply XOR boolean operation between referred points. as a result, mutually referred points are removed from the given sub groups.
R3COGROUPM_ENUMTARGETPOINTS
ENUMTARGETPOINTS
R3COGROUPM_ENUMTARGETPOINTS
R3TAG*, R3RA_Hook, R3RA_HookData
obj.ENUMTARGETPOINTS(p3);
Enumerate target points
R3COGROUPM_SELECTTARGETPOINT
SELECTTARGETPOINT
R3COGROUPM_SELECTTARGETPOINT
R3BOOL, if true selects, otherwise deselects
obj.SELECTTARGETPOINT(p3);
Select/deselect all target points.
PointCount
PointCount
R3COGROUPA_PointCount
Integer
R3INT
number of points
jsobj.SetPointCount(value);
value = jsobj.GetPointCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3COGROUPA_PointCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3COGROUPA_PointCount, &value, R3TAG_END);
Positions
Positions
R3COGROUPA_Positions
current points
jsobj.SetPositions(value);
value = jsobj.GetPositions();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3COGROUPA_Positions, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3COGROUPA_Positions, &value, R3TAG_END);
Weight
Weight
R3COGROUPA_Weight
Number
R3FLOAT
weight
jsobj.SetWeight(value);
value = jsobj.GetWeight();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3COGROUPA_Weight, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3COGROUPA_Weight, &value, R3TAG_END);
handles
index of the point to be controlled
unique id specifying the target object
r3constr
plugins/objects/constraint/r3constr.h
r3constr
Base class for constraints
r3Constructor
R3CLID_CONSTRUCTOR
r3Constraint
R3CLID_CONSTRAINT - 1497
R3CONSTRM_SETTARGETS
SETTARGETS
R3CONSTRM_SETTARGETS
R3BOOL, true if succeeded
R3BOOL, recursive
R3OBJ**, null terminated array of objects to be constrained.
rc = obj.SETTARGETS(p1, p3);
Set objects to be constrained
Registry function
<sect7> <title>r3cnslng</title>r3cnslng
plugins/objects/constraint/r3cnslng.h
r3constr
Base class for programming language based constraints
r3Constraint
R3CLID_CONSTRAINT
r3Cnslng
R3CLID_CNSLNG - 1427
EXECUTE, UPDATETARGET, ALLOCINTERP, FINDINTERP, GETINTERPCLID,
super clas
R3CNSLNGM_EXECUTE
EXECUTE
R3CNSLNGM_EXECUTE
obj.EXECUTE();
Execute constraint procedure.
R3CNSLNGM_UPDATETARGET
UPDATETARGET
R3CNSLNGM_UPDATETARGET
R3BOOL, true if succeeded
rc = obj.UPDATETARGET();
Call the target object's
R3CNSLNGM_ALLOCINTERP
ALLOCINTERP
R3CNSLNGM_ALLOCINTERP
R3OBJ*, interpreter
rc = obj.ALLOCINTERP();
Allocate interpreter used for executing the constraint program.
R3CNSLNGM_FINDINTERP
FINDINTERP
R3CNSLNGM_FINDINTERP
R3OBJ*, null if no interpreter was found.
R3CLID, interpreter to be found
rc = obj.FINDINTERP(p3);
Find interpreter of given type
R3CNSLNGM_GETINTERPCLID
GETINTERPCLID
R3CNSLNGM_GETINTERPCLID
R3CLID, interpreter class to be used.
rc = obj.GETINTERPCLID();
Derived classes must provide information about the actual interpreter class to be used.
Script
Script
R3CNSLNGA_Script
String
char*
buffer containg the program to be executed
jsobj.SetScript(value);
value = jsobj.GetScript();
char* value = ...;
R3SetAttrs(r3obj, R3CNSLNGA_Script, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3CNSLNGA_Script, &value, R3TAG_END);
ScriptClid
ScriptClid
R3CNSLNGA_ScriptClid
Integer
R3CLID
class of scripting engine
jsobj.SetScriptClid(value);
value = jsobj.GetScriptClid();
R3CLID value = ...;
R3SetAttrs(r3obj, R3CNSLNGA_ScriptClid, value, R3TAG_END);
R3CLID value;
R3GetAttrs(r3obj, R3CNSLNGA_ScriptClid, &value, R3TAG_END);
ScriptObj
ScriptObj
R3CNSLNGA_ScriptObj
Object
R3OBJ*
scripting object
jsobj.SetScriptObj(value);
value = jsobj.GetScriptObj();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3CNSLNGA_ScriptObj, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3CNSLNGA_ScriptObj, &value, R3TAG_END);
Registry function
</sect7> </sect6><sect6> <title>r3drag</title>r3drag
real/objects/r3drag.h
r3obj
Drag animation object. Moves based on collisions between ground and animated object.
r3Constructor
R3CLID_CONSTRUCTOR
r3Drag
R3CLID_DRAG - 640
From
From
R3DRAGA_From
two points ...
jsobj.SetFrom(value);
value = jsobj.GetFrom();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3DRAGA_From, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3DRAGA_From, &value, R3TAG_END);
To
To
R3DRAGA_To
... defining the direction of the gravity
jsobj.SetTo(value);
value = jsobj.GetTo();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3DRAGA_To, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3DRAGA_To, &value, R3TAG_END);
Friction
Friction
R3DRAGA_Friction
Number
R3FLOAT
surface friction 0 ... 1
jsobj.SetFriction(value);
value = jsobj.GetFriction();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3DRAGA_Friction, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3DRAGA_Friction, &value, R3TAG_END);
Rebound
Rebound
R3DRAGA_Rebound
Number
R3FLOAT
rebound energy 0 ... 1
jsobj.SetRebound(value);
value = jsobj.GetRebound();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3DRAGA_Rebound, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3DRAGA_Rebound, &value, R3TAG_END);
attach translation to target by using dynamic tag
r3fiber
real/objects/r3fiber.h
r3obj
Fiber class. Creates fibers (curves) by evaluating sub objects
r3Constructor
R3CLID_CONSTRUCTOR
r3Fiber
R3CLID_FIBER - 682
OrientationU, OrientationV, CurveCount, PointCount, Displacement, DisplacementClid, DisplacementRnd, DisplacementChannel,
int R3RegisterFiberClass(R3APP *app);
OrientationU
OrientationU
R3FIBERA_OrientationU
Boolean
R3BOOL
jsobj.SetOrientationU(value);
value = jsobj.GetOrientationU();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3FIBERA_OrientationU, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3FIBERA_OrientationU, &value, R3TAG_END);
OrientationV
OrientationV
R3FIBERA_OrientationV
Boolean
R3BOOL
jsobj.SetOrientationV(value);
value = jsobj.GetOrientationV();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3FIBERA_OrientationV, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3FIBERA_OrientationV, &value, R3TAG_END);
CurveCount
CurveCount
R3FIBERA_CurveCount
Integer
R3INT
number of curves per interval
jsobj.SetCurveCount(value);
value = jsobj.GetCurveCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3FIBERA_CurveCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3FIBERA_CurveCount, &value, R3TAG_END);
PointCount
PointCount
R3FIBERA_PointCount
Integer
R3INT
number of points per interval
jsobj.SetPointCount(value);
value = jsobj.GetPointCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3FIBERA_PointCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3FIBERA_PointCount, &value, R3TAG_END);
Displacement
Displacement
R3FIBERA_Displacement
Number
R3FLOAT
displacement
jsobj.SetDisplacement(value);
value = jsobj.GetDisplacement();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3FIBERA_Displacement, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3FIBERA_Displacement, &value, R3TAG_END);
DisplacementClid
DisplacementClid
R3FIBERA_DisplacementClid
Integer
R3CLID
class id of the property
jsobj.SetDisplacementClid(value);
value = jsobj.GetDisplacementClid();
R3CLID value = ...;
R3SetAttrs(r3obj, R3FIBERA_DisplacementClid, value, R3TAG_END);
R3CLID value;
R3GetAttrs(r3obj, R3FIBERA_DisplacementClid, &value, R3TAG_END);
DisplacementRnd
DisplacementRnd
R3FIBERA_DisplacementRnd
Number
R3FLOAT
random factor for the displacement
jsobj.SetDisplacementRnd(value);
value = jsobj.GetDisplacementRnd();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3FIBERA_DisplacementRnd, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3FIBERA_DisplacementRnd, &value, R3TAG_END);
DisplacementChannel
DisplacementChannel
R3FIBERA_DisplacementChannel
String
char*
name of the channel where displacement is evaluated
jsobj.SetDisplacementChannel(value);
value = jsobj.GetDisplacementChannel();
char* value = ...;
R3SetAttrs(r3obj, R3FIBERA_DisplacementChannelName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3FIBERA_DisplacementChannelName, &value, R3TAG_END);
</sect6><sect6> <title>r3gm</title>
r3gm
plugins/objects/gmanag/r3gm.h
r3gmanag
Geometry Manager class for the parametric measuring system.
r3Constructor
R3CLID_CONSTRUCTOR
r3Gm
R3CLID_GM - 2586
GETCLIENTCS, SETCLIENTCS, FIT, REFRESH, GETMINSIZE, SETMINSIZE, GETBBSIZE, SETBBSIZE, ROTCLIENTSPACE, SNAPCSTOMODULO, NORMALIZESLAVES, UPDATEMINSIZE, SETCSSIZE, GETCSSIZE, DOREFRESH, resev, GETREQSIZE, SETSLAVEATTRS, REGISTERINSERTHANDLER,
Width, Height, Depth, X, Y, Z, P0, P1, P2, P3, Geometry, MinWidth, MinHeight, MinDepth, ModuloWidth, ModuloHeight, ModuloDepth, Sampling, Orientation, PrimarySnapDir, SecondSnapDir, ThirdSnapDir, RotateType, RotateAxis, SnapRange, SnapContact,
R3GMM_GETCLIENTCS
GETCLIENTCS
R3GMM_GETCLIENTCS
R3COORDSYS, fetch coordinate system specifying the packing space
obj.GETCLIENTCS(p3);
Get client space
R3GMM_SETCLIENTCS
SETCLIENTCS
R3GMM_SETCLIENTCS
R3COORDSYS, set coordinate system specifying the packing space
obj.SETCLIENTCS(p3);
Set client space
R3GMM_FIT
FIT
R3GMM_FIT
obj.FIT();
Compute the size for the gmanager geometry based on the current slaves. * This method is called when sub objects change and the gmanager size needs to be recomputed.
R3GMM_REFRESH
REFRESH
R3GMM_REFRESH
obj.REFRESH();
Refresh sub objects to match the gmanagers geometry. Typically * called when gmanager size is changed and the children need to be * updated accordingly. Update is done in an optimized way using the DOWHENIDLE method.
R3GMM_GETMINSIZE
GETMINSIZE
R3GMM_GETMINSIZE
R3VECTOR, minimum size
obj.GETMINSIZE(p3);
Fetch the current minimum size of the cs. in object's local space. *
R3GMM_SETMINSIZE
SETMINSIZE
R3GMM_SETMINSIZE
R3VECTOR, set minimum size for the gmanager.
obj.SETMINSIZE(p3);
Set minimum size of the cs in object's local space.
R3GMM_GETBBSIZE
GETBBSIZE
R3GMM_GETBBSIZE
R3VECTOR, current size
obj.GETBBSIZE(p3);
Fetch the current size of the bounding box in object's local space.
R3GMM_SETBBSIZE
SETBBSIZE
R3GMM_SETBBSIZE
R3VECTOR, new size
obj.SETBBSIZE(p3);
Set the current size of the bounding box in object's local space.
R3GMM_ROTCLIENTSPACE
ROTCLIENTSPACE
R3GMM_ROTCLIENTSPACE
R3VECTOR, rotation center
R3VECTOR, rotation axis
R3FLOAT, rotation angle
obj.ROTCLIENTSPACE(p1, p2, p3);
Rotate the packing cs in object's local space.
R3GMM_SNAPCSTOMODULO
SNAPCSTOMODULO
R3GMM_SNAPCSTOMODULO
R3VECTOR, size to be snapped
obj.SNAPCSTOMODULO(p3);
Snap the size of the cs to the current modulo.
R3GMM_NORMALIZESLAVES
NORMALIZESLAVES
R3GMM_NORMALIZESLAVES
obj.NORMALIZESLAVES();
This method can be called right after the slaves has * been inserted. The method rotates the slave spaces to match the * orientation so that the actual geometry remains unchanged in the abs space.
R3GMM_UPDATEMINSIZE
UPDATEMINSIZE
R3GMM_UPDATEMINSIZE
obj.UPDATEMINSIZE();
Sets the minimum size to match the current cs size.
R3GMM_SETCSSIZE
SETCSSIZE
R3GMM_SETCSSIZE
R3VECTOR, size
obj.SETCSSIZE(p3);
Set the size of the cs in objects local space.
R3GMM_GETCSSIZE
GETCSSIZE
R3GMM_GETCSSIZE
R3VECTOR, size of the packing cube
obj.GETCSSIZE(p3);
Get the size of the cs in objects local space
R3GMM_DOREFRESH
DOREFRESH
R3GMM_DOREFRESH
R3BOOL, true to force update
obj.DOREFRESH(p3);
Refresh sub objects to match the gmanager. Typically * called when gmanager size is changed and the children need to be * updated accordingly.
R3GMM_resev
resev
R3GMM_resev
obj.resev();
R3GMM_GETREQSIZE
GETREQSIZE
R3GMM_GETREQSIZE
R3VECTOR, required size
obj.GETREQSIZE(p3);
Fetch the minimum required size.
R3GMM_SETSLAVEATTRS
SETSLAVEATTRS
R3GMM_SETSLAVEATTRS
R3INT, indexed attribute to be set
void*, value for the indexed attribute to be set
obj.SETSLAVEATTRS(p1, p3);
Set options for all the slaves.
R3GMCM_REGISTERINSERTHANDLER
REGISTERINSERTHANDLER
R3GMCM_REGISTERINSERTHANDLER
R3BOOL, true if succeeded
rc = obj.REGISTERINSERTHANDLER();
Register insert handler, which is called whenever * new object is inserted into the gmanager.
Width
Width
R3GMA_Width
Number
R3FLOAT*
width in abs space
jsobj.SetWidth(value);
value = jsobj.GetWidth();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3GMA_Width, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3GMA_Width, &value, R3TAG_END);
Height
Height
R3GMA_Height
Number
R3FLOAT*
height
jsobj.SetHeight(value);
value = jsobj.GetHeight();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3GMA_Height, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3GMA_Height, &value, R3TAG_END);
Depth
Depth
R3GMA_Depth
Number
R3FLOAT*
depth
jsobj.SetDepth(value);
value = jsobj.GetDepth();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3GMA_Depth, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3GMA_Depth, &value, R3TAG_END);
X
X
R3GMA_X
Number
R3FLOAT
left edge in abs space
jsobj.SetX(value);
value = jsobj.GetX();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_X, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_X, &value, R3TAG_END);
Y
Y
R3GMA_Y
Number
R3FLOAT
top edge
jsobj.SetY(value);
value = jsobj.GetY();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_Y, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_Y, &value, R3TAG_END);
Z
Z
R3GMA_Z
Number
R3FLOAT
face edge
jsobj.SetZ(value);
value = jsobj.GetZ();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_Z, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_Z, &value, R3TAG_END);
P0
P0
R3GMA_P0
origin of the cs defining packing cube
jsobj.SetP0(value);
value = jsobj.GetP0();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3GMA_P0, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3GMA_P0, &value, R3TAG_END);
P1
P1
R3GMA_P1
end point for the x axis
jsobj.SetP1(value);
value = jsobj.GetP1();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3GMA_P1, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3GMA_P1, &value, R3TAG_END);
P2
P2
R3GMA_P2
end point for the y axis
jsobj.SetP2(value);
value = jsobj.GetP2();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3GMA_P2, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3GMA_P2, &value, R3TAG_END);
P3
P3
R3GMA_P3
end point for the z axis
jsobj.SetP3(value);
value = jsobj.GetP3();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3GMA_P3, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3GMA_P3, &value, R3TAG_END);
Geometry
Geometry
R3GMA_Geometry
Object
R3OBJ*
the actual geometry object
value = jsobj.GetGeometry();
R3OBJ* value;
R3GetAttrs(r3obj, R3GMA_Geometry, &value, R3TAG_END);
MinWidth
MinWidth
R3GMA_MinWidth
Number
R3FLOAT
minimum width
jsobj.SetMinWidth(value);
value = jsobj.GetMinWidth();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_MinWidth, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_MinWidth, &value, R3TAG_END);
MinHeight
MinHeight
R3GMA_MinHeight
Number
R3FLOAT
minimum height
jsobj.SetMinHeight(value);
value = jsobj.GetMinHeight();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_MinHeight, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_MinHeight, &value, R3TAG_END);
MinDepth
MinDepth
R3GMA_MinDepth
Number
R3FLOAT
minimum depth
jsobj.SetMinDepth(value);
value = jsobj.GetMinDepth();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_MinDepth, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_MinDepth, &value, R3TAG_END);
ModuloWidth
ModuloWidth
R3GMA_ModuloWidth
Number
R3FLOAT
modulo in width direction
jsobj.SetModuloWidth(value);
value = jsobj.GetModuloWidth();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_ModuloWidth, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_ModuloWidth, &value, R3TAG_END);
ModuloHeight
ModuloHeight
R3GMA_ModuloHeight
Number
R3FLOAT
modulo in height direction
jsobj.SetModuloHeight(value);
value = jsobj.GetModuloHeight();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_ModuloHeight, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_ModuloHeight, &value, R3TAG_END);
ModuloDepth
ModuloDepth
R3GMA_ModuloDepth
Number
R3FLOAT
modulo in depth direction
jsobj.SetModuloDepth(value);
value = jsobj.GetModuloDepth();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_ModuloDepth, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_ModuloDepth, &value, R3TAG_END);
Sampling
Sampling
R3GMA_Sampling
Integer
R3INT
sampling
jsobj.SetSampling(value);
value = jsobj.GetSampling();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_Sampling, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_Sampling, &value, R3TAG_END);
Orientation
Orientation
R3GMA_Orientation
Integer
R3INT
see orientations below
jsobj.SetOrientation(value);
value = jsobj.GetOrientation();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_Orientation, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_Orientation, &value, R3TAG_END);
PrimarySnapDir
PrimarySnapDir
R3GMA_PrimarySnapDir
Integer
R3INT
see search directions below
jsobj.SetPrimarySnapDir(value);
value = jsobj.GetPrimarySnapDir();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_PrimarySnapDir, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_PrimarySnapDir, &value, R3TAG_END);
SecondSnapDir
SecondSnapDir
R3GMA_SecondSnapDir
Integer
R3INT
see search directions below
jsobj.SetSecondSnapDir(value);
value = jsobj.GetSecondSnapDir();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_SecondSnapDir, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_SecondSnapDir, &value, R3TAG_END);
ThirdSnapDir
ThirdSnapDir
R3GMA_ThirdSnapDir
Integer
R3INT
see search directions below
jsobj.SetThirdSnapDir(value);
value = jsobj.GetThirdSnapDir();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_ThirdSnapDir, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_ThirdSnapDir, &value, R3TAG_END);
RotateType
RotateType
R3GMA_RotateType
Integer
R3INT
see rotate methods
jsobj.SetRotateType(value);
value = jsobj.GetRotateType();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_RotateType, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_RotateType, &value, R3TAG_END);
RotateAxis
RotateAxis
R3GMA_RotateAxis
Integer
R3INT
see axis definitions
jsobj.SetRotateAxis(value);
value = jsobj.GetRotateAxis();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_RotateAxis, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_RotateAxis, &value, R3TAG_END);
SnapRange
SnapRange
R3GMA_SnapRange
Number
R3FLOAT
snapping range
jsobj.SetSnapRange(value);
value = jsobj.GetSnapRange();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMA_SnapRange, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMA_SnapRange, &value, R3TAG_END);
SnapContact
SnapContact
R3GMA_SnapContact
Integer
R3INT
see contact definitions
jsobj.SetSnapContact(value);
value = jsobj.GetSnapContact();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMA_SnapContact, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMA_SnapContact, &value, R3TAG_END);
Snap orientation defines which coordinate system is used for snapping and rotations
Snap search directions
Rotation method at snap
Rotation axis
r3gmpack
plugins/objects/gmanag/r3gmpack.h
r3gmanag
Packer Geometry Manager. Packs sub objects.
r3Gm
R3CLID_GM
r3Gmpacker
R3CLID_GMPACKER - 2585
Orientation, Expand, FillX, FillY, FillZ, Anchor, Unmanage, PadX, PadY, PadZ, IPadX, IPadY, IPadZ, DefaultAnchor, DefaultExpand, DefaultFillX, DefaultFillY, DefaultFillZ,
R3GMPACKERM_INITDIR
INITDIR
R3GMPACKERM_INITDIR
R3BOOL, true if found.
rc = obj.INITDIR();
This method should be called right after the slaves has * been inserted. The method finds the packing direction by studying * the slave's COG attribute.
R3GMPACKERM_INITORDER
INITORDER
R3GMPACKERM_INITORDER
R3BOOL, true if found.
rc = obj.INITORDER();
Sort the children list based on their pivot points. * This method should be called right after the slaves has * been inserted.
Orientation
Orientation
R3GMPACKERA_Orientation
Integer
R3INT
see orientation codes
jsobj.SetOrientation(value);
value = jsobj.GetOrientation();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_Orientation, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMPACKERA_Orientation, &value, R3TAG_END);
Expand
Expand
R3GMPACKERA_Expand
Boolean
R3BOOL
indexed attribute for the managed sub
jsobj.SetExpand(index, value);
value = jsobj.GetExpand(index);
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_Expand, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_Expand, &value, R3TAG_END);
FillX
FillX
R3GMPACKERA_FillX
Boolean
R3BOOL
indexed attribute, fill in x
jsobj.SetFillX(index, value);
value = jsobj.GetFillX(index);
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_FillX, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_FillX, &value, R3TAG_END);
FillY
FillY
R3GMPACKERA_FillY
Boolean
R3BOOL
indexed attribute, fill in y
jsobj.SetFillY(index, value);
value = jsobj.GetFillY(index);
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_FillY, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_FillY, &value, R3TAG_END);
FillZ
FillZ
R3GMPACKERA_FillZ
Boolean
R3BOOL
indexed attribute, fill in z
jsobj.SetFillZ(index, value);
value = jsobj.GetFillZ(index);
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_FillZ, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_FillZ, &value, R3TAG_END);
Anchor
Anchor
R3GMPACKERA_Anchor
Integer
R3INT
indexed attribute, anchor code
jsobj.SetAnchor(index, value);
value = jsobj.GetAnchor(index);
R3INT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_Anchor, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMPACKERA_Anchor, &value, R3TAG_END);
Unmanage
Unmanage
R3GMPACKERA_Unmanage
Boolean
R3BOOL
indexed attribute, don't manage this child
jsobj.SetUnmanage(index, value);
value = jsobj.GetUnmanage(index);
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_Unmanage, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_Unmanage, &value, R3TAG_END);
PadX
PadX
R3GMPACKERA_PadX
Number
R3FLOAT
indexed attribute, pad in x
jsobj.SetPadX(index, value);
value = jsobj.GetPadX(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_PadX, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMPACKERA_PadX, &value, R3TAG_END);
PadY
PadY
R3GMPACKERA_PadY
Number
R3FLOAT
indexed attribute, pad in y
jsobj.SetPadY(index, value);
value = jsobj.GetPadY(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_PadY, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMPACKERA_PadY, &value, R3TAG_END);
PadZ
PadZ
R3GMPACKERA_PadZ
Number
R3FLOAT
indexed attribute, pad in z
jsobj.SetPadZ(index, value);
value = jsobj.GetPadZ(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_PadZ, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMPACKERA_PadZ, &value, R3TAG_END);
IPadX
IPadX
R3GMPACKERA_IPadX
Number
R3FLOAT
indexed attribute, internal pad in x
jsobj.SetIPadX(index, value);
value = jsobj.GetIPadX(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_IPadX, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMPACKERA_IPadX, &value, R3TAG_END);
IPadY
IPadY
R3GMPACKERA_IPadY
Number
R3FLOAT
indexed attribute, internal pad in y
jsobj.SetIPadY(index, value);
value = jsobj.GetIPadY(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_IPadY, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMPACKERA_IPadY, &value, R3TAG_END);
IPadZ
IPadZ
R3GMPACKERA_IPadZ
Number
R3FLOAT
indexed attribute, internal padd in z
jsobj.SetIPadZ(index, value);
value = jsobj.GetIPadZ(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_IPadZ, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3GMPACKERA_IPadZ, &value, R3TAG_END);
DefaultAnchor
DefaultAnchor
R3GMPACKERA_DefaultAnchor
Integer
R3INT
default anchor option for the newly added slaves
jsobj.SetDefaultAnchor(value);
value = jsobj.GetDefaultAnchor();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_DefaultAnchor, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMPACKERA_DefaultAnchor, &value, R3TAG_END);
DefaultExpand
DefaultExpand
R3GMPACKERA_DefaultExpand
Boolean
R3BOOL
default expand option for the newly added slaves
jsobj.SetDefaultExpand(value);
value = jsobj.GetDefaultExpand();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_DefaultExpand, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_DefaultExpand, &value, R3TAG_END);
DefaultFillX
DefaultFillX
R3GMPACKERA_DefaultFillX
Boolean
R3BOOL
default fill x for the slaves
jsobj.SetDefaultFillX(value);
value = jsobj.GetDefaultFillX();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_DefaultFillX, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_DefaultFillX, &value, R3TAG_END);
DefaultFillY
DefaultFillY
R3GMPACKERA_DefaultFillY
Boolean
R3BOOL
default fill y for slaves
jsobj.SetDefaultFillY(value);
value = jsobj.GetDefaultFillY();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_DefaultFillY, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_DefaultFillY, &value, R3TAG_END);
DefaultFillZ
DefaultFillZ
R3GMPACKERA_DefaultFillZ
Boolean
R3BOOL
default fill z for slaves
jsobj.SetDefaultFillZ(value);
value = jsobj.GetDefaultFillZ();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3GMPACKERA_DefaultFillZ, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3GMPACKERA_DefaultFillZ, &value, R3TAG_END);
Codes for R3GMPACKERA_Orientation codes
Codes for R3GMPACKERA_Anchor
<sect8> <title>r3gmrepl</title>
r3gmrepl
plugins/objects/gmanag/r3gmrepl.h
r3gmanag
Replicator Geometry Manager. Repls sub objects.
r3Gmpacker
R3CLID_GMPACKER
r3Gmreplicator
R3CLID_GMREPLICATOR - 2627
MinCount
MinCount
R3GMREPLICATORA_MinCount
Integer
R3INT
minimum slave count
jsobj.SetMinCount(value);
value = jsobj.GetMinCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3GMREPLICATORA_MinCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3GMREPLICATORA_MinCount, &value, R3TAG_END);
</sect8> </sect7> </sect6><sect6> <title>r3invkin</title>
r3invkin
plugins/objects/invkin/r3invkin.h
r3invkin
Inv.kinem constructor. Applies I.K to the joint it is associated with.
r3Constructor
R3CLID_CONSTRUCTOR
r3Invkin
R3CLID_INVKIN - 2466
Position
Position
R3INVKINA_Position
INVKIN point
jsobj.SetPosition(value);
value = jsobj.GetPosition();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3INVKINA_Position, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3INVKINA_Position, &value, R3TAG_END);
Direction
Direction
R3INVKINA_Direction
second point defining banking
jsobj.SetDirection(value);
value = jsobj.GetDirection();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3INVKINA_Direction, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3INVKINA_Direction, &value, R3TAG_END);
Snapto
Snapto
R3INVKINA_Snapto
Boolean
R3BOOL
if set snap to center, otherwise maintain relative position
jsobj.SetSnapto(value);
value = jsobj.GetSnapto();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3INVKINA_Snapto, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3INVKINA_Snapto, &value, R3TAG_END);
Radius
Radius
R3INVKINA_Radius
Number
R3FLOAT
radius
jsobj.SetRadius(value);
value = jsobj.GetRadius();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3INVKINA_Radius, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3INVKINA_Radius, &value, R3TAG_END);
Weight
Weight
R3INVKINA_Weight
Number
R3FLOAT
weight
jsobj.SetWeight(value);
value = jsobj.GetWeight();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3INVKINA_Weight, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3INVKINA_Weight, &value, R3TAG_END);
</sect6><sect6> <title>r3lattic</title>
r3lattic
real/objects/r3lattic.h
r3obj
3D Lattice.
r3Constructor
R3CLID_CONSTRUCTOR
r3Lattice
R3CLID_LATTICE - 320
Points, CountU, CountV, CountW, OrderU, OrderV, OrderW, Points3,
int R3RegisterLatticeClass(R3APP *app);
R3LATTM_REPARAM
REPARAM
R3LATTM_REPARAM
R3VECTOR, new reparametrized points or NULL.
R3INT, number of points in u dimension
R3INT, number of points in v dimension
R3INT, number of points in w dimension
rc = obj.REPARAM(p1, p2, p3);
Reparametrize the lattice object. The minimum number of points in each dimension is 4.
Points
Points
R3LATTA_Points
control points
jsobj.SetPoints(value);
value = jsobj.GetPoints();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3LATTA_Points, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3LATTA_Points, &value, R3TAG_END);
CountU
CountU
R3LATTA_CountU
Integer
R3INT
number of control points
jsobj.SetCountU(value);
value = jsobj.GetCountU();
R3INT value = ...;
R3SetAttrs(r3obj, R3LATTA_CountU, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LATTA_CountU, &value, R3TAG_END);
CountV
CountV
R3LATTA_CountV
Integer
R3INT
number of control points
jsobj.SetCountV(value);
value = jsobj.GetCountV();
R3INT value = ...;
R3SetAttrs(r3obj, R3LATTA_CountV, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LATTA_CountV, &value, R3TAG_END);
CountW
CountW
R3LATTA_CountW
Integer
R3INT
number of control points
jsobj.SetCountW(value);
value = jsobj.GetCountW();
R3INT value = ...;
R3SetAttrs(r3obj, R3LATTA_CountW, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3LATTA_CountW, &value, R3TAG_END);
OrderU
OrderU
R3LATTA_OrderU
Integer
int
unused, always cubic
value = jsobj.GetOrderU();
int value;
R3GetAttrs(r3obj, R3LATTA_OrderU, &value, R3TAG_END);
OrderV
OrderV
R3LATTA_OrderV
Integer
int
unused, always cubic,
value = jsobj.GetOrderV();
int value;
R3GetAttrs(r3obj, R3LATTA_OrderV, &value, R3TAG_END);
OrderW
OrderW
R3LATTA_OrderW
Integer
int
unused, always cubic
value = jsobj.GetOrderW();
int value;
R3GetAttrs(r3obj, R3LATTA_OrderW, &value, R3TAG_END);
Points3
Points3
R3LATTA_Points3
unused, uses R3VECTOR4 always
jsobj.SetPoints3(value);
value = jsobj.GetPoints3();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3LATTA_Points3, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3LATTA_Points3, &value, R3TAG_END);
r3appobj *
r3lookat
plugins/objects/lookat/r3lookat.h
r3lookat
Look at constructor. Maintains the orientation of the target object relative to the position of the object.
r3Constructor
R3CLID_CONSTRUCTOR
r3Lookat
R3CLID_LOOKAT - 2436
Position, Direction, Heading, Pitching, Banking, OrigPosition,
Position
Position
R3LOOKATA_Position
lookat point
jsobj.SetPosition(value);
value = jsobj.GetPosition();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LOOKATA_Position, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LOOKATA_Position, &value, R3TAG_END);
Direction
Direction
R3LOOKATA_Direction
second point defining banking
jsobj.SetDirection(value);
value = jsobj.GetDirection();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LOOKATA_Direction, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LOOKATA_Direction, &value, R3TAG_END);
Heading
Heading
R3LOOKATA_Heading
Boolean
R3BOOL
enable heading
jsobj.SetHeading(value);
value = jsobj.GetHeading();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3LOOKATA_Heading, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3LOOKATA_Heading, &value, R3TAG_END);
Pitching
Pitching
R3LOOKATA_Pitching
Boolean
R3BOOL
enable pitching
jsobj.SetPitching(value);
value = jsobj.GetPitching();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3LOOKATA_Pitching, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3LOOKATA_Pitching, &value, R3TAG_END);
Banking
Banking
R3LOOKATA_Banking
Boolean
R3BOOL
enable banking
jsobj.SetBanking(value);
value = jsobj.GetBanking();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3LOOKATA_Banking, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3LOOKATA_Banking, &value, R3TAG_END);
OrigPosition
OrigPosition
R3LOOKATA_OrigPosition
velocity
jsobj.SetOrigPosition(value);
value = jsobj.GetOrigPosition();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3LOOKATA_OrigPosition, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3LOOKATA_OrigPosition, &value, R3TAG_END);
lookat needs to save the original position of the target object
</sect6><sect6> <title>r3moveconstructor</title>
r3moveconstructor
real/objects/r3moveconstructor.h
r3obj
Move constructor class
r3Constructor
R3CLID_CONSTRUCTOR
r3Moveconstructor
R3CLID_MOVECONSTRUCTOR - 1811
int R3RegisterMoveConstructorClass(R3APP *app);
Position
Position
R3MOVECONSTRUCTORA_Position
origin of the translation vector
jsobj.SetPosition(value);
value = jsobj.GetPosition();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3MOVECONSTRUCTORA_Position, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3MOVECONSTRUCTORA_Position, &value, R3TAG_END);
Direction
Direction
R3MOVECONSTRUCTORA_Direction
second point
jsobj.SetDirection(value);
value = jsobj.GetDirection();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3MOVECONSTRUCTORA_Direction, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3MOVECONSTRUCTORA_Direction, &value, R3TAG_END);
Delta
Delta
R3MOVECONSTRUCTORA_Delta
direction of the translation vector
jsobj.SetDelta(value);
value = jsobj.GetDelta();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3MOVECONSTRUCTORA_Delta, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3MOVECONSTRUCTORA_Delta, &value, R3TAG_END);
</sect6><sect6> <title>r3pathle</title>
r3pathle
real/objects/r3pathle.h
r3obj
Path level object. First sub object defiens a path and second sub object defines horizon plane (up direction axis) for convenient banking control
r3Constructor
R3CLID_CONSTRUCTOR
r3Pathlevel
R3CLID_PATHLEVEL - 781
R3RPALM_UPDATEORIGSTATE
UPDATEORIGSTATE
R3RPALM_UPDATEORIGSTATE
obj.UPDATEORIGSTATE();
Update original space from the current sub object.
Type
Type
R3PALA_Type
Integer
R3INT
orientation control method, see defines below
jsobj.SetType(value);
value = jsobj.GetType();
R3INT value = ...;
R3SetAttrs(r3obj, R3PALA_Type, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PALA_Type, &value, R3TAG_END);
ConstantSpeed
ConstantSpeed
R3PALA_ConstantSpeed
Boolean
R3BOOL
if true path is evaluated at constant curve length speed
jsobj.SetConstantSpeed(value);
value = jsobj.GetConstantSpeed();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PALA_ConstantSpeed, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PALA_ConstantSpeed, &value, R3TAG_END);
Origin
Origin
R3PALA_Origin
origin of axis
jsobj.SetOrigin(value);
value = jsobj.GetOrigin();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PALA_Origin, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PALA_Origin, &value, R3TAG_END);
End
End
R3PALA_End
end of axis
jsobj.SetEnd(value);
value = jsobj.GetEnd();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PALA_End, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PALA_End, &value, R3TAG_END);
</sect6><sect6> <title>r3pointdisplacer</title>
r3pointdisplacer
plugins/objects/pointdisplacer/r3pointdisplacer.h
r3pointdisplacer
Point displacer object. Displaces points of all objects on the same hierarchy level by the value of a given field defined by the material system.
r3Constructor
R3CLID_CONSTRUCTOR
r3Pointdisplacer
R3CLID_POINTDISPLACER - 1808
int R3RegisterPointDisplacerClass(R3APP *app);
R3POINTDISPLACERCM_REGISTERH
REGISTERH
R3POINTDISPLACERCM_REGISTERH
R3CLID, object clid
obj.REGISTERH(p1, 0);
R3POINTDISPLACERM_TRANSFORMP
TRANSFORMP
R3POINTDISPLACERM_TRANSFORMP
R3BOOL, true if succeeded.
R3VECTOR, point to be transformed
rc = obj.TRANSFORMP(p3);
Transform given point in space defined by given coord system
Clid
Clid
R3POINTDISPLACERA_Clid
Integer
R3INT
field to be evaluated
jsobj.SetClid(value);
value = jsobj.GetClid();
R3INT value = ...;
R3SetAttrs(r3obj, R3POINTDISPLACERA_Clid, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3POINTDISPLACERA_Clid, &value, R3TAG_END);
ChannelNam
ChannelNam
R3POINTDISPLACERA_ChannelNam
String
char*
name of the channel to be evaluated
jsobj.SetChannelNam(value);
value = jsobj.GetChannelNam();
char* value = ...;
R3SetAttrs(r3obj, R3POINTDISPLACERA_ChannelName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3POINTDISPLACERA_ChannelName, &value, R3TAG_END);
Space
Space
R3POINTDISPLACERA_Space
Integer
R3INT
see spaces below
jsobj.SetSpace(value);
value = jsobj.GetSpace();
R3INT value = ...;
R3SetAttrs(r3obj, R3POINTDISPLACERA_Space, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3POINTDISPLACERA_Space, &value, R3TAG_END);
Scale
Scale
R3POINTDISPLACERA_Scale
Number
R3FLOAT
jsobj.SetScale(value);
value = jsobj.GetScale();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3POINTDISPLACERA_Scale, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3POINTDISPLACERA_Scale, &value, R3TAG_END);
1D
1D
R3POINTDISPLACERA_1D
Boolean
R3BOOL
displace only in 'z' direction
jsobj.Set1D(value);
value = jsobj.Get1D();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3POINTDISPLACERA_1D, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3POINTDISPLACERA_1D, &value, R3TAG_END);
spaces
Registry function
</sect6><sect6> <title>r3radialdeformer</title>r3radialdeformer
plugins/objects/pointdisplacer/r3radialdeformer.h
r3pointdisplacer
Radial deformator
r3Constructor
R3CLID_CONSTRUCTOR
r3Radialdeformer
R3CLID_RADIALDEFORMER - 1785
Center, Size, Type, Curve, OrigCenter, OrigSize, EnableCurve, CurvePoints, CurvePointCount, CurvePointSize, NoiseSize, NoiseDensity,
int R3RegisterRadialDeformerClass(R3APP *app);
R3RADDEFM_CHANGED
CHANGED
R3RADDEFM_CHANGED
obj.CHANGED();
Private, maps curve changes to us so that we can animate them.
Center
Center
R3RADDEFA_Center
current center
jsobj.SetCenter(value);
value = jsobj.GetCenter();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3RADDEFA_Center, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3RADDEFA_Center, &value, R3TAG_END);
Size
Size
R3RADDEFA_Size
Number
R3FLOAT
current size
jsobj.SetSize(value);
value = jsobj.GetSize();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RADDEFA_Size, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RADDEFA_Size, &value, R3TAG_END);
Type
Type
R3RADDEFA_Type
Integer
R3INT
see types below
jsobj.SetType(value);
value = jsobj.GetType();
R3INT value = ...;
R3SetAttrs(r3obj, R3RADDEFA_Type, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RADDEFA_Type, &value, R3TAG_END);
Curve
Curve
R3RADDEFA_Curve
Object
R3OBJ*
deformation curve
jsobj.SetCurve(value);
value = jsobj.GetCurve();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3RADDEFA_Curve, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3RADDEFA_Curve, &value, R3TAG_END);
OrigCenter
OrigCenter
R3RADDEFA_OrigCenter
original center point
jsobj.SetOrigCenter(value);
value = jsobj.GetOrigCenter();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3RADDEFA_OrigCenter, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3RADDEFA_OrigCenter, &value, R3TAG_END);
OrigSize
OrigSize
R3RADDEFA_OrigSize
Number
R3FLOAT
original size point
jsobj.SetOrigSize(value);
value = jsobj.GetOrigSize();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RADDEFA_OrigSize, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RADDEFA_OrigSize, &value, R3TAG_END);
EnableCurve
EnableCurve
R3RADDEFA_EnableCurve
Boolean
R3BOOL
enable interpolation curve
jsobj.SetEnableCurve(value);
value = jsobj.GetEnableCurve();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3RADDEFA_EnableCurve, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3RADDEFA_EnableCurve, &value, R3TAG_END);
CurvePoints
CurvePoints
R3RADDEFA_CurvePoints
r3List
R3LIST*
curve points
jsobj.SetCurvePoints(value);
value = jsobj.GetCurvePoints();
R3LIST* value = ...;
R3SetAttrs(r3obj, R3RADDEFA_CurvePoints, value, R3TAG_END);
R3LIST* value;
R3GetAttrs(r3obj, R3RADDEFA_CurvePoints, &value, R3TAG_END);
CurvePointCount
CurvePointCount
R3RADDEFA_CurvePointCount
Integer
R3INT
number of curve points
jsobj.SetCurvePointCount(value);
value = jsobj.GetCurvePointCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3RADDEFA_CurvePointCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RADDEFA_CurvePointCount, &value, R3TAG_END);
CurvePointSize
CurvePointSize
R3RADDEFA_CurvePointSize
Integer
R3INT
sizeof curve point
value = jsobj.GetCurvePointSize();
R3INT value;
R3GetAttrs(r3obj, R3RADDEFA_CurvePointSize, &value, R3TAG_END);
NoiseSize
NoiseSize
R3RADDEFA_NoiseSize
Number
R3FLOAT
size of noise when R3RADDEFA_Type is R3RDTYPE_NOISE
jsobj.SetNoiseSize(value);
value = jsobj.GetNoiseSize();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RADDEFA_NoiseSize, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RADDEFA_NoiseSize, &value, R3TAG_END);
NoiseDensity
NoiseDensity
R3RADDEFA_NoiseDensity
Number
R3FLOAT
density of noise when R3RADDEFA_Type is R3RDTYPE_NOISE
jsobj.SetNoiseDensity(value);
value = jsobj.GetNoiseDensity();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RADDEFA_NoiseDensity, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RADDEFA_NoiseDensity, &value, R3TAG_END);
Types
</sect6><sect6> <title>r3rotatr</title>
r3rotatr
real/objects/r3rotatr.h
r3obj
Rotator object. Instances and transforms first sub object about the the second sub object.
r3Constructor
R3CLID_CONSTRUCTOR
r3Rotator
R3CLID_ROTATOR - 313
AngleU, AngleV, CountU, CountV, TotalAngleU, TotalAngleV, CopyMethod, TranslationU, TranslationV, TotalTranslationU, TotalTranslationV,
R3RTRM_UPDATETARGETS
UPDATETARGETS
R3RTRM_UPDATETARGETS
R3BOOL, TRUE if succeeded
rc = obj.UPDATETARGETS();
Create/update instances according to the current attributes. This method is called when rotator object's attributes or sub objects are changed. If you want to change the behavior of the rotator object, catch this method.
R3RTRM_END
END
R3RTRM_END
obj.END();
AngleU
AngleU
R3RTRA_AngleU
Number
R3FLOAT
rotation between instances
jsobj.SetAngleU(value);
value = jsobj.GetAngleU();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_AngleU, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_AngleU, &value, R3TAG_END);
AngleV
AngleV
R3RTRA_AngleV
Number
R3FLOAT
'R3RTRA_AngleV' not documented
jsobj.SetAngleV(value);
value = jsobj.GetAngleV();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_AngleV, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_AngleV, &value, R3TAG_END);
CountU
CountU
R3RTRA_CountU
Integer
R3INT
number of instances
jsobj.SetCountU(value);
value = jsobj.GetCountU();
R3INT value = ...;
R3SetAttrs(r3obj, R3RTRA_CountU, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RTRA_CountU, &value, R3TAG_END);
CountV
CountV
R3RTRA_CountV
Integer
R3INT
number of instances
jsobj.SetCountV(value);
value = jsobj.GetCountV();
R3INT value = ...;
R3SetAttrs(r3obj, R3RTRA_CountV, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RTRA_CountV, &value, R3TAG_END);
TotalAngleU
TotalAngleU
R3RTRA_TotalAngleU
Number
R3FLOAT
angle between the first and the last object, optional
jsobj.SetTotalAngleU(value);
value = jsobj.GetTotalAngleU();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_TotalAngleU, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_TotalAngleU, &value, R3TAG_END);
TotalAngleV
TotalAngleV
R3RTRA_TotalAngleV
Number
R3FLOAT
angle between the first and the last object, optional
jsobj.SetTotalAngleV(value);
value = jsobj.GetTotalAngleV();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_TotalAngleV, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_TotalAngleV, &value, R3TAG_END);
CopyMethod
CopyMethod
R3RTRA_CopyMethod
Integer
R3INT
see copy methods below
jsobj.SetCopyMethod(value);
value = jsobj.GetCopyMethod();
R3INT value = ...;
R3SetAttrs(r3obj, R3RTRA_CopyMethod, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3RTRA_CopyMethod, &value, R3TAG_END);
TranslationU
TranslationU
R3RTRA_TranslationU
Number
R3FLOAT
displacement (along axis) between subsequent copies
jsobj.SetTranslationU(value);
value = jsobj.GetTranslationU();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_TranslationU, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_TranslationU, &value, R3TAG_END);
TranslationV
TranslationV
R3RTRA_TranslationV
Number
R3FLOAT
displacement (along axis) between subsequent copies
jsobj.SetTranslationV(value);
value = jsobj.GetTranslationV();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_TranslationV, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_TranslationV, &value, R3TAG_END);
TotalTranslationU
TotalTranslationU
R3RTRA_TotalTranslationU
Number
R3FLOAT
displacement between first and last
jsobj.SetTotalTranslationU(value);
value = jsobj.GetTotalTranslationU();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_TotalTranslationU, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_TotalTranslationU, &value, R3TAG_END);
TotalTranslationV
TotalTranslationV
R3RTRA_TotalTranslationV
Number
R3FLOAT
displacement between first and last
jsobj.SetTotalTranslationV(value);
value = jsobj.GetTotalTranslationV();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3RTRA_TotalTranslationV, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3RTRA_TotalTranslationV, &value, R3TAG_END);
r3shrink
real/objects/r3shrink.h
r3obj
r3Constructor
R3CLID_CONSTRUCTOR
r3Shrink
R3CLID_SHRINK - 641
From
From
R3SHRINKA_From
'R3SHRINKA_From' not documented
jsobj.SetFrom(value);
value = jsobj.GetFrom();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SHRINKA_From, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SHRINKA_From, &value, R3TAG_END);
To
To
R3SHRINKA_To
... defining the direction of the gravity
jsobj.SetTo(value);
value = jsobj.GetTo();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SHRINKA_To, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SHRINKA_To, &value, R3TAG_END);
r3skel
real/objects/r3skel.h
r3obj
Skeleton Class
r3Constructor
R3CLID_CONSTRUCTOR
r3Skeleton
R3CLID_SKELETON - 133
GETJOINT, SETJOINT, FINDNEARESTJOINT, GETBONESPACE, EVALJOINTSPACE, ATTACHTOPARENT, ANCHORJOINT, RIGIDJOINT, RESETJOINT, ANIMJOINTASANGLE, GETJOINTFLAG, ISJOINTSSELECTED, SETJOINTFLAG, SETSELECTEDJOINTATTR, UPDATEPARENTDISPLACEME, RESETCONSTRAINTS, SETJOINTFLAGBYINDEX, REGISTERTAGNAMES, REGISTERINDEXEDTAGNAM, ISSELECTED, TRANSLATEMAPRAD, DUPMIRCHILDS, TRANSLATESELECTEDANGLE, BINDSKELETONBYVOLUME, BINDSKELETONNEAREST, BINDPOINTTONEARESTSKEL, TRANSLATEANGLES, FINDNEARESTBONE, BINDPOINTTOJOINT, RECONSTRUCTBYROOT, GETPREVBONESPACE, ROTATESELECTEDBONES, UPDATEANGLES, UPDATEPOSITIONS, BINDSELECTED, UNBINDPOINTFROMJOINT, UNBINDSELECTED, UNBINDPOINTFROMSKELETO, SETFIDELITYTOPOINT, SETFIDELITYTOSELECTED, SETWEIGHTTOPOINT, SETWEIGHTTOSELECTED, GETFIDELITYFROMPOINT, GETFIDELITYFROMSELECTE, GETWEIGHTFROMPOINT, GETWEIGHTFROMSELECTED, UNBINDSKELETON, UNBINDOBJECTFROMSKELET, TRANSLATESELECTEDMINAN, TRANSLATESELECTEDMAXAN, TRANSLATEMINANGLE, TRANSLATEMAXANGLE, GETROOTPOS, SELECTTARGETPOINTS, DESELECTTARGETPOINTS, BINDPOINTTOSKELETONBYV, DISPOSENATIVESTATE, BINDSELECTEDTONEAREST, BONEPARAMTOINDEX, BONEINDEXTOPARAM, FINDNEARESTSELECTEDBON, private2, GETORIGBONE, SETORIGBONE, GETBINDINGID, BINDOBJECTTOSKELETON,
Joints, JointCount, CurrentMap, Type, ParentIndex, ParentOffset, AxisCA, AxisCB, AxisCC, Position0, AngleA, IKPosition, IKSampling, IKDepth, PreferredAnimMth, AngleB, AngleC, Angle, Length, UseMapVolume, MapRadius, Anchor, DrawConstraints, RotationHandles, MapCount, Interpolation, AngleSystem, MinAngle, MaxAngle, Thickness, JointPosition, AttachOrientation, AnimRootPos, DrawAngles, JointName,
R3SKM_GETJOINT
GETJOINT
R3SKM_GETJOINT
R3BOOL, true if succeeded
R3INT, index
rc = obj.GETJOINT(p3);
Get joint by index
R3SKM_SETJOINT
SETJOINT
R3SKM_SETJOINT
R3BOOL
R3TAG*, R3SKA_JNumber, R3SKA_JValue
rc = obj.SETJOINT(p3);
Set joint
R3SKM_FINDNEARESTJOINT
FINDNEARESTJOINT
R3SKM_FINDNEARESTJOINT
obj.FINDNEARESTJOINT();
Given point in abs space, find nearest joint.
R3SKM_GETBONESPACE
GETBONESPACE
R3SKM_GETBONESPACE
R3INT, space (R3SPACE_ABSOLUTE, R3SPACE_OBJECT)
R3INT, bone index (joint index)
obj.GETBONESPACE(p1, p2, 0);
Given joint index, return bone space.
R3SKM_EVALJOINTSPACE
EVALJOINTSPACE
R3SKM_EVALJOINTSPACE
R3VECTOR, polar coord.
R3COORDSYS, bone space
R3VECTOR, result
obj.EVALJOINTSPACE(p1, p2, p3);
Given polar coord and bone space, evaluate direction vector. Returns norm. vector.
R3SKM_ATTACHTOPARENT
ATTACHTOPARENT
R3SKM_ATTACHTOPARENT
R3BOOL, TRUE if parent was found
rc = obj.ATTACHTOPARENT();
Attach skeleton to nearest joint of the parent skeleton.
R3SKM_ANCHORJOINT
ANCHORJOINT
R3SKM_ANCHORJOINT
R3INT, see anchor codes
obj.ANCHORJOINT(p3);
Fix the position of the selected joints
R3SKM_RIGIDJOINT
RIGIDJOINT
R3SKM_RIGIDJOINT
R3BOOL, true/false
obj.RIGIDJOINT(p3);
make the selected joints rigid (set the R3SKELF_RIGID flag)
R3SKM_RESETJOINT
RESETJOINT
R3SKM_RESETJOINT
obj.RESETJOINT();
Clear anchor and rigid flags from selected joints
R3SKM_ANIMJOINTASANGLE
ANIMJOINTASANGLE
R3SKM_ANIMJOINTASANGLE
R3BOOL, enable/disable
obj.ANIMJOINTASANGLE(p3);
Enable/disable IK keyframing/angle keyframing for the selected joints.
R3SKM_GETJOINTFLAG
GETJOINTFLAG
R3SKM_GETJOINTFLAG
R3INT, flag
R3BOOL*, conflict
R3BOOL*, state
obj.GETJOINTFLAG(p1, p2, p3);
Get state of given joint flag.
R3SKM_ISJOINTSSELECTED
ISJOINTSSELECTED
R3SKM_ISJOINTSSELECTED
R3BOOL, TRUE if points selected.
rc = obj.ISJOINTSSELECTED();
check if there are selected joints in the skeleton hierarchy.
R3SKM_SETJOINTFLAG
SETJOINTFLAG
R3SKM_SETJOINTFLAG
R3INT, flag to be set,
R3BOOL, value
obj.SETJOINTFLAG(p1, p3);
Set/Reset (recursively) given joint flag.
R3SKM_SETSELECTEDJOINTATTR
SETSELECTEDJOINTATTR
R3SKM_SETSELECTEDJOINTATTR
R3TAG*, tag list consisting of dynamic tags
obj.SETSELECTEDJOINTATTR(p3);
Set joint attribute
R3SKM_UPDATEPARENTDISPLACEME
UPDATEPARENTDISPLACEME
R3SKM_UPDATEPARENTDISPLACEME
obj.UPDATEPARENTDISPLACEME();
Update relative position in parent bone space.
R3SKM_RESETCONSTRAINTS
RESETCONSTRAINTS
R3SKM_RESETCONSTRAINTS
R3INT, joint index
obj.RESETCONSTRAINTS(p3);
Reset constraints to their minimum values (current bone angles)
R3SKM_SETJOINTFLAGBYINDEX
SETJOINTFLAGBYINDEX
R3SKM_SETJOINTFLAGBYINDEX
R3BOOL, value
obj.SETJOINTFLAGBYINDEX(p3);
Set joint flag
R3SKCM_REGISTERTAGNAMES
REGISTERTAGNAMES
R3SKCM_REGISTERTAGNAMES
R3BOOL, true if succeeded.
rc = obj.REGISTERTAGNAMES();
Register extension tagsname array. This is only needed in case dynamic tags needs to be accessed through through R3TAGNAME interface (i.e. to make dynamic tags animateable).
R3SKCM_REGISTERINDEXEDTAGNAM
REGISTERINDEXEDTAGNAM
R3SKCM_REGISTERINDEXEDTAGNAM
R3BOOL, true if succeeded.
rc = obj.REGISTERINDEXEDTAGNAM();
Register tag names for indexed dynamic tags.
R3SKM_ISSELECTED
ISSELECTED
R3SKM_ISSELECTED
R3BOOL, true if selected
R3INT, index of the joint.
rc = obj.ISSELECTED(p3);
Checks if one of the joint handles associated with 'give joint is selected.
R3SKM_TRANSLATEMAPRAD
TRANSLATEMAPRAD
R3SKM_TRANSLATEMAPRAD
R3FLOAT, delta
obj.TRANSLATEMAPRAD(p3);
Translate SKA_MapRadius by given value
R3SKM_DUPMIRCHILDS
DUPMIRCHILDS
R3SKM_DUPMIRCHILDS
R3BOOL, number of tentacles mirrored
R3INT, R3SKA_AngleA or R3SKA_AngleB. The default is R3SKA_AngleB (pitching)
rc = obj.DUPMIRCHILDS(p3);
Duplicate and mirror child objects to create symmetric body. Allows the user to create left tentacles and get complete body by duplicating & mirroring them.
R3SKM_TRANSLATESELECTEDANGLE
TRANSLATESELECTEDANGLE
R3SKM_TRANSLATESELECTEDANGLE
R3BOOL, disable constraints
R3VECTOR, delta
obj.TRANSLATESELECTEDANGLE(p1, p3);
Edit bone angles of the selected joints
R3SKM_BINDSKELETONBYVOLUME
BINDSKELETONBYVOLUME
R3SKM_BINDSKELETONBYVOLUME
R3BOOL, true if succeeded.
R3OBJ*, target object to be attached.
rc = obj.BINDSKELETONBYVOLUME(p3);
Attach skeleton to all target objects. Points are mapped based on * mapping volume / inside test. Each point may get mapped to more than one skeleton / bone.
R3SKM_BINDSKELETONNEAREST
BINDSKELETONNEAREST
R3SKM_BINDSKELETONNEAREST
R3BOOL, true if succeeded.
R3OBJ*, target object to be attached.
rc = obj.BINDSKELETONNEAREST(p3);
Attach skeleton to all target objects. Each point is attached to one * bone only, based on shortest distance.
R3SKM_BINDPOINTTONEARESTSKEL
BINDPOINTTONEARESTSKEL
R3SKM_BINDPOINTTONEARESTSKEL
R3BOOL, true if succeeded
R3OBJ*, target object
R3INT, point index
R3VECTOR, target's point (in abs space) to be mapped.
rc = obj.BINDPOINTTONEARESTSKEL(p1, p2, p3);
Attach given point to the nearest bone of the skeleton.
R3SKM_TRANSLATEANGLES
TRANSLATEANGLES
R3SKM_TRANSLATEANGLES
R3BOOL, if true, disable constraints (constraints are expanded, if needed)
R3INT, index of the bone
R3VECTOR, delta
obj.TRANSLATEANGLES(p1, p2, p3);
Change the angles of the given joint.
R3SKM_FINDNEARESTBONE
FINDNEARESTBONE
R3SKM_FINDNEARESTBONE
R3OBJ*, nearest skeleton
R3FLOAT, minimum distance, initialize this to max value prior calling.
R3FLOAT, parameter specifying the nearest bone
R3VECTOR, point to be mapped
rc = obj.FINDNEARESTBONE(p1, p2, p3);
Given a point, find nearest skeleton and bone index in a hierarchical skeleton.
R3SKM_BINDPOINTTOJOINT
BINDPOINTTOJOINT
R3SKM_BINDPOINTTOJOINT
R3TAG*, R3SKA_JointParam, R3SKA_TargetIndex, R3SKA_TargetObject, R3SKA_MapId
obj.BINDPOINTTOJOINT(p3);
Attach given target point to bone.
R3SKM_RECONSTRUCTBYROOT
RECONSTRUCTBYROOT
R3SKM_RECONSTRUCTBYROOT
obj.RECONSTRUCTBYROOT();
R3SKM_GETPREVBONESPACE
GETPREVBONESPACE
R3SKM_GETPREVBONESPACE
R3INT, space in which the cs is returned (R3SPACE_ABSOLUTE, R3SPACE_OBJECT)
R3INT, index of the bone
R3COORDSYS, result buffer
obj.GETPREVBONESPACE(p1, p2, p3);
Given bone index, returns the coord system of the previous bone.
R3SKM_ROTATESELECTEDBONES
ROTATESELECTEDBONES
R3SKM_ROTATESELECTEDBONES
R3VECTOR, rotation axis
R3FLOAT, angle
obj.ROTATESELECTEDBONES(p1, p3);
Rotate selected bones.
R3SKM_UPDATEANGLES
UPDATEANGLES
R3SKM_UPDATEANGLES
R3BOOL, if true, propagates to children.
obj.UPDATEANGLES(p3);
Update angles when one of the joint positions has changed.
R3SKM_UPDATEPOSITIONS
UPDATEPOSITIONS
R3SKM_UPDATEPOSITIONS
R3BOOL, if true, constraints are expanded, if needed.
R3BOOL, if true, bone lengths are updated.
obj.UPDATEPOSITIONS(p1, p3);
Update joint positions when one or more bone angles has changed.
R3SKM_BINDSELECTED
BINDSELECTED
R3SKM_BINDSELECTED
R3BOOL, true if succeeded
R3OBJ*, object to be attached
rc = obj.BINDSELECTED(p3);
Attach selected points to selected bone.
R3SKM_UNBINDPOINTFROMJOINT
UNBINDPOINTFROMJOINT
R3SKM_UNBINDPOINTFROMJOINT
R3TAG*, R3SKA_TargetIndex, R3SKA_TargetObject, R3SKA_MapId
obj.UNBINDPOINTFROMJOINT(p3);
Detach given point from the given joint. R3SKA_MapId is needed * if multi mapping is used to identify the map set. *
R3SKM_UNBINDSELECTED
UNBINDSELECTED
R3SKM_UNBINDSELECTED
R3OBJ*, target object to be detached.
obj.UNBINDSELECTED(p3);
Detach selected points from the selected bone.
R3SKM_UNBINDPOINTFROMSKELETO
UNBINDPOINTFROMSKELETO
R3SKM_UNBINDPOINTFROMSKELETO
obj.UNBINDPOINTFROMSKELETO();
Detach given point from the skeleton.
R3SKM_SETFIDELITYTOPOINT
SETFIDELITYTOPOINT
R3SKM_SETFIDELITYTOPOINT
R3BOOL, true if succeeded
R3FLOAT, fidelity
R3INT, index of the target point
R3OBJ*, target object
rc = obj.SETFIDELITYTOPOINT(p1, p2, p3);
Set fidelity of the given target point.
R3SKM_SETFIDELITYTOSELECTED
SETFIDELITYTOSELECTED
R3SKM_SETFIDELITYTOSELECTED
R3OBJ*, target object
R3FLOAT, fidelity
obj.SETFIDELITYTOSELECTED(p1, p3);
Set fidelity to selected points attached to the selected bone.
R3SKM_SETWEIGHTTOPOINT
SETWEIGHTTOPOINT
R3SKM_SETWEIGHTTOPOINT
R3BOOL, true if succeeded
R3FLOAT, weight
R3INT, index of the target point
R3OBJ*, target object
rc = obj.SETWEIGHTTOPOINT(p1, p2, p3);
Set weight of the given target point. The stronger the weight, the stronger the bone affects the point.
R3SKM_SETWEIGHTTOSELECTED
SETWEIGHTTOSELECTED
R3SKM_SETWEIGHTTOSELECTED
R3OBJ*, target object
R3FLOAT, weight
obj.SETWEIGHTTOSELECTED(p1, p3);
Set weight to selected points attached to the selected bone.
R3SKM_GETFIDELITYFROMPOINT
GETFIDELITYFROMPOINT
R3SKM_GETFIDELITYFROMPOINT
R3BOOL, true if succeeded
R3FLOAT, fidelity
R3INT, index of the target point
R3OBJ*, target object
rc = obj.GETFIDELITYFROMPOINT(p1, p2, p3);
Fetch fidelity of the given target point.
R3SKM_GETFIDELITYFROMSELECTE
GETFIDELITYFROMSELECTE
R3SKM_GETFIDELITYFROMSELECTE
R3BOOL, true if all points had the same fidelitu value.
R3OBJ*, target object
R3FLOAT, fidelity
rc = obj.GETFIDELITYFROMSELECTE(p1, p3);
Get fidelity from selected points attached to the selected bone.
R3SKM_GETWEIGHTFROMPOINT
GETWEIGHTFROMPOINT
R3SKM_GETWEIGHTFROMPOINT
R3BOOL, true if succeeded
R3FLOAT, weight
R3INT, index of the target point
R3OBJ*, target object
rc = obj.GETWEIGHTFROMPOINT(p1, p2, p3);
Get weight of the given target point. The stronger the weight, the stronger the bone affects the point.
R3SKM_GETWEIGHTFROMSELECTED
GETWEIGHTFROMSELECTED
R3SKM_GETWEIGHTFROMSELECTED
R3BOOL, true if all points had the same weight.
R3OBJ*, target object
R3FLOAT, weight
rc = obj.GETWEIGHTFROMSELECTED(p1, p3);
Get weight of the selected points attached to the selected bone.
R3SKM_UNBINDSKELETON
UNBINDSKELETON
R3SKM_UNBINDSKELETON
R3BOOL, keep target data
obj.UNBINDSKELETON(p3);
Detach all objects from this skeleton. If p3 is true, binding information * associated with the target objects is not deleted.
R3SKM_UNBINDOBJECTFROMSKELET
UNBINDOBJECTFROMSKELET
R3SKM_UNBINDOBJECTFROMSKELET
R3BOOL, true if succeeded
R3BOOL, if true unbinds sub objects as well
R3OBJ*, target object to be removed
rc = obj.UNBINDOBJECTFROMSKELET(p1, p3);
Detach given object from the skeleton
R3SKM_TRANSLATESELECTEDMINAN
TRANSLATESELECTEDMINAN
R3SKM_TRANSLATESELECTEDMINAN
obj.TRANSLATESELECTEDMINAN();
Edit min constraint angles
R3SKM_TRANSLATESELECTEDMAXAN
TRANSLATESELECTEDMAXAN
R3SKM_TRANSLATESELECTEDMAXAN
obj.TRANSLATESELECTEDMAXAN();
Edit max constraint angles
R3SKM_TRANSLATEMINANGLE
TRANSLATEMINANGLE
R3SKM_TRANSLATEMINANGLE
R3INT, index of the joint
obj.TRANSLATEMINANGLE(p1, 0);
Edit min constraint angle
R3SKM_TRANSLATEMAXANGLE
TRANSLATEMAXANGLE
R3SKM_TRANSLATEMAXANGLE
R3INT, index of the bone
obj.TRANSLATEMAXANGLE(p1, 0);
Edit max constraint angle
R3SKM_GETROOTPOS
GETROOTPOS
R3SKM_GETROOTPOS
R3INT, space
obj.GETROOTPOS(p1, 0);
Give the current root postion, as determined by our parent * skeleton and our displacement offset.
R3SKM_SELECTTARGETPOINTS
SELECTTARGETPOINTS
R3SKM_SELECTTARGETPOINTS
R3INT, number of points selected
rc = obj.SELECTTARGETPOINTS();
Select target points mapped to the selected bones of the skeleton
R3SKM_DESELECTTARGETPOINTS
DESELECTTARGETPOINTS
R3SKM_DESELECTTARGETPOINTS
R3INT, number of points deselected
rc = obj.DESELECTTARGETPOINTS();
Deselect target points mapped to the selected bones of the skeleton
R3SKM_BINDPOINTTOSKELETONBYV
BINDPOINTTOSKELETONBYV
R3SKM_BINDPOINTTOSKELETONBYV
R3BOOL, true if succeeded
R3OBJ*, target object
R3INT, point index
R3VECTOR, target's point (in abs space) to be mapped.
rc = obj.BINDPOINTTOSKELETONBYV(p1, p2, p3);
Attach given point to bones using mapping volume
R3SKM_DISPOSENATIVESTATE
DISPOSENATIVESTATE
R3SKM_DISPOSENATIVESTATE
obj.DISPOSENATIVESTATE();
When skeleton is bound for the first time, native pose is allocated and created. * When skeleton is modified, the deformation is computed as nativepose -> currentpose. This method discards the native pose data. Called when the skeleton is unbind.
R3SKM_BINDSELECTEDTONEAREST
BINDSELECTEDTONEAREST
R3SKM_BINDSELECTEDTONEAREST
obj.BINDSELECTEDTONEAREST();
Bind selected handles to nearest bones.
R3SKM_BONEPARAMTOINDEX
BONEPARAMTOINDEX
R3SKM_BONEPARAMTOINDEX
R3FLOAT, parameter value 0 ... 1
R3INT, joint index.
obj.BONEPARAMTOINDEX(p1, p3);
Binding system uses normalized parametrization to specify points position on the skeleton so that deleting joints etc. can be easily handled. This method converts given bone parameter (0 ...1) to joint index.
R3SKM_BONEINDEXTOPARAM
BONEINDEXTOPARAM
R3SKM_BONEINDEXTOPARAM
R3INT, joint index 0 ... count-1
R3FLOAT, parameter value
obj.BONEINDEXTOPARAM(p1, p3);
Binding system uses normalized parametrization to specify points position on the skeleton so that deleting joints etc. can be easily handled. This method converts given joint index to normalized parameter value.
R3SKM_FINDNEARESTSELECTEDBON
FINDNEARESTSELECTEDBON
R3SKM_FINDNEARESTSELECTEDBON
R3OBJ*, nearest skeleton
R3FLOAT, minimum distance, initialize this to max value prior calling.
R3FLOAT, parameter specifying the bone
R3VECTOR, point
rc = obj.FINDNEARESTSELECTEDBON(p1, p2, p3);
Given a point, find nearest skeleton and bone param in a hierarchical skeleton.
R3SKM_private2
private2
R3SKM_private2
obj.private2();
R3SKM_GETORIGBONE
GETORIGBONE
R3SKM_GETORIGBONE
R3BOOL, TRUE if initial orientation was found. FALSE if undefined
R3INT, bone index
R3COORDSYS, coordinate system
rc = obj.GETORIGBONE(p1, p3);
Find out the initial bone orientation.
R3SKM_SETORIGBONE
SETORIGBONE
R3SKM_SETORIGBONE
R3BOOL, true if succeeded
R3INT, index of the bone
rc = obj.SETORIGBONE(p1, 0);
Set initial bone orientation. The transformation defined by * the bone is computed as 'current orientation - initial orientation'.
R3SKM_GETBINDINGID
GETBINDINGID
R3SKM_GETBINDINGID
R3INT, binding identifier
R3INT, index (0 ... R3SKA_MapCount-1)
rc = obj.GETBINDINGID(p3);
Given binding index, fetch the unique identifier specifying target objects bound * to this skeleton.
R3SKM_BINDOBJECTTOSKELETON
BINDOBJECTTOSKELETON
R3SKM_BINDOBJECTTOSKELETON
R3INT, number of points bound
R3BOOL, if true binds sub objects as well
R3OBJ*, target to be bound
rc = obj.BINDOBJECTTOSKELETON(p1, p3);
Bind all target points in the given target object to the nearest bones.
Joints
Joints
R3SKA_Joints
String
void*
'R3SKA_Joints' not documented
jsobj.SetJoints(value);
value = jsobj.GetJoints();
void* value = ...;
R3SetAttrs(r3obj, R3SKA_Joints, value, R3TAG_END);
void* value;
R3GetAttrs(r3obj, R3SKA_Joints, &value, R3TAG_END);
JointCount
JointCount
R3SKA_JointCount
Integer
int
number of joints
jsobj.SetJointCount(value);
value = jsobj.GetJointCount();
int value = ...;
R3SetAttrs(r3obj, R3SKA_JointCount, value, R3TAG_END);
int value;
R3GetAttrs(r3obj, R3SKA_JointCount, &value, R3TAG_END);
CurrentMap
CurrentMap
R3SKA_CurrentMap
Integer
R3INT
index of the current map
jsobj.SetCurrentMap(value);
value = jsobj.GetCurrentMap();
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_CurrentMap, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_CurrentMap, &value, R3TAG_END);
Type
Type
R3SKA_Type
Integer
R3INT
see skeleton types below
jsobj.SetType(value);
value = jsobj.GetType();
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_Type, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_Type, &value, R3TAG_END);
ParentIndex
ParentIndex
R3SKA_ParentIndex
Integer
R3INT
R3SK_NOINDEX or 0 ... n
jsobj.SetParentIndex(value);
value = jsobj.GetParentIndex();
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_ParentIndex, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_ParentIndex, &value, R3TAG_END);
ParentOffset
ParentOffset
R3SKA_ParentOffset
displacement from parent joint
jsobj.SetParentOffset(value);
value = jsobj.GetParentOffset();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_ParentOffset, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_ParentOffset, &value, R3TAG_END);
AxisCA
AxisCA
R3SKA_AxisCA
space for the first joint
jsobj.SetAxisCA(value);
value = jsobj.GetAxisCA();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_AxisCA, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_AxisCA, &value, R3TAG_END);
AxisCB
AxisCB
R3SKA_AxisCB
'R3SKA_AxisCB' not documented
jsobj.SetAxisCB(value);
value = jsobj.GetAxisCB();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_AxisCB, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_AxisCB, &value, R3TAG_END);
AxisCC
AxisCC
R3SKA_AxisCC
'R3SKA_AxisCC' not documented
jsobj.SetAxisCC(value);
value = jsobj.GetAxisCC();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_AxisCC, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_AxisCC, &value, R3TAG_END);
Position0
Position0
R3SKA_Position0
position of the root joint in object space
jsobj.SetPosition0(value);
value = jsobj.GetPosition0();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_Position0, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_Position0, &value, R3TAG_END);
AngleA
AngleA
R3SKA_AngleA
Number
R3FLOAT
indexed, heading angle
jsobj.SetAngleA(index, value);
value = jsobj.GetAngleA(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SKA_AngleA, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SKA_AngleA, &value, R3TAG_END);
IKPosition
IKPosition
R3SKA_IKPosition
joint position in object space
jsobj.SetIKPosition(index, value);
value = jsobj.GetIKPosition(index);
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_IKPosition, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_IKPosition, &value, R3TAG_END);
IKSampling
IKSampling
R3SKA_IKSampling
Integer
R3INT
1 or higher, the higher the value, the better the I.K finds the solution, and the slower the I.K gets
jsobj.SetIKSampling(value);
value = jsobj.GetIKSampling();
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_IKSampling, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_IKSampling, &value, R3TAG_END);
IKDepth
IKDepth
R3SKA_IKDepth
Integer
R3INT
number of parent levels to be affected
jsobj.SetIKDepth(value);
value = jsobj.GetIKDepth();
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_IKDepth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_IKDepth, &value, R3TAG_END);
PreferredAnimMth
PreferredAnimMth
R3SKA_PreferredAnimMth
Integer
int
enum r3skelanimmode, preferred way of animating
jsobj.SetPreferredAnimMth(value);
value = jsobj.GetPreferredAnimMth();
int value = ...;
R3SetAttrs(r3obj, R3SKA_PreferredAnimMth, value, R3TAG_END);
int value;
R3GetAttrs(r3obj, R3SKA_PreferredAnimMth, &value, R3TAG_END);
AngleB
AngleB
R3SKA_AngleB
Number
R3FLOAT
indexed, heading
jsobj.SetAngleB(index, value);
value = jsobj.GetAngleB(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SKA_AngleB, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SKA_AngleB, &value, R3TAG_END);
AngleC
AngleC
R3SKA_AngleC
Number
R3FLOAT
indexed, pitching
jsobj.SetAngleC(index, value);
value = jsobj.GetAngleC(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SKA_AngleC, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SKA_AngleC, &value, R3TAG_END);
Angle
Angle
R3SKA_Angle
indexed, hpb angles
jsobj.SetAngle(index, value);
value = jsobj.GetAngle(index);
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_Angle, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_Angle, &value, R3TAG_END);
Length
Length
R3SKA_Length
Number
R3FLOAT
indexed, length of the bone (dist. to next bone)
jsobj.SetLength(index, value);
value = jsobj.GetLength(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SKA_Length, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SKA_Length, &value, R3TAG_END);
UseMapVolume
UseMapVolume
R3SKA_UseMapVolume
Boolean
R3BOOL
activate mapping volume
jsobj.SetUseMapVolume(value);
value = jsobj.GetUseMapVolume();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SKA_UseMapVolume, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SKA_UseMapVolume, &value, R3TAG_END);
MapRadius
MapRadius
R3SKA_MapRadius
Number
R3FLOAT
max distance for point mapping
jsobj.SetMapRadius(value);
value = jsobj.GetMapRadius();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SKA_MapRadius, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SKA_MapRadius, &value, R3TAG_END);
Anchor
Anchor
R3SKA_Anchor
Integer
R3INT
index attr, see anchor codes
jsobj.SetAnchor(index, value);
value = jsobj.GetAnchor(index);
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_Anchor, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_Anchor, &value, R3TAG_END);
DrawConstraints
DrawConstraints
R3SKA_DrawConstraints
Boolean
R3BOOL
show / hide constraints
jsobj.SetDrawConstraints(value);
value = jsobj.GetDrawConstraints();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SKA_DrawConstraints, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SKA_DrawConstraints, &value, R3TAG_END);
RotationHandles
RotationHandles
R3SKA_RotationHandles
Boolean
R3BOOL
if true, skeleton supports joint rotation handles
jsobj.SetRotationHandles(value);
value = jsobj.GetRotationHandles();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SKA_RotationHandles, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SKA_RotationHandles, &value, R3TAG_END);
MapCount
MapCount
R3SKA_MapCount
Integer
R3INT
for multi mapping
value = jsobj.GetMapCount();
R3INT value;
R3GetAttrs(r3obj, R3SKA_MapCount, &value, R3TAG_END);
Interpolation
Interpolation
R3SKA_Interpolation
Integer
R3INT
see interpolation codes below
jsobj.SetInterpolation(value);
value = jsobj.GetInterpolation();
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_Interpolation, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_Interpolation, &value, R3TAG_END);
AngleSystem
AngleSystem
R3SKA_AngleSystem
Integer
R3INT
see angle spaces below
jsobj.SetAngleSystem(value);
value = jsobj.GetAngleSystem();
R3INT value = ...;
R3SetAttrs(r3obj, R3SKA_AngleSystem, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SKA_AngleSystem, &value, R3TAG_END);
MinAngle
MinAngle
R3SKA_MinAngle
indexed, min constraint angles
jsobj.SetMinAngle(index, value);
value = jsobj.GetMinAngle(index);
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_MinAngle, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_MinAngle, &value, R3TAG_END);
MaxAngle
MaxAngle
R3SKA_MaxAngle
indexed, max constraint angles
jsobj.SetMaxAngle(index, value);
value = jsobj.GetMaxAngle(index);
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_MaxAngle, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_MaxAngle, &value, R3TAG_END);
Thickness
Thickness
R3SKA_Thickness
Number
R3FLOAT
indexed attribute
jsobj.SetThickness(index, value);
value = jsobj.GetThickness(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SKA_Thickness, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SKA_Thickness, &value, R3TAG_END);
JointPosition
JointPosition
R3SKA_JointPosition
indexed attr, joint position in abs space
jsobj.SetJointPosition(index, value);
value = jsobj.GetJointPosition(index);
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3SKA_JointPosition, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3SKA_JointPosition, &value, R3TAG_END);
AttachOrientation
AttachOrientation
R3SKA_AttachOrientation
Boolean
R3BOOL
false indicates only the position is controlled by the parent
jsobj.SetAttachOrientation(value);
value = jsobj.GetAttachOrientation();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SKA_AttachOrientation, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SKA_AttachOrientation, &value, R3TAG_END);
AnimRootPos
AnimRootPos
R3SKA_AnimRootPos
Boolean
R3BOOL
enable/disable keyframing for the root position
jsobj.SetAnimRootPos(value);
value = jsobj.GetAnimRootPos();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SKA_AnimRootPos, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SKA_AnimRootPos, &value, R3TAG_END);
DrawAngles
DrawAngles
R3SKA_DrawAngles
Boolean
R3BOOL
show / hide angle handles
jsobj.SetDrawAngles(value);
value = jsobj.GetDrawAngles();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SKA_DrawAngles, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SKA_DrawAngles, &value, R3TAG_END);
JointName
JointName
R3SKA_JointName
String
char*
indexed attribute, joint name
jsobj.SetJointName(index, value);
value = jsobj.GetJointName(index);
char* value = ...;
R3SetAttrs(r3obj, R3SKA_JointName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3SKA_JointName, &value, R3TAG_END);
I.K Modes
Each joint is described by this structure
origin defines the beginning of the bone, horiz. axis defines direction
distance to the next joint
joint friction
friction caused by medium, if 1, the joint cannot be moved
rotate about cs.norm
rotate about cs.vert
torsion, rotate about cs.hor
see flags below
R3OBJ *, R3CLID_TTAG object for joint specific extensions
R3VECTOR, for internal use only
data below this is for internal use only, initialize to zero
name for the joint
flags
Handles
Method for moving joints
interpolation
angle spaces
values for enum PreferredAnimMth attribute
target point - bone binding
parameter specifying the joint
multi binding over adjacent bones
binding weight