r3prim
real/objects/r3prim.h
r3obj
Geometric primitive base class. Geometric primitives, such as spheres, cones, nurbs surfaces etc. are derived from this class.
r3Ttag
R3CLID_TTAG
r3Primitive
R3CLID_PRIMITIVE - 140
SETFLAG, CLEARFLAG, FLAGISSET, SETEDIT, EDITING, GETTOABSSPACEMATRIX, PRECONCATMATRIX, POSTCONCATMATRIX, MATRIXCHANGED, AUTOCHILDEDITING, VELOCITYHANDLED, UPDATEWIRE, EVALUATE, DERIVE, NORMAL, MAPFROMPARAMSPACE, MAPTOPARAMSPACE, MAPPOINTSFROMMULTILA, MAPOBJFROMMULTILATTI, SETPARENT, GETFACESPACE, ADDPOINT, DEPPOINTINSERTEDBYIN, INVKINEM, HANDLEVELOCITYSPIN, CHILDCHANGED, SIBLINGCHANGED, INSERTPOINT, REPARAM, ENUMHANDLES, ENUMHANDLESRECURSIVE, SELECTHANDLE, UNSELECTHANDLE, UNSELECTALLHANDLES, TOGGLEHANDLE, HANDLESELECTED, GETFREENETFRAME, NEWVARATTR, DELVARATTR, FINDVARATTR, COPYVARATTR, POINTTOABSSPACE, POINTTOOBJSPACE, POINTTOABSSPACEL, POINTTOOBJSPACEL, POINTFROMOBJTOPARENT, NORMALIZESPACE, AREAINDIRECTION, WIDTHINDIRECTION, BOUNDINGBOX, EVALUATEEXT, DEPSELECTEDPOINTSDEL, DELSELECTEDPOINTS, RENDER, RENDERSURFACES, BEGINRENDER, ENDRENDER, BEGINRENDERGEOMETRY, ENDRENDERGEOMETRY, COPYONLYREFTOWIRE, COPYWITHOUTCHILDREN, TRANSFORM, TRANSFORMLATTICE, ENUM, ENUMCURVES, SETPOINT, GETPOINT, POINTFROMOBJTOPARENT, SELECTCOUNT, MAPLOOKATPOINTFROMMU, SETMAPWEIGHTONSELECT, MAPTOOBJECTSPACEEX, EUCLIDEAN, POINTSCHANGED, PROGRESSBEGIN, PROGRESSTO, PROGRESSEND, ISMAPPED, MAPTOOBJECTSPACE, UPDATEMAP, ENUMPOINTWISEPROPERT, ENUMLATTICEOBJS, MATEVALBEGIN, MATEVAL, MATEVALEND, NORMALS, CONSTRAINTS, TRANSFORMTEXTURE, MAKENAME, SETTAGBINDING, CLEARTAGBINDING, ENUMTAGBINDINGS, MAPSELECTEDPOINTSFRO, ISMATERIALMAP, COMMITMULTIMAPTOABSS, INVERTHANDLES, ISPARENTDEPENDENT, ENUMFACES, ENUMFACESRECURSIVE, ENUMEDGES, ENUMEDGESRECURSIVE, RENDERUVMAP, DESELECTHANDLES, GETTOOBJSPACEMATRIX, POINTCOUNTCHANGED, REMAPUV, BEGINMULTIMAPTOABSSP, COMPUTEBOUNDINGBOX, ISCHILDDEPENDENT, ISSIBLINGDEPENDENT, DEPPOINTDELETEDBYIND, LOCK, GETLOCK, GETEDITSTRING, SETSELECTEDPOINTS, ENUMDRAGHANDLES, INSERT, REMOVE, GETFREENETFRAMEEX, FINDCOMMONPARENT, SCANLOOPS, ENUMSELECTHANDLES, ENUMSELECTHANDLESREC, INVALIDATEMATRIXCACH, ENUMCONTROLLEDOBJECT, HASPOINTWISERENDERPR, ISINLATTICESPACE, BACKUPPOINTS, RESTOREBACKUPPOINTS, ENUMVARATTRS, DETERMINISTIC, POINTAREAINDIRECTION, POINTWIDTHINDIRECTIO, SELECTNEXT, SELECTPREV, SELECTUP, SELECTDOWN, SELECTPRIMHANDLE, GETSELECTEDPRIMHANDL, DOUPDATEMAP, ENUMDRAGHANDLESRECUR, MATEVALSETOBJECT, TRANSFORMABOUTCOG, ATTACHTOLATTICE, GETSELECTIONSPACE, SETNATIVESPACE, RESTORENATIVESPACE, DELPOINTBYINDEX, INSERTPOINTBYINDEX, ASSIGNPOINT, DEPPOINTASSIGNED, UPDATELATTICECOORDSB, UPDATESELECTEDLATTIC, PREPLATTICECOORDSFOR, DELETABLESELECTCOUNT, POINTISDELETABLE, ENUMLATTICEREFERENCE, TR, PREPAREEVALUATEOPT, UPDATEWIRERECURSIVE, HASPRIVATEGEOMDATA, FREEMULTIMAP, TRANSLATE, ROTATE, SCALE, SKEW, ENUMPOINTSNORMALSUVW, ADDSIMULCHOR, BEGINMORPHING, GETMORPHINGKEY, SETMORPHINGKEY, ENDMORPHING, SETSELECTEDPOINTSBYA, SETMATRIX, ENUMPOINTSNORMALSDEN, REGISTERUVMAPPER, CREATEUVMAPPER, RENDERCAUSTICSMAP, COPYLATTICETAGGED, ISSELECTED, SETSPACE, FREEVARATTRS, HANDLESELECTIONINFO, CHANGEVARATTRID, ENUMPOINTWISETAGBIN, MAPBINDINGTOCLID, TOPOINTWISE, FROMPOINTWISE, ENUMCHANNELS, ISPARENT, GETINTERVAL, COMPUTESIZE, COMPUTECOG, FINDBYNAME, TRANSLATEIMAGE, DROPACTIONS, ISRENDERVISIBLE, GETORIENTEDBB, BEGINFINDCONNECTED, ENDFINDCONNECTED, COMPUTEVOLUME, COMPUTEAREA, INVERTHANDLESRECURSI, GETFACEPOINTLOOP, HANDLESCONNECTED, RENAMECHANNELREF, ADDTAGFINDER, REMTAGFINDER, ADDIMAGETRANSLATOR, REMIMAGETRANSLATOR, BEGINMATEVALEXT, ENDMATEVALEXT, MATEVALEXT, MATEVALEXTOBJECT, MATERIALMAPCHANGED, SETPOINTWISEFLOAT, SETPOINTWISEVECTOR, GETPOINTWISEFLOAT, GETPOINTWISEVECTOR,
Parent, Matrix, MatrixTranslate, MatrixScale, MatrixRotate, MatrixSkew, WireObject, WireObject2, Flags, ClosedU, ClosedV, ClosedW, Position, PointsSelection, Dimensions, CountU, CountV, CountW, DegreeU, DegreeV, DegreeW, Points, PointCount, PointSize, PointType, ComplexityU, ComplexityV, ComplexityW, Size, WireCurveSelection, WireCurveEvaluation, SelectedU, SelectedV, DefaultObjectSpace, ObjectSpace, Uncovered1, Uncovered2, Sector, PointwiseVelocity, Quaternion, WfInvisible, RtInvisible, LatticeMatrixTransla, LatticeMatrixRotate, LatticeMatrixScale, LatticeMatrixSkew, ShadowInvisible, ReflectionInvisible, CameraInvisible, TextureMatrixTransla, TextureMatrixRotate, TextureMatrixScale, TextureMatrixSkew, LatticeSelectedArray, LatticeSelectedItemS, MapWeight, MatrixRotateHPB, TotalTranslate, TotalScale, TotalRotate, MatrixTranslateX, MatrixTranslateY, MatrixTranslateZ, LatticePoints, FaceSelection, EdgeSelection, HasGeometry, PhysicalSize, LatticeSelectedPoint, PointSelection, LatticePointSize, TotalSkew, RotateInHPB, LatticeSelectedWeigh, LatticePointWeights, NativeSpace, NoShadows, EvaluatesContinuousl, HasRenderGeometry, InvertTextureV, Hollow, SelectedPoints, Space, HitInvisible, WireQuality, WireQuality2, ShadedQuality, TextureQuality, SelectiveVisibility, RenderControlPoly, HideBoundingBox, HideRotateHandle, HideCoordSys, HideGeometry, NoShading, RenderCovers, HideEditModeRotateHa, HideEditModeCoordSys, UseVertexColors, RenderAsBoundingBox, DrawOnlySelected, EvalMaterialWithNorm, ShowName, Color, Mass, Density, Charge, SurfaceFriction, ReboundEnergy, Velocity, Spin, Inertia, FluidVelocity, FluidPressure, FluidFrictionCoeffic, FluidVelocityCoeffic, CenterOfGravity, LayerVersion, Transparency, Reflection, Alpha, Fade, TextureMapMethod, Gravity, Magnetism, LifeTime, FluidDynamics, ExplodeTime, ExplodeAtImpact, Collision, UVTextureMap, Elasticity, Rigidity, Illumination, MatSpaceCoords, OpticalThickness, Scope, SpecularColor, UVCoords, VolumeSampling, CollisionAccuracy, Impact, ImpactTime, ImpactAmplitude, ImpactDuration, ImpactLevel, ImpactWaveType, VolumeDefined, ExplodeParticleCount, ExplodeParticleVeloc, Explode, NotSaved, TextureIsImage, HiddenVisibility, ExtraFlags, ByteOptions1, ByteOptions2, DrawQualities, CausticsRes, SimulOptions,
R3PRIMM_SETFLAG
SETFLAG
R3PRIMM_SETFLAG
R3OBJ*, obj
R3INT, the flag to be set
rc = obj.SETFLAG(p3);
Set one of the R3PRIMF_* flags
R3PRIMM_CLEARFLAG
CLEARFLAG
R3PRIMM_CLEARFLAG
R3OBJ*, obj
R3INT, the flag to be cleared
rc = obj.CLEARFLAG(p3);
Clear one of the R3PRIMF_* flags
R3PRIMM_FLAGISSET
FLAGISSET
R3PRIMM_FLAGISSET
R3BOOL, TRUE/FALSE
R3INT, the flag
rc = obj.FLAGISSET(p3);
Return TRUE if the flag is set
R3PRIMM_SETEDIT
SETEDIT
R3PRIMM_SETEDIT
R3BOOL, if TRUE object is set to editing state, if FALSE object is set to 'selected' state.
obj.SETEDIT(p3);
Set/reset editing state of object
R3PRIMM_EDITING
EDITING
R3PRIMM_EDITING
R3BOOL, TRUE if in editing state, FALSE if not.
rc = obj.EDITING();
Checks whether or not the object is in editing state
R3PRIMM_GETTOABSSPACEMATRIX
GETTOABSSPACEMATRIX
R3PRIMM_GETTOABSSPACEMATRIX
R3MATRIX, Address of the matrix or NULL if object space was identity
R3MATRIX, address of 4x4 matrix.
rc = obj.GETTOABSSPACEMATRIX(p3);
Fetch transformation matrix which can be used for transforming points from the object space to absolute space.
R3PRIMM_PRECONCATMATRIX
PRECONCATMATRIX
R3PRIMM_PRECONCATMATRIX
R3MATRIX, Address of the matrix
R3MATRIX, address of 4x4 matrix.
rc = obj.PRECONCATMATRIX(p3);
Multiply parameter matrix to objects matrix. 'newmatrix = param * oldmarix'
R3PRIMM_POSTCONCATMATRIX
POSTCONCATMATRIX
R3PRIMM_POSTCONCATMATRIX
R3MATRIX, Address of the matrix
R3MATRIX, address of 4x4 matrix.
rc = obj.POSTCONCATMATRIX(p3);
Multiply parameter matrix to objects matrix. 'newmatrix = oldmarix * param'
R3PRIMM_MATRIXCHANGED
MATRIXCHANGED
R3PRIMM_MATRIXCHANGED
obj.MATRIXCHANGED();
Invalidate 'to abs space' and 'to local space' matrix caches. * Called internally.
R3PRIMM_AUTOCHILDEDITING
AUTOCHILDEDITING
R3PRIMM_AUTOCHILDEDITING
R3BOOL, true if autochildediting is desired.
rc = obj.AUTOCHILDEDITING();
Some objects may want their children be in edit mode if their parent is. Return true if this is desired. It is up to the sub classes to implement this method. This method is only needed by class implementors.
R3PRIMM_VELOCITYHANDLED
VELOCITYHANDLED
R3PRIMM_VELOCITYHANDLED
R3BOOL, true if the sub class handled velocity.
rc = obj.VELOCITYHANDLED();
Ask whether the object can handle velocity transformations. This method is needed only by class implementors.
R3PRIMM_UPDATEWIRE
UPDATEWIRE
R3PRIMM_UPDATEWIRE
R3INT, target selector. See enum below.
R3INT, the attribute/method which causes the update
obj.UPDATEWIRE(p1, p3);
Updates the wire frame representation associated with the object.
R3PRIMM_EVALUATE
EVALUATE
R3PRIMM_EVALUATE
R3INT, space in which the evaluated point is returned. See space codes below.
R3VECTOR, 3D parameter value. Must be within 0-1 range.
R3VECTOR, result
obj.EVALUATE(p1, p2, p3);
Evaluates a point corresponding to the given parameter value. Each geometric primitive may define 1d, 2d or 3D parametrized curve, surface or volume which can be evaluated using this method. For example, a surface may use the first two parameter values for evaluating the point from its surface. The third parameter value defines how much the point is displaced along the surface normal.
R3PRIMM_DERIVE
DERIVE
R3PRIMM_DERIVE
R3INT, the space in which the result is returned, see space codes below
R3VECTOR, parameter value
R3VECTOR, result
obj.DERIVE(p1, p2, p3);
Derives an object.
R3PRIMM_NORMAL
NORMAL
R3PRIMM_NORMAL
R3INT, space, see space codes below (R3SPACE_ABSOLUTE, etc.)
R3VECTOR, parameter
R3VECTOR, evaluated surface normal
obj.NORMAL(p1, p2, p3);
Evaluate surface normal
R3PRIMM_MAPFROMPARAMSPACE
MAPFROMPARAMSPACE
R3PRIMM_MAPFROMPARAMSPACE
R3VECTOR, point in object's parameter space (uvw)
R3VECTOR, result is point in abs. space.
obj.MAPFROMPARAMSPACE(p1, p3);
Map 'uvw' point to abs space.
R3PRIMM_MAPTOPARAMSPACE
MAPTOPARAMSPACE
R3PRIMM_MAPTOPARAMSPACE
R3VECTOR, point in abs space.
R3VECTOR, uvw
obj.MAPTOPARAMSPACE(p1, p3);
Map given abs point to parameter space of the object.
R3PRIMM_MAPPOINTSFROMMULTILA
MAPPOINTSFROMMULTILA
R3PRIMM_MAPPOINTSFROMMULTILA
R3INT, number of lattices
R3INT*, lattice indexes
R3OBJ*, lattice objects
obj.MAPPOINTSFROMMULTILA(p1, p2, p3);
Map object from lattices to abs space.
R3PRIMM_MAPOBJFROMMULTILATTI
MAPOBJFROMMULTILATTI
R3PRIMM_MAPOBJFROMMULTILATTI
R3INT, number of lattices
R3INT*, lattice indexes
R3OBJ*, lattice objects
obj.MAPOBJFROMMULTILATTI(p1, p2, p3);
Map points from lattices to abs space.
R3PRIMM_SETPARENT
SETPARENT
R3PRIMM_SETPARENT
R3OBJ*, previous parent object
R3OBJ*, new parent object
rc = obj.SETPARENT(p3);
Set parent reference to NULL. Note: this doesn't call r3rm_unref nor remove the object from its parent list.
R3PRIMM_GETFACESPACE
GETFACESPACE
R3PRIMM_GETFACESPACE
R3BOOL, true if face index is valid
R3INT, face index
R3INT, space (R3SPACE_ABSOLUTE, R3SPACE_LOCAL, R3SPACE_PARENT)
R3COORDSYS, coordinate system
rc = obj.GETFACESPACE(p1, p2, p3);
Get face handle space. Can be used for move on normal etc. operations.
R3PRIMM_ADDPOINT
ADDPOINT
R3PRIMM_ADDPOINT
R3BOOL, true if succeeded.
R3VECTOR, point to be added.
rc = obj.ADDPOINT(p3);
Add new point (by position). This method is is implemented by sub classes. Not all geom. objects (such as quadrics) support this method. Other point specific properties are set to defaults.
R3PRIMM_DEPPOINTINSERTEDBYIN
DEPPOINTINSERTEDBYIN
R3PRIMM_DEPPOINTINSERTEDBYIN
R3OBJ*, dependent whose point count has changed
R3INT, index of the newly inserted point.
obj.DEPPOINTINSERTEDBYIN(p1, p3);
Called when new point is inserted to the dependent object.
R3PRIMM_INVKINEM
INVKINEM
R3PRIMM_INVKINEM
R3TAG*, R3PRIMA_Force - R3VECTOR, specifying the end point
obj.INVKINEM(p3);
Apply inv. kinematics to the selected point
R3PRIMM_HANDLEVELOCITYSPIN
HANDLEVELOCITYSPIN
R3PRIMM_HANDLEVELOCITYSPIN
obj.HANDLEVELOCITYSPIN();
Transform the object based on the time interval and * the velocity and spin attributes.
R3PRIMM_CHILDCHANGED
CHILDCHANGED
R3PRIMM_CHILDCHANGED
R3OBJ*, actual child
R3TAG*, list of tags specifying changed attributes
R3OBJ*, child through which the method reached the object
obj.CHILDCHANGED(p1, p2, p3);
Sent to an object when one of the sub objects has changed.
R3PRIMM_SIBLINGCHANGED
SIBLINGCHANGED
R3PRIMM_SIBLINGCHANGED
R3OBJ*, the sibling object that actually changed.
R3TAG*, list of tags specifying changed attributes
R3OBJ*, sibling through which the method got delivered
obj.SIBLINGCHANGED(p1, p2, p3);
Sent to an object when one of the siblings has changed.
R3PRIMM_INSERTPOINT
INSERTPOINT
R3PRIMM_INSERTPOINT
R3BOOL, TRUE if succeeded.
R3VECTOR, 3D abs point to be inserted.
rc = obj.INSERTPOINT(p3);
Insert a new point to an object.
R3PRIMM_REPARAM
REPARAM
R3PRIMM_REPARAM
R3BOOL, true if succeeded.
R3BOOL, if true, don't update.
R3INT, new point count
rc = obj.REPARAM(p1, p3);
Reparametrize the surface. Not all sub classes implement this.
R3PRIMM_ENUMHANDLES
ENUMHANDLES
R3PRIMM_ENUMHANDLES
int, return value from the users callback function.
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace, R3PRIMA_FaceIndex, R3PRIMA_EdgeIndex, R3PRIMA_Connected, R3PRIMA_ConnectData
rc = obj.ENUMHANDLES(p3);
Enumerate all (visible and invisible) point handles to the given function * in the given space. * The return value 1 continues enumeration. Other values * cancel it.
R3PRIMM_ENUMHANDLESRECURSIVE
ENUMHANDLESRECURSIVE
R3PRIMM_ENUMHANDLESRECURSIVE
int, return value from the users callback function.
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
rc = obj.ENUMHANDLESRECURSIVE(p3);
Recursively enumerate object handles to the given function * in the given space. See R3SPACE_ codes. * The function is of form int (*)(R3OBJ *, void *data); * The return value 1 continues enumeration. Other values * cancel it.
R3PRIMM_SELECTHANDLE
SELECTHANDLE
R3PRIMM_SELECTHANDLE
R3BOOL, true if succeeded
R3INT, index of the handle
R3UBYTE, weight of selection, 1 .. R3FULLSELECTION. If zero full selection is applied.
R3INT, see R3PRIMHANDLE types
rc = obj.SELECTHANDLE(p1, p2, p3);
Select handle specified by 'index' and 'type'. Different classes may define different type of handles. Use R3H_SELECTHANDLE to select geometric points.
R3PRIMM_UNSELECTHANDLE
UNSELECTHANDLE
R3PRIMM_UNSELECTHANDLE
R3BOOL, true if handle was found.
R3INT, index
R3INT, see R3PRIMHANDLE types
rc = obj.UNSELECTHANDLE(p1, p3);
Unselect handle
R3PRIMM_UNSELECTALLHANDLES
UNSELECTALLHANDLES
R3PRIMM_UNSELECTALLHANDLES
obj.UNSELECTALLHANDLES();
Unselect all handles
R3PRIMM_TOGGLEHANDLE
TOGGLEHANDLE
R3PRIMM_TOGGLEHANDLE
R3BOOL, true if succeeded
R3INT, handle index
R3INT, see R3HANDLETYPE
rc = obj.TOGGLEHANDLE(p1, p3);
Toggle handle selection (make selected handle unselected and vise versa)
R3PRIMM_HANDLESELECTED
HANDLESELECTED
R3PRIMM_HANDLESELECTED
R3UBYTE, amount of selection 0=not selected .. R3FULLSECTION=fully selected
R3INT, index of the handle
R3INT, see R3HANDLETYPE
rc = obj.HANDLESELECTED(p1, p3);
Return handle status.
R3PRIMM_GETFREENETFRAME
GETFREENETFRAME
R3PRIMM_GETFREENETFRAME
R3INT, space
R3VECTOR, parameter. Note: param values may exceed 0-1 range.
R3COORDSYS, result. Origin position may be extrapolated or truncated to 0-1, depending on the obj. class.
obj.GETFREENETFRAME(p1, p2, p3);
Evaluates coord sys specifying so called freenet frame with the given parameter value.
R3PRIMM_NEWVARATTR
NEWVARATTR
R3PRIMM_NEWVARATTR
R3FLOAT, pointer to allocated 'per-vertex' data.
R3INT, identifier for data
R3INT, sub identifier
R3INT, number of R3FLOAT's to be allocated per vertex.
rc = obj.NEWVARATTR(p1, p2, p3);
Allocate given number of R3FLOAT data per vertex. The allocated data is identified with given ID and subid, and can be fetched later via these two identifier.
R3PRIMM_DELVARATTR
DELVARATTR
R3PRIMM_DELVARATTR
R3BOOL, TRUE if found
R3INT, sub indentifier
R3INT, identifier
rc = obj.DELVARATTR(p1, p3);
Free given varattr
R3PRIMM_FINDVARATTR
FINDVARATTR
R3PRIMM_FINDVARATTR
R3FLOAT, address of the data or NULL if data was not found
R3INT, sub indentifier
R3INT, data identifier
rc = obj.FINDVARATTR(p1, p3);
Find varattr data corresponding the given identifier.
R3PRIMM_COPYVARATTR
COPYVARATTR
R3PRIMM_COPYVARATTR
void*, data
R3INT, identifier
R3INT, sub identifier
R3INT, identifier for the duplicated data
rc = obj.COPYVARATTR(p1, p2, p3);
Duplicate the varattr.
R3PRIMM_POINTTOABSSPACE
POINTTOABSSPACE
R3PRIMM_POINTTOABSSPACE
R3VECTOR, point to be mapped to abs space
obj.POINTTOABSSPACE(p3);
Map a point represented in object's local space to abs space (world space).
R3PRIMM_POINTTOOBJSPACE
POINTTOOBJSPACE
R3PRIMM_POINTTOOBJSPACE
R3VECTOR, point to be mapped to local space.
obj.POINTTOOBJSPACE(p3);
Map a point represented in abs space into object's local space.
R3PRIMM_POINTTOABSSPACEL
POINTTOABSSPACEL
R3PRIMM_POINTTOABSSPACEL
R3VECTOR, point to be mapped
obj.POINTTOABSSPACEL(p3);
Map a point to to abs space using 3x3 left top sub matrix. * Can be used for mapping 'direction vectors' rather than 'position vectors'.
R3PRIMM_POINTTOOBJSPACEL
POINTTOOBJSPACEL
R3PRIMM_POINTTOOBJSPACEL
R3VECTOR, point to be mapped
obj.POINTTOOBJSPACEL(p3);
Use 3x3 sub matrix to map a point to object's local space. * Can be used for mapping 'direction vectors'.
R3PRIMM_POINTFROMOBJTOPARENT
POINTFROMOBJTOPARENT
R3PRIMM_POINTFROMOBJTOPARENT
R3VECTOR, point to be mapped
obj.POINTFROMOBJTOPARENT(p3);
Map a point represented in object's local space to parent space.
R3PRIMM_NORMALIZESPACE
NORMALIZESPACE
R3PRIMM_NORMALIZESPACE
obj.NORMALIZESPACE();
Make the object's space the 'identity space'. The geometric points are transformed with inverted transformation so that the geometry remains the same in world space.
R3PRIMM_AREAINDIRECTION
AREAINDIRECTION
R3PRIMM_AREAINDIRECTION
R3VECTOR, direction
R3FLOAT, computed area in square meters.
obj.AREAINDIRECTION(p1, p3);
Objects area in the direction of the parameter vector
R3PRIMM_WIDTHINDIRECTION
WIDTHINDIRECTION
R3PRIMM_WIDTHINDIRECTION
R3VECTOR, direction
R3FLOAT, width in meters.
obj.WIDTHINDIRECTION(p1, p3);
Objects width in the direction of the parameter vector.
R3PRIMM_BOUNDINGBOX
BOUNDINGBOX
R3PRIMM_BOUNDINGBOX
obj.BOUNDINGBOX();
Return the bounding box for the object.
R3PRIMM_EVALUATEEXT
EVALUATEEXT
R3PRIMM_EVALUATEEXT
R3INT, see R3SPACE_ codes
R3VECTOR, uvw coordinates
R3VECTOR, evaluated point.
obj.EVALUATEEXT(p1, p2, p3);
Like PRIMM_EVALUATE, but parameter can exceed 0-1 range for extrapolation attribute defines how extrapolation is carried out, See extrapolation codes below.
R3PRIMM_DEPSELECTEDPOINTSDEL
DEPSELECTEDPOINTSDEL
R3PRIMM_DEPSELECTEDPOINTSDEL
R3OBJ*, dependent
obj.DEPSELECTEDPOINTSDEL(p1, 0);
Called when selected points are deleted from the dependent object. The object should remove all references to the deleted points.
R3PRIMM_DELSELECTEDPOINTS
DELSELECTEDPOINTS
R3PRIMM_DELSELECTEDPOINTS
obj.DELSELECTEDPOINTS();
Delete selected geometric points.
R3PRIMM_RENDER
RENDER
R3PRIMM_RENDER
R3TAG*, tag list: R3PRIMA_RenderEngine, R3PRIMA_RenderAlways, * R3PRIMA_RenderFilter, R3PRIMA_RenderFilterMth, R3PRIMA_GlobalRenderQuality
obj.RENDER(p3);
describes the object geometry to the rendering engine by * sending messages which create shading specialized objects to the render engine. * Primitive class does this by sending R3PRIMM_BEGINRENDERGEOMETRY-ENDRENDERGEOMETRY * calls to itself after checking shading visibility conditions.
R3PRIMM_RENDERSURFACES
RENDERSURFACES
R3PRIMM_RENDERSURFACES
R3INT, evaluation space (ABSOLUTE/PARENT/OBJECT). Describe geometry in the defined space.
R3TAG*, tag list: R3PRIMA_RenderEngine, R3PRIMA_RenderAlways etc.
obj.RENDERSURFACES(p1, p3);
Similar to RENDER msg, but only surfaces should be rendered.
R3PRIMM_BEGINRENDER
BEGINRENDER
R3PRIMM_BEGINRENDER
R3TAG*, render tag list including R3PRIMA_RenderEngine
R3TAG*, tag list for the creation of the render object. Each class adds render attrs * it defines to this tag list.
obj.BEGINRENDER(p1, p3);
Begins creation of shading specialised objects. Primitive class sends this to itself * when it receives PRIMM_RENDER message. When prim class gets the message, it sends * R3DoA2(rengine, R3FRM_BEGINLEVEL, p2, tags).
R3PRIMM_ENDRENDER
ENDRENDER
R3PRIMM_ENDRENDER
R3TAG*, class private tag list
obj.ENDRENDER(p3);
Finishes render object description, see BEGINRENDER above. Primitive class * sends R3DoA(rengine, R3FRM_ENDLEVEL, tags) when it receives this message.
R3PRIMM_BEGINRENDERGEOMETRY
BEGINRENDERGEOMETRY
R3PRIMM_BEGINRENDERGEOMETRY
R3TAG*, tag list from R3PRIMM_RENDER
R3TAG*, tag list for the creation of the render object. Each class adds render attrs it defines to this tag list.
obj.BEGINRENDERGEOMETRY(p1, p3);
Begins creation of shading geometry objects. Default actions of the base class * is sending BEGINRENDERSURFACES-ENDRENDERSURFACES and BEGINRENDERVOLUME-ENDRENDERVOLUME * methods to the object.
R3PRIMM_ENDRENDERGEOMETRY
ENDRENDERGEOMETRY
R3PRIMM_ENDRENDERGEOMETRY
R3TAG*, tag list from R3PRIMM_RENDER
R3TAG*, tag list
obj.ENDRENDERGEOMETRY(p1, p3);
Finishes render object description, see BEGINRENDER above. Primitive class * sends R3DoA(rengine, R3END_ENDATOM, tags) when it receives this message.
R3PRIMM_COPYONLYREFTOWIRE
COPYONLYREFTOWIRE
R3PRIMM_COPYONLYREFTOWIRE
R3OBJ*, duplicated object
rc = obj.COPYONLYREFTOWIRE();
For optimized interaction. An object with no geometry but with the original wire object is returned
R3PRIMM_COPYWITHOUTCHILDREN
COPYWITHOUTCHILDREN
R3PRIMM_COPYWITHOUTCHILDREN
R3OBJ*, duplicated object
rc = obj.COPYWITHOUTCHILDREN();
Non recursive copy
R3PRIMM_TRANSFORM
TRANSFORM
R3PRIMM_TRANSFORM
R3BOOL, if true, object was transformed
R3PRIMTRANSFORM*
rc = obj.TRANSFORM(p3);
Transform
R3PRIMM_TRANSFORMLATTICE
TRANSFORMLATTICE
R3PRIMM_TRANSFORMLATTICE
R3PRIMTRANSFORM*, transformation already in lattice space
obj.TRANSFORMLATTICE(p3);
Transform lattice space. The matrix is given in lattice space.
R3PRIMM_ENUM
ENUM
R3PRIMM_ENUM
R3INT, return value from the hook.
R3TAG*, R3RA_Hook, R3RA_HookData
rc = obj.ENUM(p3);
Enumerate geometric primitive and the sub objects * into the given hook function. * The hook is of form int (*)(R3OBJ *, void *data); * If the hook returns 1, enumeration continues. Return values 0 and -1 * cancel the enumeration.
R3PRIMM_ENUMCURVES
ENUMCURVES
R3PRIMM_ENUMCURVES
obj.ENUMCURVES();
Enumerate U and V curve handles.
R3PRIMM_SETPOINT
SETPOINT
R3PRIMM_SETPOINT
R3BOOL, true if index was valid
R3INT, index of the point to be set
R3VECTOR, new value.
rc = obj.SETPOINT(p1, p3);
Set point by index. The point (p3) is given in absolute space.
R3PRIMM_GETPOINT
GETPOINT
R3PRIMM_GETPOINT
R3BOOL, true if succeeded.
R3VECTOR, buffer for the fetched point
R3INT, index of the point to be fetched
rc = obj.GETPOINT(p1, p3);
Fetch point by index.
R3PRIMM_POINTFROMOBJTOPARENT
POINTFROMOBJTOPARENT
R3PRIMM_POINTFROMOBJTOPARENT
R3VECTOR, point to be mapped.
obj.POINTFROMOBJTOPARENT(p3);
Map point to parent space using 3x3 sub matrix. Can be used * for mapping direction vectors to parent space.
R3PRIMM_SELECTCOUNT
SELECTCOUNT
R3PRIMM_SELECTCOUNT
R3INT, number of selected points
rc = obj.SELECTCOUNT();
Returns the number of selected points. The primitive base class implements this method by using ENUMHANDLES method.
R3PRIMM_MAPLOOKATPOINTFROMMU
MAPLOOKATPOINTFROMMU
R3PRIMM_MAPLOOKATPOINTFROMMU
obj.MAPLOOKATPOINTFROMMU();
for mapping objects from skeletons space to abs space using
R3PRIMM_SETMAPWEIGHTONSELECT
SETMAPWEIGHTONSELECT
R3PRIMM_SETMAPWEIGHTONSELECT
R3FLOAT, weight
R3OBJ*, skeleton object.
obj.SETMAPWEIGHTONSELECT(p1, p3);
if object is in'edit' state, set mapping weight for the selected points. Otherwise set weight for the object.
R3PRIMM_MAPTOOBJECTSPACEEX
MAPTOOBJECTSPACEEX
R3PRIMM_MAPTOOBJECTSPACEEX
R3BOOL, true if succeeded
rc = obj.MAPTOOBJECTSPACEEX();
R3PRIMM_EUCLIDEAN
EUCLIDEAN
R3PRIMM_EUCLIDEAN
R3BOOL, true for objects defined in standard 3d space, false for non-euclidean space.
rc = obj.EUCLIDEAN();
Checks whether the object is defined in standard euclidean space (i.e. matrix concatenation works).
R3PRIMM_POINTSCHANGED
POINTSCHANGED
R3PRIMM_POINTSCHANGED
obj.POINTSCHANGED();
Called when geometric points are changed.
R3PRIMM_PROGRESSBEGIN
PROGRESSBEGIN
R3PRIMM_PROGRESSBEGIN
char*, info string to be shown
R3INT, total value
obj.PROGRESSBEGIN(p1, p3);
Initialize progress indicator
R3PRIMM_PROGRESSTO
PROGRESSTO
R3PRIMM_PROGRESSTO
R3INT, 0 ... total
obj.PROGRESSTO(p3);
Updates progress indicator bar to given level
R3PRIMM_PROGRESSEND
PROGRESSEND
R3PRIMM_PROGRESSEND
obj.PROGRESSEND();
Terminates progress indicator session. The progress bar is reset to null level.
R3PRIMM_ISMAPPED
ISMAPPED
R3PRIMM_ISMAPPED
R3INT, see R3MAPF_ flags below
R3INT, Transformation component to be checked in case the object is mapped in 'object' mode. Set R3PRTRF_USEOPTIMIZATIONFLAGS | R3PRTRF_TRANSLATE/SCALE/ROTEATE/SKEW to check whether or not certain component is controlled by the lattice.
rc = obj.ISMAPPED(p3);
Check if the give object is lattice mapped.
R3PRIMM_MAPTOOBJECTSPACE
MAPTOOBJECTSPACE
R3PRIMM_MAPTOOBJECTSPACE
int, map types below
R3FLOAT, weight of mappin
obj.MAPTOOBJECTSPACE(p1, p2, 0);
Map the object to the objects space given as parameter.
R3PRIMM_UPDATEMAP
UPDATEMAP
R3PRIMM_UPDATEMAP
obj.UPDATEMAP();
Called when lattice or map object changes to remap the object to new position in abs space
R3PRIMM_ENUMPOINTWISEPROPERT
ENUMPOINTWISEPROPERT
R3PRIMM_ENUMPOINTWISEPROPERT
R3OBJ*, callback object
R3INT, callback method
obj.ENUMPOINTWISEPROPERT(p1, p2, 0);
Enumerate pointwise properties. Caller will be called with given method. Tag id of the pointwise property is passed in p1. Type of the property is passed in p2.
R3PRIMM_ENUMLATTICEOBJS
ENUMLATTICEOBJS
R3PRIMM_ENUMLATTICEOBJS
obj.ENUMLATTICEOBJS();
Enumerate any objects that acts as skeletons for this object
R3PRIMM_MATEVALBEGIN
MATEVALBEGIN
R3PRIMM_MATEVALBEGIN
R3BOOL, TRUE if succeeded
rc = obj.MATEVALBEGIN();
Begin material evaluation.
R3PRIMM_MATEVAL
MATEVAL
R3PRIMM_MATEVAL
R3BOOL, true if succeeded
rc = obj.MATEVAL();
Evaluate materials in given point
R3PRIMM_MATEVALEND
MATEVALEND
R3PRIMM_MATEVALEND
obj.MATEVALEND();
End material evaluation.
R3PRIMM_NORMALS
NORMALS
R3PRIMM_NORMALS
R3INT, space, see space codes below (R3SPACE_ABSOLUTE, etc.)
R3VECTOR, parameter
obj.NORMALS(p1, p2, 0);
Evaluate surface normals
R3PRIMM_CONSTRAINTS
CONSTRAINTS
R3PRIMM_CONSTRAINTS
R3FLOAT, current time
obj.CONSTRAINTS(p3);
Animation system sends this message after R3PRIMM_TIME message.
R3PRIMM_TRANSFORMTEXTURE
TRANSFORMTEXTURE
R3PRIMM_TRANSFORMTEXTURE
R3PRIMTRANSFORM*, texture transformation
obj.TRANSFORMTEXTURE(p3);
transform texture matrix
R3PRIMM_MAKENAME
MAKENAME
R3PRIMM_MAKENAME
R3INT, max size of the buffer
R3OBJ*, root
char*, buffer for the name
obj.MAKENAME(p1, p2, p3);
Make full object name for given object. The name is * of form: 'root/../..
R3PRIMCM_SETTAGBINDING
SETTAGBINDING
R3PRIMCM_SETTAGBINDING
R3BOOL, true if ok
R3INT, tag identifier
R3INT, tag identifier for pointwise property
R3CLID, channel clid
rc = obj.SETTAGBINDING(p1, p2, p3);
Bind a dynamic tag to a channel. When an object is rendered and the tag is defined, corresponding material property (channel) is passed to the renderer. Note: this method can be called more than once for certain tag in which case the attribute in question is bound to multiple channels.
R3PRIMCM_CLEARTAGBINDING
CLEARTAGBINDING
R3PRIMCM_CLEARTAGBINDING
R3BOOL, false if binding was not found
R3INT, tag or pointwise tag id
rc = obj.CLEARTAGBINDING(p3);
Delete binding between tag and channel
R3PRIMCM_ENUMTAGBINDINGS
ENUMTAGBINDINGS
R3PRIMCM_ENUMTAGBINDINGS
void*, return value from the caller. TRUE continues enumeration, any other return value cancels. The caller object is called as : R3DoA3(cb_obj, cb_mth, (R3INT)tag, (R3CLID)channel, cb_data);
R3OBJ*, object to be called
R3INT, method to be called
void*, data to be passed to the caller
rc = obj.ENUMTAGBINDINGS(p1, p2, p3);
Enumerates tag-channel bindings. See also R3PRIMCM_ENUMPOINTWISETAGBINDINGS.
R3PRIMM_MAPSELECTEDPOINTSFRO
MAPSELECTEDPOINTSFRO
R3PRIMM_MAPSELECTEDPOINTSFRO
obj.MAPSELECTEDPOINTSFRO();
Map selected points from lattice to abs space.
R3PRIMM_ISMATERIALMAP
ISMATERIALMAP
R3PRIMM_ISMATERIALMAP
R3BOOL, FALSE by default.
rc = obj.ISMATERIALMAP();
Return true if this object defines material properties. It is up to the sub classes to implement this method.
R3PRIMM_COMMITMULTIMAPTOABSS
COMMITMULTIMAPTOABSS
R3PRIMM_COMMITMULTIMAPTOABSS
R3VECTOR, multi mapping buffer containing the new geometry
obj.COMMITMULTIMAPTOABSS(p3);
Assign the result of multi mapping to the object's geometry and release the multi mapping buffer.
R3PRIMM_INVERTHANDLES
INVERTHANDLES
R3PRIMM_INVERTHANDLES
obj.INVERTHANDLES();
Invert handle selection : selected handle becomes unselected and unselected becomes selected.
R3PRIMM_ISPARENTDEPENDENT
ISPARENTDEPENDENT
R3PRIMM_ISPARENTDEPENDENT
R3BOOL, true if depends, false if not
R3OBJ*, parent object
rc = obj.ISPARENTDEPENDENT(p3);
Check if object depends on its parent object.
R3PRIMM_ENUMFACES
ENUMFACES
R3PRIMM_ENUMFACES
int, return value from the hook.
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
rc = obj.ENUMFACES(p3);
Enumerate polygon faces to given hook function. * If the hook returns 0 or -1, the enumeration is canceled. * Return value 1 continues enumeration. * The hook function is of form: * callback(void *data, R3OBJ *obj, R3PRIMFACE *face, R3INT faceindex, R3INT handletype);
R3PRIMM_ENUMFACESRECURSIVE
ENUMFACESRECURSIVE
R3PRIMM_ENUMFACESRECURSIVE
int, return value from the hook.
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
rc = obj.ENUMFACESRECURSIVE(p3);
Enumerate polygon faces of the object and its * sub objects to given hook function. Note that not all geometric * object define faces. * If the hook returns 0 or -1, the enumeration is canceled. * Return value 1 continues enumeration. * The hook function is of form: * callback(void *data, R3OBJ *obj, R3PRIMFACE *face, R3INT faceindex, R3INT handletype);
R3PRIMM_ENUMEDGES
ENUMEDGES
R3PRIMM_ENUMEDGES
int, return value from the hook.
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
rc = obj.ENUMEDGES(p3);
Enumerate polygon edges * to the given hook function. Note that not all geometric * object define edges. * If the hook returns 0 or -1, the enumeration is canceled. * Return value 1 continues enumeration. * The hook function is of form: * callback(void *data, R3OBJ *obj, R3PRIMEDGE *edge, R3INT edgeindex, R3INT handletype);
R3PRIMM_ENUMEDGESRECURSIVE
ENUMEDGESRECURSIVE
R3PRIMM_ENUMEDGESRECURSIVE
int, return value from the hook.
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
rc = obj.ENUMEDGESRECURSIVE(p3);
Enumerate polygon edges * to the given hook function. Note that not all geometric * object define edges. * If the hook returns 0 or -1, the enumeration is canceled. * Return value 1 continues enumeration. * The hook function is of form: * callback(void *data, R3OBJ *obj, R3PRIMEDGE *edge, R3INT edgeindex, R3INT handletype);
R3PRIMM_RENDERUVMAP
RENDERUVMAP
R3PRIMM_RENDERUVMAP
R3INT, clid for mapping object. Can be defined if it is NULL (otherwise already defined by a sub class).
R3TAG*, tag list including attributes for the mapping object.
obj.RENDERUVMAP(0, p2, p3);
describes the suitable mapping object for rendering the UV coords of the geometry. * If the object has a 'favorite' mapping type, it should handle this message by defining a suitable * mapping clid (unless already defined by sub class) and attrs before inheriting to super class.
R3PRIMM_DESELECTHANDLES
DESELECTHANDLES
R3PRIMM_DESELECTHANDLES
obj.DESELECTHANDLES();
Deselect all points.
R3PRIMM_GETTOOBJSPACEMATRIX
GETTOOBJSPACEMATRIX
R3PRIMM_GETTOOBJSPACEMATRIX
R3MATRIX, Address of the matrix or NULL if object space was identity
R3MATRIX, address of 4x4 matrix.
rc = obj.GETTOOBJSPACEMATRIX(p3);
Fetch transformation matrix which can be used for transforming points from absolute space to objects space.
R3PRIMM_POINTCOUNTCHANGED
POINTCOUNTCHANGED
R3PRIMM_POINTCOUNTCHANGED
obj.POINTCOUNTCHANGED();
Number of geometry points (R3PRIMA_PointCount) changed. All pointwise data, such as should be reallocated. The primitive base class reallocates VARATTR arrays in this method.
R3PRIMM_REMAPUV
REMAPUV
R3PRIMM_REMAPUV
obj.REMAPUV();
Remap defulat UV point to new remapped one if object has changed its UV parameter space
R3PRIMM_BEGINMULTIMAPTOABSSP
BEGINMULTIMAPTOABSSP
R3PRIMM_BEGINMULTIMAPTOABSSP
R3INT, attribute (R3PRIMA_Points, R3PRIMA_SelectedPoints, R3PRIMA_LatticeSelectedPoints)
R3INT, attr index, if p1 is SelectedPoints or LatticeSelectedPoints
int*, size of the allocated buffer. The caller must pass this to R3PRIMM_FREEMULTIMAP
obj.BEGINMULTIMAPTOABSSP(p1, p2, p3);
Allocate buffer for lattice mapping.
R3PRIMM_COMPUTEBOUNDINGBOX
COMPUTEBOUNDINGBOX
R3PRIMM_COMPUTEBOUNDINGBOX
R3BOOL, true if succeeded
rc = obj.COMPUTEBOUNDINGBOX();
Compute a bounding box for an object. It is up to the sub classes to implement this method. If the class doesn't handle this method, the r3prim base class uses R3PRIMM_EVALUATE to determine bounding box for an object.
R3PRIMM_ISCHILDDEPENDENT
ISCHILDDEPENDENT
R3PRIMM_ISCHILDDEPENDENT
R3BOOL, true if object depends on the given sub object.
rc = obj.ISCHILDDEPENDENT();
Find out whether the object depends on the given child object. For class implementors
R3PRIMM_ISSIBLINGDEPENDENT
ISSIBLINGDEPENDENT
R3PRIMM_ISSIBLINGDEPENDENT
R3INT, TRUE
rc = obj.ISSIBLINGDEPENDENT();
Find out whether the object depends on the siblings. For class implementors
R3PRIMM_DEPPOINTDELETEDBYIND
DEPPOINTDELETEDBYIND
R3PRIMM_DEPPOINTDELETEDBYIND
obj.DEPPOINTDELETEDBYIND();
Point is deleted from our dependent object. If we refer to the deleted point, we must remove the reference.
R3PRIMM_LOCK
LOCK
R3PRIMM_LOCK
obj.LOCK();
R3PRIMM_GETLOCK
GETLOCK
R3PRIMM_GETLOCK
obj.GETLOCK();
R3PRIMM_GETEDITSTRING
GETEDITSTRING
R3PRIMM_GETEDITSTRING
char*, symbolic name
rc = obj.GETEDITSTRING();
Fetch symbolic name which describes the edit state of the object.
R3PRIMM_SETSELECTEDPOINTS
SETSELECTEDPOINTS
R3PRIMM_SETSELECTEDPOINTS
R3VECTOR, position in absolute space
obj.SETSELECTEDPOINTS(p3);
sets the position of the selected points
R3PRIMM_ENUMDRAGHANDLES
ENUMDRAGHANDLES
R3PRIMM_ENUMDRAGHANDLES
obj.ENUMDRAGHANDLES();
Like ENUMHANDLES, but enumerates only 'snap to' handles useful in modeling.
R3PRIMM_INSERT
INSERT
R3PRIMM_INSERT
R3OBJ*, parent level
R3OBJ*, object to be inserted
obj.INSERT(p1, p3);
This method allow geometric objects itself to insert new objects into to the object hierarchy. The method gets mapped to R3DoA(R3PRIMA_InsertRemoveObj, R3PRIMA_InsertMth, obj_to_be_inserted);
R3PRIMM_REMOVE
REMOVE
R3PRIMM_REMOVE
R3OBJ*, object to be removed
obj.REMOVE(p3);
Allows geometric objects itself remove geometric objects from the object tree. This method gets mapped to: R3DoA(R3PRIMA_InsertRemoveObj, R3PRIMA_RemoveMth, obj_to_be_removed);
R3PRIMM_GETFREENETFRAMEEX
GETFREENETFRAMEEX
R3PRIMM_GETFREENETFRAMEEX
obj.GETFREENETFRAMEEX();
R3PRIMM_FINDCOMMONPARENT
FINDCOMMONPARENT
R3PRIMM_FINDCOMMONPARENT
R3OBJ*, other object
obj.FINDCOMMONPARENT(p3);
Finds first common parent level of two objects
R3PRIMM_SCANLOOPS
SCANLOOPS
R3PRIMM_SCANLOOPS
R3OBJ*, object that initiated the call.
obj.SCANLOOPS(p3);
this method can be used to detect loops created by objects that refer to objects other than their * own subobjects. Objects that contain such links should check if message sender (p3) is object itself * and return TRUE if this is the case.
R3PRIMM_ENUMSELECTHANDLES
ENUMSELECTHANDLES
R3PRIMM_ENUMSELECTHANDLES
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
obj.ENUMSELECTHANDLES(p3);
Enumerate selectable handles. See ENUMHANDLES.
R3PRIMM_ENUMSELECTHANDLESREC
ENUMSELECTHANDLESREC
R3PRIMM_ENUMSELECTHANDLESREC
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
obj.ENUMSELECTHANDLESREC(p3);
Recursively enumerate selectable handles. See ENUMHANDLES.
R3PRIMM_INVALIDATEMATRIXCACH
INVALIDATEMATRIXCACH
R3PRIMM_INVALIDATEMATRIXCACH
obj.INVALIDATEMATRIXCACH();
Invalidate matrix cache. Call this only if * you manage to fetch reference to R3PRIMA_Matrix and you * modify the matrix directly.
R3PRIMM_ENUMCONTROLLEDOBJECT
ENUMCONTROLLEDOBJECT
R3PRIMM_ENUMCONTROLLEDOBJECT
R3TAG*, see example below
obj.ENUMCONTROLLEDOBJECT(p3);
Enumerate any objects that this object modifies by object specific means * (other than normal child relationship, skeletal control or R3TTM_ENUMDEPENDENTS, see code/r3ttag.h) * Enumeration is done by (*callback)(controlledobj, hookdata)
R3PRIMM_HASPOINTWISERENDERPR
HASPOINTWISERENDERPR
R3PRIMM_HASPOINTWISERENDERPR
char*, name of property channel
obj.HASPOINTWISERENDERPR(p3);
Ask object if it has a pointwise rendering attribute defined. * returns TURE if defined. *
R3PRIMM_ISINLATTICESPACE
ISINLATTICESPACE
R3PRIMM_ISINLATTICESPACE
R3BOOL, true if can be mapped, false if not.
R3VECTOR, lattice coordinates of the point to be checked
R3VECTOR, point to be tested in abs space.
rc = obj.ISINLATTICESPACE(p1, p3);
Check if given point can be mapped to the lattice space.
R3PRIMM_BACKUPPOINTS
BACKUPPOINTS
R3PRIMM_BACKUPPOINTS
R3VECTOR, address of the varattr
rc = obj.BACKUPPOINTS();
Backup geometry to R3PRIMA_OrigPoints varattr.
R3PRIMM_RESTOREBACKUPPOINTS
RESTOREBACKUPPOINTS
R3PRIMM_RESTOREBACKUPPOINTS
R3BOOL, true if succesfully restored, FALSE if backu point array doesn't exist.
rc = obj.RESTOREBACKUPPOINTS();
Restore backup points.
R3PRIMM_ENUMVARATTRS
ENUMVARATTRS
R3PRIMM_ENUMVARATTRS
R3OBJ*, callback object to be called
R3INT, callback method
void*, user data passed to callback object in p3.
obj.ENUMVARATTRS(p1, p2, p3);
Enumerate varattrs. Callback object is called as: R3DoA3(cbobj, cbmth, varattrdata, varattrdim, userdata);
R3PRIMM_DETERMINISTIC
DETERMINISTIC
R3PRIMM_DETERMINISTIC
R3INT, deterministic
rc = obj.DETERMINISTIC();
If the object cannot handle R3PRIMM_TIME message in deterministic way (i.e. freely jump on any point in time), it must catch this message and return FALSE.
R3PRIMM_POINTAREAINDIRECTION
POINTAREAINDIRECTION
R3PRIMM_POINTAREAINDIRECTION
R3VECTOR, direction
R3FLOAT, area in square meters
obj.POINTAREAINDIRECTION(p1, p3);
Area of point p2 in direction of the parameter vector p1.
R3PRIMM_POINTWIDTHINDIRECTIO
POINTWIDTHINDIRECTIO
R3PRIMM_POINTWIDTHINDIRECTIO
R3VECTOR, direction
R3VECTOR, point
R3FLOAT, width in meters
obj.POINTWIDTHINDIRECTIO(p1, p2, p3);
Width of point p2 in direction of the parameter vector p1
R3PRIMM_SELECTNEXT
SELECTNEXT
R3PRIMM_SELECTNEXT
R3INT, R3SELECTMODE - see selection modes below
obj.SELECTNEXT(p3);
Select next handle in the 'u' parameter direction.
R3PRIMM_SELECTPREV
SELECTPREV
R3PRIMM_SELECTPREV
R3INT, R3SELECTMODE - see selection modes below
obj.SELECTPREV(p3);
Select previous handle in the 'u' parameter direction.
R3PRIMM_SELECTUP
SELECTUP
R3PRIMM_SELECTUP
R3INT, R3SELECTMODE - see selection modes below
obj.SELECTUP(p3);
Select previous handle in the 'v' direction.
R3PRIMM_SELECTDOWN
SELECTDOWN
R3PRIMM_SELECTDOWN
R3INT, R3SELECTMODE - see selection modes below
obj.SELECTDOWN(p3);
Selects next handle in the 'v' direction.
R3PRIMM_SELECTPRIMHANDLE
SELECTPRIMHANDLE
R3PRIMM_SELECTPRIMHANDLE
R3INT, R3PRIMHANDLES - handle to be selected
obj.SELECTPRIMHANDLE(p3);
For r3prim defined object space handles only
R3PRIMM_GETSELECTEDPRIMHANDL
GETSELECTEDPRIMHANDL
R3PRIMM_GETSELECTEDPRIMHANDL
obj.GETSELECTEDPRIMHANDL();
For r3prim defined object space handles only.
R3PRIMM_DOUPDATEMAP
DOUPDATEMAP
R3PRIMM_DOUPDATEMAP
obj.DOUPDATEMAP();
Private, don't call this.
R3PRIMM_ENUMDRAGHANDLESRECUR
ENUMDRAGHANDLESRECUR
R3PRIMM_ENUMDRAGHANDLESRECUR
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace. See R3PRIMM_ENUM.
obj.ENUMDRAGHANDLESRECUR(p3);
Enumerate drag point handles. These are not necessarily the same as 'selection handles'. For example, analytic rectangle has four drag handles (the four corners) but only three selection handles (specifying the geometry of the rectangle).
R3PRIMM_MATEVALSETOBJECT
MATEVALSETOBJECT
R3PRIMM_MATEVALSETOBJECT
R3OBJ*, object to be evaluated
obj.MATEVALSETOBJECT(p3);
Set object to be evaluated. See MATEVALBEGIN and MATEVALEND methods
R3PRIMM_TRANSFORMABOUTCOG
TRANSFORMABOUTCOG
R3PRIMM_TRANSFORMABOUTCOG
obj.TRANSFORMABOUTCOG();
Same as R3PRIMM_TRANSFORM except that the transformation origin (translation) is set to object's origin.
R3PRIMM_ATTACHTOLATTICE
ATTACHTOLATTICE
R3PRIMM_ATTACHTOLATTICE
R3BOOL, true if succeeded.
R3OBJ*, lattice object
R3COORDSYS, lattice space
R3TAG*, R3PRIMA_MapFlags, R3PRIMA_MapTarget, R3PRIMA_MapWeight
rc = obj.ATTACHTOLATTICE(p1, p2, p3);
Attach the object to given lattice object with given lattice space, no internal 'abs to lattice' mapping is applied.
R3PRIMM_GETSELECTIONSPACE
GETSELECTIONSPACE
R3PRIMM_GETSELECTIONSPACE
R3COORDSYS, space
obj.GETSELECTIONSPACE(p3);
return modeling space corresponding the current selection. If the object is not in edit mode, object space is returned.
R3PRIMM_SETNATIVESPACE
SETNATIVESPACE
R3PRIMM_SETNATIVESPACE
obj.SETNATIVESPACE();
Set the current object space the native space
R3PRIMM_RESTORENATIVESPACE
RESTORENATIVESPACE
R3PRIMM_RESTORENATIVESPACE
obj.RESTORENATIVESPACE();
Set the native space the current object space
R3PRIMM_DELPOINTBYINDEX
DELPOINTBYINDEX
R3PRIMM_DELPOINTBYINDEX
obj.DELPOINTBYINDEX();
Delete point by given index.
R3PRIMM_INSERTPOINTBYINDEX
INSERTPOINTBYINDEX
R3PRIMM_INSERTPOINTBYINDEX
R3BOOL, true if succeeded.
rc = obj.INSERTPOINTBYINDEX();
Insert point to array.
R3PRIMM_ASSIGNPOINT
ASSIGNPOINT
R3PRIMM_ASSIGNPOINT
R3BOOL, true if succeeded.
R3INT, index of the source point
R3INT, index of the target point.
rc = obj.ASSIGNPOINT(p1, p3);
Assign 'p1' to 'p3'.
R3PRIMM_DEPPOINTASSIGNED
DEPPOINTASSIGNED
R3PRIMM_DEPPOINTASSIGNED
R3INT, from index
R3INT, to index
obj.DEPPOINTASSIGNED(0, p2, p3);
Called when a R3PRIMM_ASSIGNPOINT, method is called for the target
R3PRIMM_UPDATELATTICECOORDSB
UPDATELATTICECOORDSB
R3PRIMM_UPDATELATTICECOORDSB
R3INT, index of the point to be updated
obj.UPDATELATTICECOORDSB(p3);
Update the lattice coordinates of the given point 'index'.
R3PRIMM_UPDATESELECTEDLATTIC
UPDATESELECTEDLATTIC
R3PRIMM_UPDATESELECTEDLATTIC
obj.UPDATESELECTEDLATTIC();
Update lattice coordinates of the selected points.
R3PRIMM_PREPLATTICECOORDSFOR
PREPLATTICECOORDSFOR
R3PRIMM_PREPLATTICECOORDSFOR
obj.PREPLATTICECOORDSFOR();
Set lattice coords to 'animated' state.
R3PRIMM_DELETABLESELECTCOUNT
DELETABLESELECTCOUNT
R3PRIMM_DELETABLESELECTCOUNT
R3INT, number of selected deletable points
rc = obj.DELETABLESELECTCOUNT();
Returns the number of selected deletable points.
R3PRIMM_POINTISDELETABLE
POINTISDELETABLE
R3PRIMM_POINTISDELETABLE
R3INT, TRUE if the point is deletable, FALSE otherwise
R3INT, index of the point
rc = obj.POINTISDELETABLE(p3);
Returns whether a point whose index is given is deletable.
R3PRIMM_ENUMLATTICEREFERENCE
ENUMLATTICEREFERENCE
R3PRIMM_ENUMLATTICEREFERENCE
R3TAG*, R3RA_Hook, R3RA_HookData,
obj.ENUMLATTICEREFERENCE(p3);
Enumerate lattice references. The given callback function will be called as 'callback(R3OBJ *obj, R3INT latticetag, int latticeid, void *hookdata);'
R3PRIMM_TR
TR
R3PRIMM_TR
R3MATRIX, transformation matrix defined in world space
obj.TR(p3);
Transform the object by given 4x4 matrix
R3PRIMM_PREPAREEVALUATEOPT
PREPAREEVALUATEOPT
R3PRIMM_PREPAREEVALUATEOPT
obj.PREPAREEVALUATEOPT();
R3PRIMM_UPDATEWIRERECURSIVE
UPDATEWIRERECURSIVE
R3PRIMM_UPDATEWIRERECURSIVE
obj.UPDATEWIRERECURSIVE();
Updates the wire frame representation associated with the object. Also updates all the objects's childred.
R3PRIMM_HASPRIVATEGEOMDATA
HASPRIVATEGEOMDATA
R3PRIMM_HASPRIVATEGEOMDATA
obj.HASPRIVATEGEOMDATA();
For class implementors: must return TRUE if the object has private geom. attributes which cannot be accessed via R3PRIMA_Points.
R3PRIMM_FREEMULTIMAP
FREEMULTIMAP
R3PRIMM_FREEMULTIMAP
R3INT, buffer size as returned by R3PRIMM_BEGINMULTIMAP
obj.FREEMULTIMAP(p1, 0);
Free lattice mapping buffer
R3PRIMM_TRANSLATE
TRANSLATE
R3PRIMM_TRANSLATE
R3VECTOR, translation vector in world space
obj.TRANSLATE(p3);
Translate the object space.
R3PRIMM_ROTATE
ROTATE
R3PRIMM_ROTATE
R3VECTOR, rotation center
R3VECTOR, rotation axis
R3FLOAT, angle in radians
obj.ROTATE(p1, p2, p3);
Rotate the object in world space
R3PRIMM_SCALE
SCALE
R3PRIMM_SCALE
R3VECTOR, scale origin
R3VECTOR, scale factors on world x, y and z axes
obj.SCALE(p1, p3);
Scale the object in world space
R3PRIMM_SKEW
SKEW
R3PRIMM_SKEW
R3VECTOR, scale origin
R3VECTOR, skew from point
R3VECTOR, skew to point
obj.SKEW(p1, p2, p3);
Skew the object by given three points. The first * point is the skewing origin. The other two points, with the * origin point defines vectors that determine the skewing angle. * For example: p1=[0,0,0], p2=[0,1,0], p3=[1,1,0] will skew the * object 45 degrees on the 'x' axis ( |/ ) *
R3PRIMM_ENUMPOINTSNORMALSUVW
ENUMPOINTSNORMALSUVW
R3PRIMM_ENUMPOINTSNORMALSUVW
R3BOOL, true if object handled.
R3OBJ*, callback object
R3INT*, callback method
rc = obj.ENUMPOINTSNORMALSUVW(p1, p2, 0);
Enumerate geometric points, associated surface normals and uvw coordinates. 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;
R3PRIMM_ADDSIMULCHOR
ADDSIMULCHOR
R3PRIMM_ADDSIMULCHOR
obj.ADDSIMULCHOR();
Add simulation choreography for the object. * This method is for backward compability only.
R3PRIMM_BEGINMORPHING
BEGINMORPHING
R3PRIMM_BEGINMORPHING
void*, context
R3INT*, number of morphing keys. By default this is fetched by calling. R3PRIMA_PointCount.
rc = obj.BEGINMORPHING(p3);
The following four methods are used for implementing metamorphosis. For class implementors only.
R3PRIMM_GETMORPHINGKEY
GETMORPHINGKEY
R3PRIMM_GETMORPHINGKEY
R3INT, 0 if key was not found, 1 if regular point, 2 if polar angle.
R3INT, index identifying the key.
void*, context from BEGINMORPHING method
R3VECTOR, morphing key
rc = obj.GETMORPHINGKEY(p1, p2, p3);
This method is used for implementing metamorphosis. By default this maps to R3PRIMM_GETPOINT. However, sub classes may override this method to get interpolation work over angles or any other type of vector attributes. For class implementors only.
R3PRIMM_SETMORPHINGKEY
SETMORPHINGKEY
R3PRIMM_SETMORPHINGKEY
R3INT, index identifying the morphing key to be set
void*, context from BEGINMORPHING
R3VECTOR, morphing key.
obj.SETMORPHINGKEY(p1, p2, p3);
Set given morphing key. The base class handles this method by calling R3PRIMM_SETPOINT. For class implementors only
R3PRIMM_ENDMORPHING
ENDMORPHING
R3PRIMM_ENDMORPHING
void*, context from BEGINMORPHING
obj.ENDMORPHING(p3);
Called when all attributes have been processed. Geometric objects should update their wire frames in this method. For class implementors only
R3PRIMM_SETSELECTEDPOINTSBYA
SETSELECTEDPOINTSBYA
R3PRIMM_SETSELECTEDPOINTSBYA
R3INT, space
R3VECTOR, array of positions, one for each selected point
obj.SETSELECTEDPOINTSBYA(p1, p3);
sets the position of the selected points
R3PRIMM_SETMATRIX
SETMATRIX
R3PRIMM_SETMATRIX
R3MATRIX, lattice matrix
R3MATRIX, new object space matrix.
obj.SETMATRIX(p1, p3);
Private: Set given matrix to an object. No R3MM_CHANGED is called. Matrix caches are not invalidated. If you need to set object space, call R3SetAttrs(obj, R3PRIMA_Matrix, matrix, R3TAG_END).
R3PRIMM_ENUMPOINTSNORMALSDEN
ENUMPOINTSNORMALSDEN
R3PRIMM_ENUMPOINTSNORMALSDEN
R3BOOL, true if all points enumerated.
R3OBJ*, callback object
R3INT, callback method
R3TAG*, a tag list, see attributes below
rc = obj.ENUMPOINTSNORMALSDEN(p1, p2, p3);
Enumerate geometric points and associated surface normals at a given density. Evaluated points * cover geometry everywhere. It is up to sub classes to implement this method. * Some geometric classes may not support surface normals, * in which case NULL should be passed in corresponding parameter. * Callback is called as: R3DoA3(callbackobj, callbackmth, R3VECTOR *point, R3VECTOR *normal, void *contextdata); * If callback returns NULL, enumeration is cancelled.
R3PRIMCM_REGISTERUVMAPPER
REGISTERUVMAPPER
R3PRIMCM_REGISTERUVMAPPER
R3BOOL, true if successfully registered
R3CLID, class id of the geometric object to be handled
rc = obj.REGISTERUVMAPPER(p1, 0);
Register new 'uv mapper handler function. The handler is responsible for returning a map object that defines suitable uv coodinates for the geometric object in question. The handler function is of form: R3OBJ * (*)(R3OBJ *target); The handler creates the actual mapping primitive based on the geometry of the 'target' object.
R3PRIMM_CREATEUVMAPPER
CREATEUVMAPPER
R3PRIMM_CREATEUVMAPPER
R3CLID, default mapping class id in case no handler for this object type is given
R3CS*, optional orientation for the default type map
obj.CREATEUVMAPPER(p1, p2, 0);
Creates a suitable uv mapper object for the geometric object in question. If no handler (see method above) is found, a given default map is created
R3PRIMM_RENDERCAUSTICSMAP
RENDERCAUSTICSMAP
R3PRIMM_RENDERCAUSTICSMAP
R3INT, clid for mapping object. Can be defined if it is NULL (otherwise already defined by a sub class).
R3TAG*, tag list including attributes for the mapping object.
obj.RENDERCAUSTICSMAP(0, p2, p3);
same as RENDERUVMAP above but for caustics map rendering
R3PRIMM_COPYLATTICETAGGED
COPYLATTICETAGGED
R3PRIMM_COPYLATTICETAGGED
R3BOOL, true if succeeded
R3INT, tag identifier
R3INT, old unique id
R3INT, new unique id
rc = obj.COPYLATTICETAGGED(p1, p2, p3);
Copy references to lattice objects and use a new unique Id for the copies.
R3PRIMM_ISSELECTED
ISSELECTED
R3PRIMM_ISSELECTED
R3BOOL, true if selected
rc = obj.ISSELECTED();
Test hierarchically if object or its parents are selected
R3PRIMM_SETSPACE
SETSPACE
R3PRIMM_SETSPACE
R3COORDSYS, a new handle space. Note: non-unit vectors will set scaling etc.
obj.SETSPACE(p3);
Sets new orientation for objects space handles. Actual geometry does not transform.
R3PRIMM_FREEVARATTRS
FREEVARATTRS
R3PRIMM_FREEVARATTRS
R3BOOL, TRUE
rc = obj.FREEVARATTRS();
Delete all varattrs
R3PRIMM_HANDLESELECTIONINFO
HANDLESELECTIONINFO
R3PRIMM_HANDLESELECTIONINFO
char*, target buffer (max 79 chars+ null terminator)
obj.HANDLESELECTIONINFO(p3);
Build a short handle selection status message (e.g. '50 points selected').
R3PRIMM_CHANGEVARATTRID
CHANGEVARATTRID
R3PRIMM_CHANGEVARATTRID
R3BOOL, TRUE if varattr found & changed
R3INT, old identifier
R3INT, new identifier
rc = obj.CHANGEVARATTRID(p1, p3);
Change var attr identifier
R3PRIMCM_ENUMPOINTWISETAGBIN
ENUMPOINTWISETAGBIN
R3PRIMCM_ENUMPOINTWISETAGBIN
void*, return value from the caller. TRUE continues enumeration, any other return value cancels. The caller object is called as : R3DoA3(cb_obj, cb_mth, (R3INT)tag, (R3CLID)channel, cb_data);
R3OBJ*, object to be called
R3INT, method to be called
void*, data to be passed to the caller
rc = obj.ENUMPOINTWISETAGBIN(p1, p2, p3);
Enumerates pointwise tag-channel bindings. See also R3PRIMCM_ENUMTAGBINDINGS.
R3PRIMCM_MAPBINDINGTOCLID
MAPBINDINGTOCLID
R3PRIMCM_MAPBINDINGTOCLID
int, class id
R3INT, attribute to which the channel class is bound
rc = obj.MAPBINDINGTOCLID(p3);
returns the channel class identifier of a binding tag
R3PRIMCM_TOPOINTWISE
TOPOINTWISE
R3PRIMCM_TOPOINTWISE
int, pointwise attribute id
R3INT, channel attribute
rc = obj.TOPOINTWISE(p3);
maps constant channel attribute to pointwise attribute e.g. R3PRIMA_Color -> R3PRIMA_PointwiseColor
R3PRIMCM_FROMPOINTWISE
FROMPOINTWISE
R3PRIMCM_FROMPOINTWISE
int, channel attribute id
R3INT, pointwise attribute
rc = obj.FROMPOINTWISE(p3);
inverse of above
R3PRIMM_ENUMCHANNELS
ENUMCHANNELS
R3PRIMM_ENUMCHANNELS
R3OBJ*, callback object
R3INT, callback method
void*, callback context
obj.ENUMCHANNELS(p1, p2, p3);
enumerate all (static and dynamic) channel references as R3DoA3(cbobj, cbmth, channelname, typeid (0 if unknown), context);
R3PRIMM_ISPARENT
ISPARENT
R3PRIMM_ISPARENT
R3BOOL, true if parent
R3OBJ*, parent
rc = obj.ISPARENT(p3);
Check if the given object is our parent.
R3PRIMM_GETINTERVAL
GETINTERVAL
R3PRIMM_GETINTERVAL
R3FLOAT, interval
obj.GETINTERVAL(p3);
Get current time interval for effects based on real time.
R3PRIMM_COMPUTESIZE
COMPUTESIZE
R3PRIMM_COMPUTESIZE
R3FLOAT, store the result here
obj.COMPUTESIZE(p3);
Compute object's radius
R3PRIMM_COMPUTECOG
COMPUTECOG
R3PRIMM_COMPUTECOG
R3VECTOR, store the result here
obj.COMPUTECOG(p3);
Compute object's center of gravity (in obj space coords)
R3PRIMM_FINDBYNAME
FINDBYNAME
R3PRIMM_FINDBYNAME
R3OBJ*, object or null if no object matching the given wild card was not found
char*, wildchard (sphere*, for example)
rc = obj.FINDBYNAME(p3);
Find another geometric object, by name
R3PRIMCM_TRANSLATEIMAGE
TRANSLATEIMAGE
R3PRIMCM_TRANSLATEIMAGE
R3BOOL, 0 if failed (img not found)
char*, image obj name
R3TAG*, tags for R3PRIMCA_ImageTranslator callback
rc = obj.TRANSLATEIMAGE(p1, p3);
Calls Image Translator Objects
R3PRIMM_DROPACTIONS
DROPACTIONS
R3PRIMM_DROPACTIONS
R3VECTOR, mouse pointer (=drop) position
R3TAG*, tag list
obj.DROPACTIONS(p1, p3);
This method is called after an object has been drag&dropped to a scene and inserted * into the scene.
R3PRIMM_ISRENDERVISIBLE
ISRENDERVISIBLE
R3PRIMM_ISRENDERVISIBLE
R3TAG*, render tag list. R3PRIMA_RenderAlways tag is searched and compared with primitives visibility flags.
obj.ISRENDERVISIBLE(p3);
examines thr render tags defined in p3 to find out if the object is visible for * rendering actions. Geometry classes can use this method to handle the visibility details when processing PRIMM_RENDER and PRIMM_RENDERSURFACES methods.
R3PRIMM_GETORIENTEDBB
GETORIENTEDBB
R3PRIMM_GETORIENTEDBB
R3COORDSYS, coordinate system representing object's bounding box.
obj.GETORIENTEDBB(p3);
Fetch oriented bounding box.
R3PRIMM_BEGINFINDCONNECTED
BEGINFINDCONNECTED
R3PRIMM_BEGINFINDCONNECTED
void*, handle to optimization data (may be NULL if not needed)
rc = obj.BEGINFINDCONNECTED();
Begin search of connected handles
R3PRIMM_ENDFINDCONNECTED
ENDFINDCONNECTED
R3PRIMM_ENDFINDCONNECTED
void*, optimization handle allocated in R3PRIMM_BEGINFINDCONNECTED (may be NULL)
obj.ENDFINDCONNECTED(p3);
End search of connected handles
R3PRIMM_COMPUTEVOLUME
COMPUTEVOLUME
R3PRIMM_COMPUTEVOLUME
R3INT, accuracy of computation. Zero computes volume of bounding box.
R3FLOAT, result is stored here
obj.COMPUTEVOLUME(p1, p3);
Computes approximated volume of object. * note: overlapping sub volumes are counted only once.
R3PRIMM_COMPUTEAREA
COMPUTEAREA
R3PRIMM_COMPUTEAREA
R3INT, accuracy of computation. Zero computes area of bounding box.
R3BOOL, if TRUE computes fused area (surfaces inside solid volumes are ignored)
R3FLOAT, result is stored here
obj.COMPUTEAREA(p1, p2, p3);
Computes approximated surface area of object
R3PRIMM_INVERTHANDLESRECURSI
INVERTHANDLESRECURSI
R3PRIMM_INVERTHANDLESRECURSI
obj.INVERTHANDLESRECURSI();
Like R3PRIMM_INVERTHANDLES, but recursive
R3PRIMM_GETFACEPOINTLOOP
GETFACEPOINTLOOP
R3PRIMM_GETFACEPOINTLOOP
R3VECTOR, an array of vertices
R3INT, faceindex
R3INT, R3SPACE_LOCAL or R3SPACE_ABSOLUTE
R3INT*, number of points
rc = obj.GETFACEPOINTLOOP(p1, p2, p3);
Return the vertices for the given face. Points must be deallocated via call * to R3Free(rc, sizeof(R3VECTOR) * pcount) Note: 1st and last point shoudl overlap to close the loop
R3PRIMM_HANDLESCONNECTED
HANDLESCONNECTED
R3PRIMM_HANDLESCONNECTED
R3BOOL, true if connected (default)
R3INT, index 1
R3INT, index 2
void*, optimization handle allocated in R3PRIMM_BEGINFINDCONNECTED (if any)
rc = obj.HANDLESCONNECTED(p1, p2, p3);
Check handle connectivity
R3PRIMM_RENAMECHANNELREF
RENAMECHANNELREF
R3PRIMM_RENAMECHANNELREF
char*, old name
char*, new name
obj.RENAMECHANNELREF(p1, p3);
rename possible references to a given channel
R3PRIMCM_ADDTAGFINDER
ADDTAGFINDER
R3PRIMCM_ADDTAGFINDER
R3OBJ*, callback object
int, callback method
obj.ADDTAGFINDER(p1, p3);
add tag finder hook for findtagclose acceleration
R3PRIMCM_REMTAGFINDER
REMTAGFINDER
R3PRIMCM_REMTAGFINDER
R3OBJ*, callback object
int, callback method
obj.REMTAGFINDER(p1, p3);
remove tag finder hook for findtagclose acceleration
R3PRIMCM_ADDIMAGETRANSLATOR
ADDIMAGETRANSLATOR
R3PRIMCM_ADDIMAGETRANSLATOR
R3OBJ*, callback object
int, callback method
obj.ADDIMAGETRANSLATOR(p1, p3);
add image translator callback for translating image object name references to respective * file data. The method applies a shared lock to the image library. Called as: * * R3SendMsg2(imgtranslatorobj, imgtranslatormth, imagename, * R3UIMGA_FileName, filename, R3UIMGA_Type, &type, * R3UIMGA_TextureAnimation, &txranim, R3UIMGA_Frame, &frame, R3TAG_END); * * filename is a string buffer of LEN_DOSNAME chars. * The type, frame etc define the current state of the image object.
R3PRIMCM_REMIMAGETRANSLATOR
REMIMAGETRANSLATOR
R3PRIMCM_REMIMAGETRANSLATOR
R3OBJ*, callback object
int, callback method
obj.REMIMAGETRANSLATOR(p1, p3);
remove image translator hook
R3PRIMM_BEGINMATEVALEXT
BEGINMATEVALEXT
R3PRIMM_BEGINMATEVALEXT
void*, context handle (see mat evaluator struct below)
R3OBJ*, obj to be evaluated (root is used if NULL)
R3CLID, clid of evaluated shader (surface properties is the default)
R3TAG*, tag list including R3PRIMA_MatEvalInChannels and R3PRIMA_MatEvalOutChannels string arrays
rc = obj.BEGINMATEVALEXT(p1, p2, p3);
Begin material evaluation.
R3PRIMM_ENDMATEVALEXT
ENDMATEVALEXT
R3PRIMM_ENDMATEVALEXT
void*, context handle
obj.ENDMATEVALEXT(p3);
End material evaluation.
R3PRIMM_MATEVALEXT
MATEVALEXT
R3PRIMM_MATEVALEXT
R3BOOL, true if succeeded
void*, context
rc = obj.MATEVALEXT(p3);
evaluates prepared context
R3PRIMM_MATEVALEXTOBJECT
MATEVALEXTOBJECT
R3PRIMM_MATEVALEXTOBJECT
R3BOOL, true if succeeded (NULL if obj not found)
void*, context handle returned by R3PRIMM_BEGINMATEVALEXT
rc = obj.MATEVALEXTOBJECT(p3);
Set sub target object of evaluation. Sub objecs of hierarchy defined by R3PRIMM_BEGINMATEVALEXT often have different material applied to them.
R3PRIMM_MATERIALMAPCHANGED
MATERIALMAPCHANGED
R3PRIMM_MATERIALMAPCHANGED
obj.MATERIALMAPCHANGED();
tells an object that a material or mat map affecting the object has changed
R3PRIMM_SETPOINTWISEFLOAT
SETPOINTWISEFLOAT
R3PRIMM_SETPOINTWISEFLOAT
R3BOOL, true if index was valid and property was found.
R3INT, pointwise attribute to be set
R3INT, index of the point to be set
R3FLOAT, value
rc = obj.SETPOINTWISEFLOAT(p1, p2, p3);
Set pointwise float attribute.
R3PRIMM_SETPOINTWISEVECTOR
SETPOINTWISEVECTOR
R3PRIMM_SETPOINTWISEVECTOR
R3BOOL, true if index was valid and property was found.
R3INT, pointwise attribute to be set
R3INT, index of the point to be set
R3VECTOR, value
rc = obj.SETPOINTWISEVECTOR(p1, p2, p3);
Set pointwise vector attribute.
R3PRIMM_GETPOINTWISEFLOAT
GETPOINTWISEFLOAT
R3PRIMM_GETPOINTWISEFLOAT
R3BOOL, true if index was valid and property was found.
R3INT, pointwise attribute to be fetched
R3INT, index of the point to be set
R3FLOAT, value
rc = obj.GETPOINTWISEFLOAT(p1, p2, p3);
Set pointwise float attribute.
R3PRIMM_GETPOINTWISEVECTOR
GETPOINTWISEVECTOR
R3PRIMM_GETPOINTWISEVECTOR
R3BOOL, true if index was valid and property was found.
R3INT, pointwise attribute to be fetched
R3INT, index of the point to be set
R3VECTOR, value
rc = obj.GETPOINTWISEVECTOR(p1, p2, p3);
Set pointwise vector attribute.
R3PRIMM_BEGINMULTIMAP returns array of r3mapbuffer items. The size of the array is R3PRIMA_PointCount.
/
map targets for R3PRIMM_MAPTOOBJECTSPACE and R3PRIMMA_MapTarget
return flag bits for ISMAPPED method
Parent
Parent
R3PRIMA_Parent
Object
R3OBJ*
parent object
jsobj.SetParent(value);
value = jsobj.GetParent();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3PRIMA_Parent, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3PRIMA_Parent, &value, R3TAG_END);
Matrix
Matrix
R3PRIMA_Matrix
object local space matrix
jsobj.SetMatrix(value);
value = jsobj.GetMatrix();
R3MATRIX* value = ...;
R3SetAttrs(r3obj, R3PRIMA_Matrix, value, R3TAG_END);
R3MATRIX* value;
R3GetAttrs(r3obj, R3PRIMA_Matrix, &value, R3TAG_END);
MatrixTranslate
MatrixTranslate
R3PRIMA_MatrixTranslate
intuitive transl. component of _Matrix
jsobj.SetMatrixTranslate(value);
value = jsobj.GetMatrixTranslate();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixTranslate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_MatrixTranslate, &value, R3TAG_END);
MatrixScale
MatrixScale
R3PRIMA_MatrixScale
scale component
jsobj.SetMatrixScale(value);
value = jsobj.GetMatrixScale();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixScale, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_MatrixScale, &value, R3TAG_END);
MatrixRotate
MatrixRotate
R3PRIMA_MatrixRotate
rotation
jsobj.SetMatrixRotate(value);
value = jsobj.GetMatrixRotate();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixRotate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_MatrixRotate, &value, R3TAG_END);
MatrixSkew
MatrixSkew
R3PRIMA_MatrixSkew
skew
jsobj.SetMatrixSkew(value);
value = jsobj.GetMatrixSkew();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixSkew, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_MatrixSkew, &value, R3TAG_END);
WireObject
WireObject
R3PRIMA_WireObject
Object
R3OBJ*
wire frame object
jsobj.SetWireObject(value);
value = jsobj.GetWireObject();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3PRIMA_WireObject, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3PRIMA_WireObject, &value, R3TAG_END);
WireObject2
WireObject2
R3PRIMA_WireObject2
Object
R3OBJ*
shading object
jsobj.SetWireObject2(value);
value = jsobj.GetWireObject2();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3PRIMA_WireObject2, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3PRIMA_WireObject2, &value, R3TAG_END);
Flags
Flags
R3PRIMA_Flags
Integer
R3INT
see R3PRIMF_ flags
jsobj.SetFlags(value);
value = jsobj.GetFlags();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Flags, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_Flags, &value, R3TAG_END);
ClosedU
ClosedU
R3PRIMA_ClosedU
Boolean
R3BOOL
closed in 1st dimension
value = jsobj.GetClosedU();
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_ClosedU, &value, R3TAG_END);
ClosedV
ClosedV
R3PRIMA_ClosedV
Boolean
R3BOOL
closed in 2nd dimension
value = jsobj.GetClosedV();
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_ClosedV, &value, R3TAG_END);
ClosedW
ClosedW
R3PRIMA_ClosedW
Boolean
R3BOOL
closed in 3rd dimension
value = jsobj.GetClosedW();
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_ClosedW, &value, R3TAG_END);
Position
Position
R3PRIMA_Position
position of the object
jsobj.SetPosition(value);
value = jsobj.GetPosition();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_Position, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_Position, &value, R3TAG_END);
PointsSelection
PointsSelection
R3PRIMA_PointsSelection
String
char*[]
array of bytes describing select state for geom. points
value = jsobj.GetPointsSelection();
char*[] value;
R3GetAttrs(r3obj, R3PRIMA_PointsSelection, &value, R3TAG_END);
Dimensions
Dimensions
R3PRIMA_Dimensions
Integer
R3INT
read only, dim. of parameter space, 1 for curves, 2 for surfaces
value = jsobj.GetDimensions();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_Dimensions, &value, R3TAG_END);
CountU
CountU
R3PRIMA_CountU
Integer
R3INT
number of geom points in 1st dimension
value = jsobj.GetCountU();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_CountU, &value, R3TAG_END);
CountV
CountV
R3PRIMA_CountV
Integer
R3INT
number of geom points in 2nd dimension
value = jsobj.GetCountV();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_CountV, &value, R3TAG_END);
CountW
CountW
R3PRIMA_CountW
Integer
R3INT
number of geom points in r3d dimension
value = jsobj.GetCountW();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_CountW, &value, R3TAG_END);
DegreeU
DegreeU
R3PRIMA_DegreeU
Integer
R3INT
read only, degree of the surface, polygonal == 1, quadric == 2, cubic == 3 etc
value = jsobj.GetDegreeU();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_DegreeU, &value, R3TAG_END);
DegreeV
DegreeV
R3PRIMA_DegreeV
Integer
R3INT
read only, degree in 2nd dimension
value = jsobj.GetDegreeV();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_DegreeV, &value, R3TAG_END);
DegreeW
DegreeW
R3PRIMA_DegreeW
Integer
R3INT
read only, degree in 3rd dimension
value = jsobj.GetDegreeW();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_DegreeW, &value, R3TAG_END);
Points
Points
R3PRIMA_Points
address of geometry point array
jsobj.SetPoints(value);
value = jsobj.GetPoints();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3PRIMA_Points, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3PRIMA_Points, &value, R3TAG_END);
PointCount
PointCount
R3PRIMA_PointCount
Integer
R3INT
number of geometry points
jsobj.SetPointCount(value);
value = jsobj.GetPointCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_PointCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_PointCount, &value, R3TAG_END);
PointSize
PointSize
R3PRIMA_PointSize
Integer
R3INT
number of bytes to next point
value = jsobj.GetPointSize();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_PointSize, &value, R3TAG_END);
PointType
PointType
R3PRIMA_PointType
Integer
int
R3TYPEID, type of point
value = jsobj.GetPointType();
int value;
R3GetAttrs(r3obj, R3PRIMA_PointType, &value, R3TAG_END);
ComplexityU
ComplexityU
R3PRIMA_ComplexityU
Integer
R3INT
minimal amount of isop. curves needed to visualize the shape. Use multiplies of these values to fit evaluated curves to 'critical' parameter values like sharp edges.
value = jsobj.GetComplexityU();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ComplexityU, &value, R3TAG_END);
ComplexityV
ComplexityV
R3PRIMA_ComplexityV
Integer
R3INT
See ComplexityU
value = jsobj.GetComplexityV();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ComplexityV, &value, R3TAG_END);
ComplexityW
ComplexityW
R3PRIMA_ComplexityW
Integer
R3INT
See ComplexityU
value = jsobj.GetComplexityW();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ComplexityW, &value, R3TAG_END);
Size
Size
R3PRIMA_Size
Number
R3FLOAT
size of the bounding sphere
value = jsobj.GetSize();
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Size, &value, R3TAG_END);
WireCurveSelection
WireCurveSelection
R3PRIMA_WireCurveSelection
Integer
R3INT
TRUE if wireframe curves can be selected
value = jsobj.GetWireCurveSelection();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_WireCurveSelection, &value, R3TAG_END);
WireCurveEvaluation
WireCurveEvaluation
R3PRIMA_WireCurveEvaluation
Integer
R3INT
TRUE if wireframe curves can be evaluated
value = jsobj.GetWireCurveEvaluation();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_WireCurveEvaluation, &value, R3TAG_END);
SelectedU
SelectedU
R3PRIMA_SelectedU
String
R3UBYTE*
selection flags for u curves
value = jsobj.GetSelectedU();
R3UBYTE* value;
R3GetAttrs(r3obj, R3PRIMA_SelectedU, &value, R3TAG_END);
SelectedV
SelectedV
R3PRIMA_SelectedV
String
R3UBYTE*
selection flags for v curves
value = jsobj.GetSelectedV();
R3UBYTE* value;
R3GetAttrs(r3obj, R3PRIMA_SelectedV, &value, R3TAG_END);
DefaultObjectSpace
DefaultObjectSpace
R3PRIMA_DefaultObjectSpace
untransformed object space
jsobj.SetDefaultObjectSpace(value);
value = jsobj.GetDefaultObjectSpace();
R3COORDSYS value = ...;
R3SetAttrs(r3obj, R3PRIMA_DefaultObjectSpace, &value, R3TAG_END);
R3COORDSYS value;
R3GetAttrs(r3obj, R3PRIMA_DefaultObjectSpace, &value, R3TAG_END);
ObjectSpace
ObjectSpace
R3PRIMA_ObjectSpace
transformed object space in abs space
jsobj.SetObjectSpace(value);
value = jsobj.GetObjectSpace();
R3COORDSYS value = ...;
R3SetAttrs(r3obj, R3PRIMA_ObjectSpace, &value, R3TAG_END);
R3COORDSYS value;
R3GetAttrs(r3obj, R3PRIMA_ObjectSpace, &value, R3TAG_END);
Uncovered1
Uncovered1
R3PRIMA_Uncovered1
Boolean
R3BOOL
up to sub classes define this
jsobj.SetUncovered1(value);
value = jsobj.GetUncovered1();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_Uncovered1, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_Uncovered1, &value, R3TAG_END);
Uncovered2
Uncovered2
R3PRIMA_Uncovered2
Boolean
R3BOOL
up to sub classes define this
jsobj.SetUncovered2(value);
value = jsobj.GetUncovered2();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_Uncovered2, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_Uncovered2, &value, R3TAG_END);
Sector
Sector
R3PRIMA_Sector
Boolean
R3BOOL
up to sub classes define this
jsobj.SetSector(value);
value = jsobj.GetSector();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_Sector, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_Sector, &value, R3TAG_END);
PointwiseVelocity
PointwiseVelocity
R3PRIMA_PointwiseVelocity
array of pointwise velocities
jsobj.SetPointwiseVelocity(value);
value = jsobj.GetPointwiseVelocity();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3PRIMA_PointwiseVelocity, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3PRIMA_PointwiseVelocity, &value, R3TAG_END);
Quaternion
Quaternion
R3PRIMA_Quaternion
orientation in quaternion form
jsobj.SetQuaternion(value);
value = jsobj.GetQuaternion();
R3VECTOR4 value = ...;
R3SetAttrs(r3obj, R3PRIMA_Quaternion, value, R3TAG_END);
R3VECTOR4 value;
R3GetAttrs(r3obj, R3PRIMA_Quaternion, &value, R3TAG_END);
WfInvisible
WfInvisible
R3PRIMA_WfInvisible
Integer
R3INT
set/get wf invisible flag
jsobj.SetWfInvisible(value);
value = jsobj.GetWfInvisible();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_WfInvisible, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_WfInvisible, &value, R3TAG_END);
RtInvisible
RtInvisible
R3PRIMA_RtInvisible
Integer
R3INT
set/get rt invisible flag
jsobj.SetRtInvisible(value);
value = jsobj.GetRtInvisible();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_RtInvisible, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_RtInvisible, &value, R3TAG_END);
LatticeMatrixTransla
LatticeMatrixTransla
R3PRIMA_LatticeMatrixTransla
translation in lattice space
jsobj.SetLatticeMatrixTransla(value);
value = jsobj.GetLatticeMatrixTransla();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticeMatrixTranslate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_LatticeMatrixTranslate, &value, R3TAG_END);
LatticeMatrixRotate
LatticeMatrixRotate
R3PRIMA_LatticeMatrixRotate
scale in lattice space
jsobj.SetLatticeMatrixRotate(value);
value = jsobj.GetLatticeMatrixRotate();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticeMatrixRotate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_LatticeMatrixRotate, &value, R3TAG_END);
LatticeMatrixScale
LatticeMatrixScale
R3PRIMA_LatticeMatrixScale
rotation in lattice space
jsobj.SetLatticeMatrixScale(value);
value = jsobj.GetLatticeMatrixScale();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticeMatrixScale, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_LatticeMatrixScale, &value, R3TAG_END);
LatticeMatrixSkew
LatticeMatrixSkew
R3PRIMA_LatticeMatrixSkew
skew in lattice space
jsobj.SetLatticeMatrixSkew(value);
value = jsobj.GetLatticeMatrixSkew();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticeMatrixSkew, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_LatticeMatrixSkew, &value, R3TAG_END);
ShadowInvisible
ShadowInvisible
R3PRIMA_ShadowInvisible
Boolean
R3BOOL
object doesn't cast shadows if true
jsobj.SetShadowInvisible(value);
value = jsobj.GetShadowInvisible();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_ShadowInvisible, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_ShadowInvisible, &value, R3TAG_END);
ReflectionInvisible
ReflectionInvisible
R3PRIMA_ReflectionInvisible
Boolean
R3BOOL
if true cannot be seen in reflections
jsobj.SetReflectionInvisible(value);
value = jsobj.GetReflectionInvisible();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_ReflectionInvisible, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_ReflectionInvisible, &value, R3TAG_END);
CameraInvisible
CameraInvisible
R3PRIMA_CameraInvisible
Boolean
R3BOOL
can be seen only through reflections
jsobj.SetCameraInvisible(value);
value = jsobj.GetCameraInvisible();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_CameraInvisible, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_CameraInvisible, &value, R3TAG_END);
TextureMatrixTransla
TextureMatrixTransla
R3PRIMA_TextureMatrixTransla
translation for texture matrix
jsobj.SetTextureMatrixTransla(value);
value = jsobj.GetTextureMatrixTransla();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TextureMatrixTranslate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TextureMatrixTranslate, &value, R3TAG_END);
TextureMatrixRotate
TextureMatrixRotate
R3PRIMA_TextureMatrixRotate
jsobj.SetTextureMatrixRotate(value);
value = jsobj.GetTextureMatrixRotate();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TextureMatrixRotate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TextureMatrixRotate, &value, R3TAG_END);
TextureMatrixScale
TextureMatrixScale
R3PRIMA_TextureMatrixScale
jsobj.SetTextureMatrixScale(value);
value = jsobj.GetTextureMatrixScale();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TextureMatrixScale, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TextureMatrixScale, &value, R3TAG_END);
TextureMatrixSkew
TextureMatrixSkew
R3PRIMA_TextureMatrixSkew
jsobj.SetTextureMatrixSkew(value);
value = jsobj.GetTextureMatrixSkew();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TextureMatrixSkew, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TextureMatrixSkew, &value, R3TAG_END);
LatticeSelectedArray
LatticeSelectedArray
R3PRIMA_LatticeSelectedArray
Integer
R3INT
indexed attr
value = jsobj.GetLatticeSelectedArray(index);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_LatticeSelectedArraySize, &value, R3TAG_END);
LatticeSelectedItemS
LatticeSelectedItemS
R3PRIMA_LatticeSelectedItemS
Integer
R3INT
indexed attr
value = jsobj.GetLatticeSelectedItemS(index);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_LatticeSelectedItemSize, &value, R3TAG_END);
MapWeight
MapWeight
R3PRIMA_MapWeight
Number
R3FLOAT*
weight for multi mapping
jsobj.SetMapWeight(index, value);
value = jsobj.GetMapWeight(index);
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3PRIMA_MapWeight, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3PRIMA_MapWeight, &value, R3TAG_END);
MatrixRotateHPB
MatrixRotateHPB
R3PRIMA_MatrixRotateHPB
total rotation HPB
jsobj.SetMatrixRotateHPB(value);
value = jsobj.GetMatrixRotateHPB();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixRotateHPB, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_MatrixRotateHPB, &value, R3TAG_END);
TotalTranslate
TotalTranslate
R3PRIMA_TotalTranslate
total position in abs space
jsobj.SetTotalTranslate(value);
value = jsobj.GetTotalTranslate();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TotalTranslate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TotalTranslate, &value, R3TAG_END);
TotalScale
TotalScale
R3PRIMA_TotalScale
total scale in abs space
jsobj.SetTotalScale(value);
value = jsobj.GetTotalScale();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TotalScale, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TotalScale, &value, R3TAG_END);
TotalRotate
TotalRotate
R3PRIMA_TotalRotate
total rotation (Quaternion) in abs space
jsobj.SetTotalRotate(value);
value = jsobj.GetTotalRotate();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TotalRotate, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TotalRotate, &value, R3TAG_END);
MatrixTranslateX
MatrixTranslateX
R3PRIMA_MatrixTranslateX
Number
R3FLOAT
x translation
jsobj.SetMatrixTranslateX(value);
value = jsobj.GetMatrixTranslateX();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixTranslateX, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_MatrixTranslateX, &value, R3TAG_END);
MatrixTranslateY
MatrixTranslateY
R3PRIMA_MatrixTranslateY
Number
R3FLOAT
y translation
jsobj.SetMatrixTranslateY(value);
value = jsobj.GetMatrixTranslateY();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixTranslateY, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_MatrixTranslateY, &value, R3TAG_END);
MatrixTranslateZ
MatrixTranslateZ
R3PRIMA_MatrixTranslateZ
Number
R3FLOAT
z translation
jsobj.SetMatrixTranslateZ(value);
value = jsobj.GetMatrixTranslateZ();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatrixTranslateZ, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_MatrixTranslateZ, &value, R3TAG_END);
LatticePoints
LatticePoints
R3PRIMA_LatticePoints
'R3PRIMA_LatticePoints' not documented
jsobj.SetLatticePoints(value);
value = jsobj.GetLatticePoints();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticePoints, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3PRIMA_LatticePoints, &value, R3TAG_END);
FaceSelection
FaceSelection
R3PRIMA_FaceSelection
Integer
R3INT
TRUE if polygon faces can be selected
jsobj.SetFaceSelection(value);
value = jsobj.GetFaceSelection();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_FaceSelection, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_FaceSelection, &value, R3TAG_END);
EdgeSelection
EdgeSelection
R3PRIMA_EdgeSelection
Integer
R3INT
TRUE if polygon edges can be selected
jsobj.SetEdgeSelection(value);
value = jsobj.GetEdgeSelection();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_EdgeSelection, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_EdgeSelection, &value, R3TAG_END);
HasGeometry
HasGeometry
R3PRIMA_HasGeometry
Boolean
R3BOOL
define 3d geometry which can be evaluated
value = jsobj.GetHasGeometry();
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HasGeometry, &value, R3TAG_END);
PhysicalSize
PhysicalSize
R3PRIMA_PhysicalSize
Number
R3FLOAT
size of the bounding sphere of object's mass. 0 for massless object
value = jsobj.GetPhysicalSize();
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_PhysicalSize, &value, R3TAG_END);
LatticeSelectedPoint
LatticeSelectedPoint
R3PRIMA_LatticeSelectedPoint
indexed attr,
jsobj.SetLatticeSelectedPoint(index, value);
value = jsobj.GetLatticeSelectedPoint(index);
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticeSelectedPoints, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_LatticeSelectedPoints, &value, R3TAG_END);
PointSelection
PointSelection
R3PRIMA_PointSelection
Integer
R3INT
TRUE if points be selected (default TRUE)
jsobj.SetPointSelection(value);
value = jsobj.GetPointSelection();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_PointSelection, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_PointSelection, &value, R3TAG_END);
LatticePointSize
LatticePointSize
R3PRIMA_LatticePointSize
Integer
R3INT
read only
value = jsobj.GetLatticePointSize();
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_LatticePointSize, &value, R3TAG_END);
TotalSkew
TotalSkew
R3PRIMA_TotalSkew
total skew in abs space
jsobj.SetTotalSkew(value);
value = jsobj.GetTotalSkew();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_TotalSkew, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_TotalSkew, &value, R3TAG_END);
RotateInHPB
RotateInHPB
R3PRIMA_RotateInHPB
Boolean
R3BOOL
interpolate in HPB/Quaternion space
jsobj.SetRotateInHPB(value);
value = jsobj.GetRotateInHPB();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_RotateInHPB, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_RotateInHPB, &value, R3TAG_END);
LatticeSelectedWeigh
LatticeSelectedWeigh
R3PRIMA_LatticeSelectedWeigh
Number
R3FLOAT
indexed attr,
jsobj.SetLatticeSelectedWeigh(index, value);
value = jsobj.GetLatticeSelectedWeigh(index);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticeSelectedWeights, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_LatticeSelectedWeights, &value, R3TAG_END);
LatticePointWeights
LatticePointWeights
R3PRIMA_LatticePointWeights
Number
R3FLOAT
indexed attr,
jsobj.SetLatticePointWeights(index, value);
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_LatticePointWeights, value, R3TAG_END);
NativeSpace
NativeSpace
R3PRIMA_NativeSpace
native space
value = jsobj.GetNativeSpace();
R3COORDSYS value;
R3GetAttrs(r3obj, R3PRIMA_NativeSpace, &value, R3TAG_END);
NoShadows
NoShadows
R3PRIMA_NoShadows
Boolean
R3BOOL
object doesn't 'receive' shadows if true
jsobj.SetNoShadows(value);
value = jsobj.GetNoShadows();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_NoShadows, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_NoShadows, &value, R3TAG_END);
EvaluatesContinuousl
EvaluatesContinuousl
R3PRIMA_EvaluatesContinuousl
Boolean
R3BOOL
read only. TRUE if PRIMM_EVALUATE is continuous wrt. its 3d parameter
value = jsobj.GetEvaluatesContinuousl();
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_EvaluatesContinuously, &value, R3TAG_END);
HasRenderGeometry
HasRenderGeometry
R3PRIMA_HasRenderGeometry
Boolean
R3BOOL
read only - TRUE if object renders a geometry
value = jsobj.GetHasRenderGeometry();
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HasRenderGeometry, &value, R3TAG_END);
InvertTextureV
InvertTextureV
R3PRIMA_InvertTextureV
Boolean
R3BOOL
value = jsobj.GetInvertTextureV();
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_InvertTextureV, &value, R3TAG_END);
Hollow
Hollow
R3PRIMA_Hollow
Boolean
R3BOOL
jsobj.SetHollow(value);
value = jsobj.GetHollow();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_Hollow, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_Hollow, &value, R3TAG_END);
SelectedPoints
SelectedPoints
R3PRIMA_SelectedPoints
indexed attr, see R3PRIMA_LatticeSelectedPoints
jsobj.SetSelectedPoints(index, value);
value = jsobj.GetSelectedPoints(index);
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_SelectedPoints, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_SelectedPoints, &value, R3TAG_END);
Space
Space
R3PRIMA_Space
object's local matrix, same as R3PRIMA_Matrix, but supports keyframing
jsobj.SetSpace(value);
R3MATRIX value = ...;
R3SetAttrs(r3obj, R3PRIMA_Space, &value, R3TAG_END);
HitInvisible
HitInvisible
R3PRIMA_HitInvisible
Integer
R3INT
set/get hit invisible flag
jsobj.SetHitInvisible(value);
value = jsobj.GetHitInvisible();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_HitInvisible, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_HitInvisible, &value, R3TAG_END);
WireQuality
WireQuality
R3PRIMA_WireQuality
Integer
R3INT
curve quality
jsobj.SetWireQuality(value);
value = jsobj.GetWireQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_WireQuality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_WireQuality, &value, R3TAG_END);
WireQuality2
WireQuality2
R3PRIMA_WireQuality2
Integer
R3INT
mesh drawing density
jsobj.SetWireQuality2(value);
value = jsobj.GetWireQuality2();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_WireQuality2, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_WireQuality2, &value, R3TAG_END);
ShadedQuality
ShadedQuality
R3PRIMA_ShadedQuality
Integer
R3INT
shaded quality
jsobj.SetShadedQuality(value);
value = jsobj.GetShadedQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ShadedQuality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ShadedQuality, &value, R3TAG_END);
TextureQuality
TextureQuality
R3PRIMA_TextureQuality
Integer
R3INT
texture quality
jsobj.SetTextureQuality(value);
value = jsobj.GetTextureQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_TextureQuality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_TextureQuality, &value, R3TAG_END);
SelectiveVisibility
SelectiveVisibility
R3PRIMA_SelectiveVisibility
Integer
R3INT
see visibity defs below
jsobj.SetSelectiveVisibility(value);
value = jsobj.GetSelectiveVisibility();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_SelectiveVisibility, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_SelectiveVisibility, &value, R3TAG_END);
RenderControlPoly
RenderControlPoly
R3PRIMA_RenderControlPoly
Integer
R3INT
see control polygon defs below
jsobj.SetRenderControlPoly(value);
value = jsobj.GetRenderControlPoly();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_RenderControlPoly, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_RenderControlPoly, &value, R3TAG_END);
HideBoundingBox
HideBoundingBox
R3PRIMA_HideBoundingBox
Boolean
R3BOOL
hide bounding box
jsobj.SetHideBoundingBox(value);
value = jsobj.GetHideBoundingBox();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_HideBoundingBox, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HideBoundingBox, &value, R3TAG_END);
HideRotateHandle
HideRotateHandle
R3PRIMA_HideRotateHandle
Boolean
R3BOOL
hide rotate handles
jsobj.SetHideRotateHandle(value);
value = jsobj.GetHideRotateHandle();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_HideRotateHandle, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HideRotateHandle, &value, R3TAG_END);
HideCoordSys
HideCoordSys
R3PRIMA_HideCoordSys
Boolean
R3BOOL
hide coordsys handles
jsobj.SetHideCoordSys(value);
value = jsobj.GetHideCoordSys();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_HideCoordSys, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HideCoordSys, &value, R3TAG_END);
HideGeometry
HideGeometry
R3PRIMA_HideGeometry
Boolean
R3BOOL
hide geometry
jsobj.SetHideGeometry(value);
value = jsobj.GetHideGeometry();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_HideGeometry, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HideGeometry, &value, R3TAG_END);
NoShading
NoShading
R3PRIMA_NoShading
Boolean
R3BOOL
draw always as wireframe
jsobj.SetNoShading(value);
value = jsobj.GetNoShading();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_NoShading, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_NoShading, &value, R3TAG_END);
RenderCovers
RenderCovers
R3PRIMA_RenderCovers
Boolean
R3BOOL
draw end planes
jsobj.SetRenderCovers(value);
value = jsobj.GetRenderCovers();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_RenderCovers, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_RenderCovers, &value, R3TAG_END);
HideEditModeRotateHa
HideEditModeRotateHa
R3PRIMA_HideEditModeRotateHa
Boolean
R3BOOL
hide pointwise rotation handle
jsobj.SetHideEditModeRotateHa(value);
value = jsobj.GetHideEditModeRotateHa();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_HideEditModeRotateHandle, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HideEditModeRotateHandle, &value, R3TAG_END);
HideEditModeCoordSys
HideEditModeCoordSys
R3PRIMA_HideEditModeCoordSys
Boolean
R3BOOL
hide pointwise coordsys handle
jsobj.SetHideEditModeCoordSys(value);
value = jsobj.GetHideEditModeCoordSys();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_HideEditModeCoordSys, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_HideEditModeCoordSys, &value, R3TAG_END);
UseVertexColors
UseVertexColors
R3PRIMA_UseVertexColors
Boolean
R3BOOL
use vertex colors
jsobj.SetUseVertexColors(value);
value = jsobj.GetUseVertexColors();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_UseVertexColors, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_UseVertexColors, &value, R3TAG_END);
RenderAsBoundingBox
RenderAsBoundingBox
R3PRIMA_RenderAsBoundingBox
Boolean
R3BOOL
render as bounding box
jsobj.SetRenderAsBoundingBox(value);
value = jsobj.GetRenderAsBoundingBox();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_RenderAsBoundingBox, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_RenderAsBoundingBox, &value, R3TAG_END);
DrawOnlySelected
DrawOnlySelected
R3PRIMA_DrawOnlySelected
Boolean
R3BOOL
draw only if selected
jsobj.SetDrawOnlySelected(value);
value = jsobj.GetDrawOnlySelected();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_DrawOnlySelected, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_DrawOnlySelected, &value, R3TAG_END);
EvalMaterialWithNorm
EvalMaterialWithNorm
R3PRIMA_EvalMaterialWithNorm
Boolean
R3BOOL
draw only if selected
jsobj.SetEvalMaterialWithNorm(value);
value = jsobj.GetEvalMaterialWithNorm();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_EvalMaterialWithNormal, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_EvalMaterialWithNormal, &value, R3TAG_END);
ShowName
ShowName
R3PRIMA_ShowName
Boolean
R3BOOL
jsobj.SetShowName(value);
value = jsobj.GetShowName();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_ShowName, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_ShowName, &value, R3TAG_END);
Color
Color
R3PRIMA_Color
object's color
jsobj.SetColor(value);
value = jsobj.GetColor();
R3FLOATCOLOR3 value = ...;
R3SetAttrs(r3obj, R3PRIMA_Color, value, R3TAG_END);
R3FLOATCOLOR3 value;
R3GetAttrs(r3obj, R3PRIMA_Color, &value, R3TAG_END);
Mass
Mass
R3PRIMA_Mass
Number
R3FLOAT
mass in kg
jsobj.SetMass(value);
value = jsobj.GetMass();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Mass, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Mass, &value, R3TAG_END);
Density
Density
R3PRIMA_Density
Number
R3FLOAT
density of the material
jsobj.SetDensity(value);
value = jsobj.GetDensity();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Density, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Density, &value, R3TAG_END);
Charge
Charge
R3PRIMA_Charge
Number
R3FLOAT
electric charge
jsobj.SetCharge(value);
value = jsobj.GetCharge();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Charge, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Charge, &value, R3TAG_END);
SurfaceFriction
SurfaceFriction
R3PRIMA_SurfaceFriction
Number
R3FLOAT
surface friction
jsobj.SetSurfaceFriction(value);
value = jsobj.GetSurfaceFriction();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_SurfaceFriction, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_SurfaceFriction, &value, R3TAG_END);
ReboundEnergy
ReboundEnergy
R3PRIMA_ReboundEnergy
Number
R3FLOAT
rebound energy
jsobj.SetReboundEnergy(value);
value = jsobj.GetReboundEnergy();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ReboundEnergy, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_ReboundEnergy, &value, R3TAG_END);
Velocity
Velocity
R3PRIMA_Velocity
velocity
jsobj.SetVelocity(value);
value = jsobj.GetVelocity();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_Velocity, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_Velocity, &value, R3TAG_END);
Spin
Spin
R3PRIMA_Spin
spin defined in objects local space
jsobj.SetSpin(value);
value = jsobj.GetSpin();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_Spin, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_Spin, &value, R3TAG_END);
Inertia
Inertia
R3PRIMA_Inertia
inertia about x, y and z axes
jsobj.SetInertia(value);
value = jsobj.GetInertia();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_Inertia, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_Inertia, &value, R3TAG_END);
FluidVelocity
FluidVelocity
R3PRIMA_FluidVelocity
Number
R3FLOAT
velocity of the medium in param. space
jsobj.SetFluidVelocity(value);
value = jsobj.GetFluidVelocity();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_FluidVelocity, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_FluidVelocity, &value, R3TAG_END);
FluidPressure
FluidPressure
R3PRIMA_FluidPressure
Number
R3FLOAT
pressure
jsobj.SetFluidPressure(value);
value = jsobj.GetFluidPressure();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_FluidPressure, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_FluidPressure, &value, R3TAG_END);
FluidFrictionCoeffic
FluidFrictionCoeffic
R3PRIMA_FluidFrictionCoeffic
Number
R3FLOAT
drag force generated by medium
jsobj.SetFluidFrictionCoeffic(value);
value = jsobj.GetFluidFrictionCoeffic();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_FluidFrictionCoefficients, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_FluidFrictionCoefficients, &value, R3TAG_END);
FluidVelocityCoeffic
FluidVelocityCoeffic
R3PRIMA_FluidVelocityCoeffic
Number
R3FLOAT
fluid velocity in object space
jsobj.SetFluidVelocityCoeffic(value);
value = jsobj.GetFluidVelocityCoeffic();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_FluidVelocityCoefficients, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_FluidVelocityCoefficients, &value, R3TAG_END);
CenterOfGravity
CenterOfGravity
R3PRIMA_CenterOfGravity
center of gravity point
jsobj.SetCenterOfGravity(value);
value = jsobj.GetCenterOfGravity();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_CenterOfGravity, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_CenterOfGravity, &value, R3TAG_END);
LayerVersion
LayerVersion
R3PRIMA_LayerVersion
Integer
R3INT
read only
jsobj.SetLayerVersion(value);
value = jsobj.GetLayerVersion();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_LayerVersion, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_LayerVersion, &value, R3TAG_END);
Transparency
Transparency
R3PRIMA_Transparency
surface transparency
jsobj.SetTransparency(value);
value = jsobj.GetTransparency();
R3FLOATCOLOR3 value = ...;
R3SetAttrs(r3obj, R3PRIMA_Transparency, value, R3TAG_END);
R3FLOATCOLOR3 value;
R3GetAttrs(r3obj, R3PRIMA_Transparency, &value, R3TAG_END);
Reflection
Reflection
R3PRIMA_Reflection
surface reflectivity
jsobj.SetReflection(value);
value = jsobj.GetReflection();
R3FLOATCOLOR3 value = ...;
R3SetAttrs(r3obj, R3PRIMA_Reflection, value, R3TAG_END);
R3FLOATCOLOR3 value;
R3GetAttrs(r3obj, R3PRIMA_Reflection, &value, R3TAG_END);
Alpha
Alpha
R3PRIMA_Alpha
Number
R3FLOAT
alpha
jsobj.SetAlpha(value);
value = jsobj.GetAlpha();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Alpha, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Alpha, &value, R3TAG_END);
Fade
Fade
R3PRIMA_Fade
Number
R3FLOAT
level of fading
jsobj.SetFade(value);
value = jsobj.GetFade();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Fade, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Fade, &value, R3TAG_END);
TextureMapMethod
TextureMapMethod
R3PRIMA_TextureMapMethod
Integer
R3INT
color map, reflection map
jsobj.SetTextureMapMethod(value);
value = jsobj.GetTextureMapMethod();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_TextureMapMethod, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_TextureMapMethod, &value, R3TAG_END);
Gravity
Gravity
R3PRIMA_Gravity
Integer
R3INT
activate gravity
jsobj.SetGravity(value);
value = jsobj.GetGravity();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Gravity, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_Gravity, &value, R3TAG_END);
Magnetism
Magnetism
R3PRIMA_Magnetism
Integer
R3INT
activate electromagnetism
jsobj.SetMagnetism(value);
value = jsobj.GetMagnetism();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Magnetism, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_Magnetism, &value, R3TAG_END);
LifeTime
LifeTime
R3PRIMA_LifeTime
Number
R3FLOAT
object's life time in seconds
jsobj.SetLifeTime(value);
value = jsobj.GetLifeTime();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_LifeTime, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_LifeTime, &value, R3TAG_END);
FluidDynamics
FluidDynamics
R3PRIMA_FluidDynamics
Integer
R3INT
activate fluid dynamics
jsobj.SetFluidDynamics(value);
value = jsobj.GetFluidDynamics();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_FluidDynamics, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_FluidDynamics, &value, R3TAG_END);
ExplodeTime
ExplodeTime
R3PRIMA_ExplodeTime
Number
R3FLOAT
explode object as soon as it gets this old
jsobj.SetExplodeTime(value);
value = jsobj.GetExplodeTime();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ExplodeTime, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_ExplodeTime, &value, R3TAG_END);
ExplodeAtImpact
ExplodeAtImpact
R3PRIMA_ExplodeAtImpact
Boolean
R3BOOL
explode as soon as collision is detected
jsobj.SetExplodeAtImpact(value);
value = jsobj.GetExplodeAtImpact();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_ExplodeAtImpact, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_ExplodeAtImpact, &value, R3TAG_END);
Collision
Collision
R3PRIMA_Collision
Integer
R3INT
collision detection activated
jsobj.SetCollision(value);
value = jsobj.GetCollision();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Collision, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_Collision, &value, R3TAG_END);
UVTextureMap
UVTextureMap
R3PRIMA_UVTextureMap
String
char*
name of the texture map image
jsobj.SetUVTextureMap(value);
value = jsobj.GetUVTextureMap();
char* value = ...;
R3SetAttrs(r3obj, R3PRIMA_UVTextureMap, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3PRIMA_UVTextureMap, &value, R3TAG_END);
Elasticity
Elasticity
R3PRIMA_Elasticity
Number
R3FLOAT
string force, 0 is totally elastic
jsobj.SetElasticity(value);
value = jsobj.GetElasticity();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Elasticity, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Elasticity, &value, R3TAG_END);
Rigidity
Rigidity
R3PRIMA_Rigidity
Number
R3FLOAT
levl of internal friction forces, zero means deformable, 1 means totally rigid
jsobj.SetRigidity(value);
value = jsobj.GetRigidity();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Rigidity, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Rigidity, &value, R3TAG_END);
Illumination
Illumination
R3PRIMA_Illumination
surface illumination color
jsobj.SetIllumination(value);
value = jsobj.GetIllumination();
R3FLOATCOLOR3 value = ...;
R3SetAttrs(r3obj, R3PRIMA_Illumination, value, R3TAG_END);
R3FLOATCOLOR3 value;
R3GetAttrs(r3obj, R3PRIMA_Illumination, &value, R3TAG_END);
MatSpaceCoords
MatSpaceCoords
R3PRIMA_MatSpaceCoords
mat. space coords
jsobj.SetMatSpaceCoords(value);
value = jsobj.GetMatSpaceCoords();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_MatSpaceCoords, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_MatSpaceCoords, &value, R3TAG_END);
OpticalThickness
OpticalThickness
R3PRIMA_OpticalThickness
Number
R3FLOAT
optical thickness (controlling refraction factor)
jsobj.SetOpticalThickness(value);
value = jsobj.GetOpticalThickness();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_OpticalThickness, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_OpticalThickness, &value, R3TAG_END);
Scope
Scope
R3PRIMA_Scope
Number
R3FLOAT
scope
jsobj.SetScope(value);
value = jsobj.GetScope();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_Scope, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_Scope, &value, R3TAG_END);
SpecularColor
SpecularColor
R3PRIMA_SpecularColor
specular surface color
jsobj.SetSpecularColor(value);
value = jsobj.GetSpecularColor();
R3FLOATCOLOR3 value = ...;
R3SetAttrs(r3obj, R3PRIMA_SpecularColor, value, R3TAG_END);
R3FLOATCOLOR3 value;
R3GetAttrs(r3obj, R3PRIMA_SpecularColor, &value, R3TAG_END);
UVCoords
UVCoords
R3PRIMA_UVCoords
uv coordinates
jsobj.SetUVCoords(value);
value = jsobj.GetUVCoords();
R3VECTOR value = ...;
R3SetAttrs(r3obj, R3PRIMA_UVCoords, value, R3TAG_END);
R3VECTOR value;
R3GetAttrs(r3obj, R3PRIMA_UVCoords, &value, R3TAG_END);
VolumeSampling
VolumeSampling
R3PRIMA_VolumeSampling
Number
R3FLOAT
level of volumetric sampling
jsobj.SetVolumeSampling(value);
value = jsobj.GetVolumeSampling();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_VolumeSampling, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_VolumeSampling, &value, R3TAG_END);
CollisionAccuracy
CollisionAccuracy
R3PRIMA_CollisionAccuracy
Integer
R3INT
controls collision accuracy
jsobj.SetCollisionAccuracy(value);
value = jsobj.GetCollisionAccuracy();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_CollisionAccuracy, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_CollisionAccuracy, &value, R3TAG_END);
Impact
Impact
R3PRIMA_Impact
Boolean
R3BOOL
impact wave active
jsobj.SetImpact(value);
value = jsobj.GetImpact();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_Impact, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_Impact, &value, R3TAG_END);
ImpactTime
ImpactTime
R3PRIMA_ImpactTime
Number
R3FLOAT
last impact time
jsobj.SetImpactTime(value);
value = jsobj.GetImpactTime();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ImpactTime, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_ImpactTime, &value, R3TAG_END);
ImpactAmplitude
ImpactAmplitude
R3PRIMA_ImpactAmplitude
Number
R3FLOAT
strength of impact wave generated by last collision
jsobj.SetImpactAmplitude(value);
value = jsobj.GetImpactAmplitude();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ImpactAmplitude, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_ImpactAmplitude, &value, R3TAG_END);
ImpactDuration
ImpactDuration
R3PRIMA_ImpactDuration
Number
R3FLOAT
total duration of impact wave
jsobj.SetImpactDuration(value);
value = jsobj.GetImpactDuration();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ImpactDuration, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_ImpactDuration, &value, R3TAG_END);
ImpactLevel
ImpactLevel
R3PRIMA_ImpactLevel
Number
R3FLOAT
current level of impact wave
jsobj.SetImpactLevel(value);
value = jsobj.GetImpactLevel();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ImpactLevel, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_ImpactLevel, &value, R3TAG_END);
ImpactWaveType
ImpactWaveType
R3PRIMA_ImpactWaveType
Integer
R3INT
type of the impact wave
jsobj.SetImpactWaveType(value);
value = jsobj.GetImpactWaveType();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ImpactWaveType, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ImpactWaveType, &value, R3TAG_END);
VolumeDefined
VolumeDefined
R3PRIMA_VolumeDefined
Boolean
R3BOOL
true if defines analytic volume
jsobj.SetVolumeDefined(value);
value = jsobj.GetVolumeDefined();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_VolumeDefined, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_VolumeDefined, &value, R3TAG_END);
ExplodeParticleCount
ExplodeParticleCount
R3PRIMA_ExplodeParticleCount
Integer
R3INT
number of fractions generated by explosion
jsobj.SetExplodeParticleCount(value);
value = jsobj.GetExplodeParticleCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ExplodeParticleCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ExplodeParticleCount, &value, R3TAG_END);
ExplodeParticleVeloc
ExplodeParticleVeloc
R3PRIMA_ExplodeParticleVeloc
Number
R3FLOAT
initial velocity of generated particles
jsobj.SetExplodeParticleVeloc(value);
value = jsobj.GetExplodeParticleVeloc();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ExplodeParticleVelocity, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_ExplodeParticleVelocity, &value, R3TAG_END);
Explode
Explode
R3PRIMA_Explode
Boolean
R3BOOL
if true, object gets exploded
jsobj.SetExplode(value);
value = jsobj.GetExplode();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_Explode, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_Explode, &value, R3TAG_END);
NotSaved
NotSaved
R3PRIMA_NotSaved
Boolean
R3BOOL
if true object is not saved
jsobj.SetNotSaved(value);
value = jsobj.GetNotSaved();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_NotSaved, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_NotSaved, &value, R3TAG_END);
TextureIsImage
TextureIsImage
R3PRIMA_TextureIsImage
Boolean
R3BOOL
if true PRIMA_UVtextureMap refers to image object
jsobj.SetTextureIsImage(value);
value = jsobj.GetTextureIsImage();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3PRIMA_TextureIsImage, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3PRIMA_TextureIsImage, &value, R3TAG_END);
HiddenVisibility
HiddenVisibility
R3PRIMA_HiddenVisibility
Number
R3FLOAT
alpha visibility
jsobj.SetHiddenVisibility(value);
value = jsobj.GetHiddenVisibility();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3PRIMA_HiddenVisibility, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3PRIMA_HiddenVisibility, &value, R3TAG_END);
ExtraFlags
ExtraFlags
R3PRIMA_ExtraFlags
Integer
R3INT
for internal use
jsobj.SetExtraFlags(value);
value = jsobj.GetExtraFlags();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ExtraFlags, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ExtraFlags, &value, R3TAG_END);
ByteOptions1
ByteOptions1
R3PRIMA_ByteOptions1
Integer
R3INT
for internal use
jsobj.SetByteOptions1(value);
value = jsobj.GetByteOptions1();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ByteOptions1, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ByteOptions1, &value, R3TAG_END);
ByteOptions2
ByteOptions2
R3PRIMA_ByteOptions2
Integer
R3INT
for internal use
jsobj.SetByteOptions2(value);
value = jsobj.GetByteOptions2();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_ByteOptions2, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_ByteOptions2, &value, R3TAG_END);
DrawQualities
DrawQualities
R3PRIMA_DrawQualities
Integer
R3INT
for internal use
jsobj.SetDrawQualities(value);
value = jsobj.GetDrawQualities();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_DrawQualities, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_DrawQualities, &value, R3TAG_END);
CausticsRes
CausticsRes
R3PRIMA_CausticsRes
Integer
R3INT
for internal use
jsobj.SetCausticsRes(value);
value = jsobj.GetCausticsRes();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_CausticsRes, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_CausticsRes, &value, R3TAG_END);
SimulOptions
SimulOptions
R3PRIMA_SimulOptions
Integer
R3INT
for internal use
jsobj.SetSimulOptions(value);
value = jsobj.GetSimulOptions();
R3INT value = ...;
R3SetAttrs(r3obj, R3PRIMA_SimulOptions, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3PRIMA_SimulOptions, &value, R3TAG_END);
Values for R3PRIMA_RenderControlPoly
Values for R3PRIMA_SelectiveVisibility
Handle types
see extrapolate codes below
A couple of free dynamic tags
progress indicator for the 'root' object
Some new tags for data packing
select types
impact wave types
Flags for select window
RT flags for R3PRIMM_RENDER. Effect is enabled if a flag in R3PRIMA_RTEnableFlags is set. Set a flag in R3PRIMA_RTFoundFlags if the primitive needs a certain rendering operation.
Codes for R3PRIMA_RenderAlways
Rendering flags
Internal flags
it can be set and reset internally without changing user settings
was inparamspace
transformation specific data for non-linearizing etc.
see space codes below
for mapping transformation to other spaces (object, lattice, ..)
a+b+c == a+c. Used in interactive transformation
optimization flags, helps if the caller can define these
Spaces for evaluation, point enumeration etc.
Extrap. codes for p1 for EVALUATEEXT
Codes for R3PRIMM_TimeTransformType
Codes for R3PRIMM_UPDATEWIRE
unused, use R3H_SELECTHANDLE etc definitions above
index to target points
indexed attr
for R3PRIMA_LatticeList
R3PRIMMAP_OBJECT/POINT/SELECTEDPOINT etc.
R3PRIMA_Lattice + id defines varattr id for lattice points
skeleton's unique id
object weight, pointwise weights are saved using varattr
see flags below
used with 'selectedpoint' mapping
pointer to lattice object
lattice node flags
bounding boxes for optim. purposes
private data follows
Macros for computing value from initial+material+randomness
For backward compability
Min size for bbox to avoid collapsed dimensions:
Selection range
Tags