r3subdiv
real/objects/r3subdiv.h
r3obj
Sub division surface
r3Level
R3CLID_LEVEL
r3Subdivision
R3CLID_SUBDIVISION - 1235
ADDFACE, MERGEVERTICES, SUBDIVIDE, SUBDIVIDEFACE, EXTRUDE, GETMAXEDGESPERFACE, SPLITEDGE, DIVIDEFACE, MERGEFACES, SETUV, GETUV, SEPARATEFACES, RETURNFACEPOINTS, NEWFACE, DELFACE, UPDATEFACE, MELT, EXTRUDEVERTEX, MERGEOBJECTS, HIDESELECTEDFACES, SHOWALLFACES, CONNECTEDGES, TRANSFORMFACE, DUPLICATEANDCONNEC, BEVELVERTICES, BEVELEDGES, FACETOTRISETS, FLIPSELECTEDFACES, ADDUVWCHANNEL, DELUVWCHANNEL, MERGEEDGES, DESTROYFACE, MERGEOBJECTSSELECT, POLYGONALTOTRISETS, SMOOTHTOTRISETS, FACESTOTRIANGLES, SELECTEDFACESTOQUA, FACESCHANGEDFROMOU, MAKETUNNEL, SUBDIVIDELOCALLY, CALCULATEVERTEXNOR, MOVEVERTEXONNORMAL, INVALIDATESMOOTHOB, CALCULATEEDGECENTE, TRANSFORMEDGE, SELECTINVALIDFACES, SMOOTHENVERTEXNORM, FLATTENVERTEXNORMA, SETPOINTWISEVALUE, GETPOINTWISEVALUE, ADDPOINTWISEATTRIB, REMOVEPOINTWISEATT, GETWEIGHTS, CHANGEWEIGHTS, COPYSELECTEDPOINTS, TRIANGLESTOQUADS, INVERT, RENDERPATCHES, SETSELECTEDEDGESHA, GETEDGESHARPNESS, SETSELECTEDVERTEXS, GETVERTEXSHARPNESS, CREATEEDGELIST, FREEEDGELIST, SETSELECTEDEDGEROU, GETEDGEROUNDING, JOINFACES, GETPOINTWISECHANNE, GETFACESPACE, GETUVWATTRS, GETCHANNELATTRS, ALLOCPOINTS, ASSIGNVERTEX, MAKEFACE, ATTACHMATERIALTOSE, DETACHMATFROMSELFA, GETFACEMATERIALLIS, OPTIMIZEFACES, MOVEFACEMATERIALBE, MOVEFACEMATERIALAF, ENUMFACEVERTICES, UNSELECTHANDLES, SETSELECTEDFACEMAT, INSERTVERTEXTOFACE, REMOVEVERTEXFROMFA, SETSELECTEDFACESUV, SETALLFACESUVVISIB, SETFACEMATERIALUV, DETACHMATFROMALLFA, GETVERTEXCOUNTOFFA, INTERPOLATEPOINTWI, DIVIDEFACESBYINDIC, CALCULATEFACECENTE, DUPLICATE, COPYSELECTED, SETFACE, FILLHOLES, UNWRAPUV, DEFAULTUV, DELETEORPHANVERTIC, SETPOINTLOCAL, GETPOINTLOCAL, ALLOCFACEID, REGISTERNOTIFY, UNREGISTERNOTIFY, UNWRAPGEOMETRY, DUPLICATEANDMIRROR, GETFACECENTERANDNO, AUTOINITIALIZEFACE, RENAMEFACEMATERIAL, GETMAXEDGESPERVERT, FACESTOTRIANGLESSM, WELD, GETFACE, FLATTEN, AUTOCREASES, GETFACEINDEX,
PointCount, Points, FaceCount, Type, SelectResolution, SelectedFaces, SelectedEdges, SelectedVertices, EdgeCount, UVCoords, Quality, HiddenFaces, CurrentUVName, WrapU, WrapV, HiddenVertices, SmoothVertices, Weights, FloatSize, ColorSize, PointwiseColor, PointwiseTranspare, PointwiseReflectio, PointwiseAlpha, PointwiseFade, PointwiseIlluminat, PointwiseMatSpaceC, PointwiseOpticalTh, PointwiseScope, PointwiseVolumeSam, InterpolateBoundar, VertexSharpness, HasRoundings, CurrentFaceMateria, ChannelList, PointwiseUVCoords, SelectedFaceVertic, SelectFaceVertices, VertexUVsInFaceMod, HiddenUVFaces, PhongShade, MaxDisplacement, NextFaceId, MinimizedOutlines, MaterialRendering, ForceTessellation,
R3SUBDIVM_ADDFACE
ADDFACE
R3SUBDIVM_ADDFACE
obj.ADDFACE();
adds a face between n selected vertices
R3SUBDIVM_MERGEVERTICES
MERGEVERTICES
R3SUBDIVM_MERGEVERTICES
obj.MERGEVERTICES();
merges selected vertices
R3SUBDIVM_SUBDIVIDE
SUBDIVIDE
R3SUBDIVM_SUBDIVIDE
R3INT, number of iterations, >0
obj.SUBDIVIDE(p3);
subdivides the whole object
R3SUBDIVM_SUBDIVIDEFACE
SUBDIVIDEFACE
R3SUBDIVM_SUBDIVIDEFACE
obj.SUBDIVIDEFACE();
subdivides selected faces
R3SUBDIVM_EXTRUDE
EXTRUDE
R3SUBDIVM_EXTRUDE
R3BOOL, true if succeeded
R3FLOAT, extrusion depth
R3INT, action, see r3subdivisionaction below
R3TAG*, tag list containing R3SUBDIVA_ExtrudeRegionOpt, R3SUBDIVA_ExtrudeNormalOpt, R3SUBDIVA_ExtrudeLeaveFloor, R3SUBDIVA_ExtrudeSectionCount.
rc = obj.EXTRUDE(p1, p2, p3);
extrudes selected edges or faces
R3SUBDIVM_GETMAXEDGESPERFACE
GETMAXEDGESPERFACE
R3SUBDIVM_GETMAXEDGESPERFACE
R3INT, max edgecount
rc = obj.GETMAXEDGESPERFACE();
return the number of edges of the face that has the most edges.
R3SUBDIVM_SPLITEDGE
SPLITEDGE
R3SUBDIVM_SPLITEDGE
obj.SPLITEDGE();
splits the selected edges.
R3SUBDIVM_DIVIDEFACE
DIVIDEFACE
R3SUBDIVM_DIVIDEFACE
obj.DIVIDEFACE();
divides face between two selected vertices.
R3SUBDIVM_MERGEFACES
MERGEFACES
R3SUBDIVM_MERGEFACES
obj.MERGEFACES();
merges selected faces.
R3SUBDIVM_SETUV
SETUV
R3SUBDIVM_SETUV
obj.SETUV();
Set given UV coordinates for the selected vertices
R3SUBDIVM_GETUV
GETUV
R3SUBDIVM_GETUV
R3BOOL, true if succeeded
R3VECTOR, uv coordinates
R3INT, index of the vertex
rc = obj.GETUV(p1, p3);
Fetch the uv coordinates of the given vertex
R3SUBDIVM_SEPARATEFACES
SEPARATEFACES
R3SUBDIVM_SEPARATEFACES
obj.SEPARATEFACES();
separates the selected edges.
R3SUBDIVM_RETURNFACEPOINTS
RETURNFACEPOINTS
R3SUBDIVM_RETURNFACEPOINTS
obj.RETURNFACEPOINTS();
same as R3PRIMM_GETFACEPOINTLOOP, see r3prim.h
R3SUBDIVM_NEWFACE
NEWFACE
R3SUBDIVM_NEWFACE
obj.NEWFACE();
creates an empty face (no vertices)
R3SUBDIVM_DELFACE
DELFACE
R3SUBDIVM_DELFACE
R3INT, face index
obj.DELFACE(p3);
deletes a face
R3SUBDIVM_UPDATEFACE
UPDATEFACE
R3SUBDIVM_UPDATEFACE
R3INT, face index
obj.UPDATEFACE(p3);
modifies the specified face (index in p3) to contain selected vertices
R3SUBDIVM_MELT
MELT
R3SUBDIVM_MELT
obj.MELT();
melts faces together by removing separating edges. * Action depends on select resolution.
R3SUBDIVM_EXTRUDEVERTEX
EXTRUDEVERTEX
R3SUBDIVM_EXTRUDEVERTEX
R3FLOAT, percentage of subdivide (distance from original vertex along the edge)
R3FLOAT, amount of extrude
obj.EXTRUDEVERTEX(p1, p3);
extrudes the selected vertices
R3SUBDIVM_MERGEOBJECTS
MERGEOBJECTS
R3SUBDIVM_MERGEOBJECTS
R3BOOL, save faceids
R3OBJ**, null terminated array of objects to be merged
obj.MERGEOBJECTS(p1, p3);
Merges the selected subdivision objects into one.
R3SUBDIVM_HIDESELECTEDFACES
HIDESELECTEDFACES
R3SUBDIVM_HIDESELECTEDFACES
obj.HIDESELECTEDFACES();
Hides the selected faces.
R3SUBDIVM_SHOWALLFACES
SHOWALLFACES
R3SUBDIVM_SHOWALLFACES
obj.SHOWALLFACES();
Un-hides all faces.
R3SUBDIVM_CONNECTEDGES
CONNECTEDGES
R3SUBDIVM_CONNECTEDGES
obj.CONNECTEDGES();
Connects two selected edges with a new face.
R3SUBDIVM_TRANSFORMFACE
TRANSFORMFACE
R3SUBDIVM_TRANSFORMFACE
R3VECTOR, the components are used to define: r - amount of rotation s - scale factor t - amount of translation
R3INT, normal option, either R3SDSTRANSFFACENORMALOPT_FACE or R3SDSTRANSFFACENORMALOPT_GROUP
R3TAG*, tag list containing R3SUBDIVA_TransformCenter, R3SUBDIVA_TransformNormal, R3SUBDIVA_ScaleDirection
obj.TRANSFORMFACE(p1, p2, p3);
Transforms selected faces.
R3SUBDIVM_DUPLICATEANDCONNEC
DUPLICATEANDCONNEC
R3SUBDIVM_DUPLICATEANDCONNEC
obj.DUPLICATEANDCONNEC();
Copies the the faces and connects the edges.
R3SUBDIVM_BEVELVERTICES
BEVELVERTICES
R3SUBDIVM_BEVELVERTICES
R3FLOAT, percentage of bevel (distance from original vertex along the edge)
obj.BEVELVERTICES(p3);
Bevels selected vertices
R3SUBDIVM_BEVELEDGES
BEVELEDGES
R3SUBDIVM_BEVELEDGES
R3FLOAT, percentage of bevel (distance from original vertex along the edge)
obj.BEVELEDGES(p3);
Bevels selected edges
R3SUBDIVCM_FACETOTRISETS
FACETOTRISETS
R3SUBDIVCM_FACETOTRISETS
R3INT, number of resulting triset faces
R3VECTOR, vertices
R3TAG*, attributes R3SUBDIVA_TrisetFace, R3SUBDIVA_KeepAllPoints, R3SUBDIVA_UVCoords, R3SUBDIVA_OriginalIndices.
rc = obj.FACETOTRISETS(0, p2, p3);
Converts a face to trisets
R3SUBDIVM_FLIPSELECTEDFACES
FLIPSELECTEDFACES
R3SUBDIVM_FLIPSELECTEDFACES
R3BOOL, regions flag. If set, flips opposing faces in each selection region.
obj.FLIPSELECTEDFACES(p3);
Flips the normals of the selected faces by changing the * order in which the vertices are referenced.
R3SUBDIVM_ADDUVWCHANNEL
ADDUVWCHANNEL
R3SUBDIVM_ADDUVWCHANNEL
void*, NULL if failed
R3TAG*, R3SUBDIVA_WrapU, R3SUBDIVA_WrapV, R3SUBDIVA_UVWrapMin, R3SUBDIVA_UVWrapMax, R3SUBDIVA_UVCoords
rc = obj.ADDUVWCHANNEL(p3);
Add new uvw channel
R3SUBDIVM_DELUVWCHANNEL
DELUVWCHANNEL
R3SUBDIVM_DELUVWCHANNEL
R3BOOL, NULL if channel was not found
char*, name of the channel to be deleted
rc = obj.DELUVWCHANNEL(p3);
Delete uvw channel
R3SUBDIVM_MERGEEDGES
MERGEEDGES
R3SUBDIVM_MERGEEDGES
obj.MERGEEDGES();
merges selected edges (only if topology does not change).
R3SUBDIVM_DESTROYFACE
DESTROYFACE
R3SUBDIVM_DESTROYFACE
R3BOOL, if TRUE vertices that become orphan are not deleted.
obj.DESTROYFACE(p3);
destroys faces.
R3SUBDIVM_MERGEOBJECTSSELECT
MERGEOBJECTSSELECT
R3SUBDIVM_MERGEOBJECTSSELECT
R3OBJ**, null terminated array of objects to be merged
obj.MERGEOBJECTSSELECT(p3);
Merges the selected subdivision objects into one. * All vertices and faces of the first selected object * and selected vertices and selected faces of the other * selected objects are merged.
R3SUBDIVM_POLYGONALTOTRISETS
POLYGONALTOTRISETS
R3SUBDIVM_POLYGONALTOTRISETS
R3BOOL, TRUE if successfull
R3INT*, returns the number of faces.
rc = obj.POLYGONALTOTRISETS(p3);
Converts polygonal SDS to trisets.
R3SUBDIVM_SMOOTHTOTRISETS
SMOOTHTOTRISETS
R3SUBDIVM_SMOOTHTOTRISETS
R3BOOL, TRUE if successfull
R3INT*, returns the number of faces.
rc = obj.SMOOTHTOTRISETS(p3);
Converts smooth SDS to trisets.
R3SUBDIVM_FACESTOTRIANGLES
FACESTOTRIANGLES
R3SUBDIVM_FACESTOTRIANGLES
R3BOOL, TRUE if successfull
R3BOOL, if TRUE processes all faces
rc = obj.FACESTOTRIANGLES(p3);
Divides faces to triangles. Uses the face center to divide. If p3 is TRUE, then all faces are processed, otherwise only the selected faces.
R3SUBDIVM_SELECTEDFACESTOQUA
SELECTEDFACESTOQUA
R3SUBDIVM_SELECTEDFACESTOQUA
R3BOOL, TRUE if successfull
R3BOOL, if TRUE processes all faces
rc = obj.SELECTEDFACESTOQUA(p3);
Divides the selected faces to quads. Uses the face center to divide.
R3SUBDIVM_FACESCHANGEDFROMOU
FACESCHANGEDFROMOU
R3SUBDIVM_FACESCHANGEDFROMOU
obj.FACESCHANGEDFROMOU();
If you have to manipulate the face array directly, call this to inform the sds object.
R3SUBDIVM_MAKETUNNEL
MAKETUNNEL
R3SUBDIVM_MAKETUNNEL
R3BOOL, TRUE if successfull
rc = obj.MAKETUNNEL();
Make tunnel between selected faces
R3SUBDIVM_SUBDIVIDELOCALLY
SUBDIVIDELOCALLY
R3SUBDIVM_SUBDIVIDELOCALLY
R3BOOL, TRUE if successfull
rc = obj.SUBDIVIDELOCALLY();
Subdivides selected regions.
R3SUBDIVM_CALCULATEVERTEXNOR
CALCULATEVERTEXNOR
R3SUBDIVM_CALCULATEVERTEXNOR
R3BOOL, TRUE if successfull
R3BOOL, if TRUE the normal lengths will be scaled according to the * face sizes, otherwise the normals will be normalized * (length 1.0).
R3VECTOR, the vertex normals are returned here
rc = obj.CALCULATEVERTEXNOR(p1, p3);
Calculates vertex normals.
R3SUBDIVM_MOVEVERTEXONNORMAL
MOVEVERTEXONNORMAL
R3SUBDIVM_MOVEVERTEXONNORMAL
R3FLOAT, amount of translation
R3VECTOR, direction
obj.MOVEVERTEXONNORMAL(p1, p3);
Moves the selected faces along vertex normals.
R3SUBDIVM_INVALIDATESMOOTHOB
INVALIDATESMOOTHOB
R3SUBDIVM_INVALIDATESMOOTHOB
obj.INVALIDATESMOOTHOB();
Invalidates internal smooth object used for evaluating the * SDS geometry
R3SUBDIVM_CALCULATEEDGECENTE
CALCULATEEDGECENTE
R3SUBDIVM_CALCULATEEDGECENTE
R3BOOL, TRUE if successfull
R3VECTOR, the edge centers are returned here
R3BOOL, if TRUE the normal lengths will be scaled according to the * edge lengths, otherwise the normals will be normalized * (length 1.0).
R3VECTOR, the edge normals are returned here
rc = obj.CALCULATEEDGECENTE(p1, p2, p3);
Calculates edge centers and normals.
R3SUBDIVM_TRANSFORMEDGE
TRANSFORMEDGE
R3SUBDIVM_TRANSFORMEDGE
R3VECTOR, the components are used to define: r - amount of rotation s - scale factor t - amount of translation
R3INT, normal option, either R3SDSTRANSFFACENORMALOPT_FACE or R3SDSTRANSFFACENORMALOPT_GROUP
R3TAG*, tag list containing R3SUBDIVA_TransformCenter, R3SUBDIVA_TransformNormal
obj.TRANSFORMEDGE(p1, p2, p3);
Transforms selected edges.
R3SUBDIVM_SELECTINVALIDFACES
SELECTINVALIDFACES
R3SUBDIVM_SELECTINVALIDFACES
obj.SELECTINVALIDFACES();
Selects faces that have edges where more than two faces connect.
R3SUBDIVM_SMOOTHENVERTEXNORM
SMOOTHENVERTEXNORM
R3SUBDIVM_SMOOTHENVERTEXNORM
obj.SMOOTHENVERTEXNORM();
Smoothens the normals of the selected vertices,
R3SUBDIVM_FLATTENVERTEXNORMA
FLATTENVERTEXNORMA
R3SUBDIVM_FLATTENVERTEXNORMA
obj.FLATTENVERTEXNORMA();
Smoothens the normals of the selected vertices,
R3SUBDIVM_SETPOINTWISEVALUE
SETPOINTWISEVALUE
R3SUBDIVM_SETPOINTWISEVALUE
obj.SETPOINTWISEVALUE();
R3SUBDIVM_GETPOINTWISEVALUE
GETPOINTWISEVALUE
R3SUBDIVM_GETPOINTWISEVALUE
obj.GETPOINTWISEVALUE();
R3SUBDIVM_ADDPOINTWISEATTRIB
ADDPOINTWISEATTRIB
R3SUBDIVM_ADDPOINTWISEATTRIB
obj.ADDPOINTWISEATTRIB();
add pointwise attribute
R3SUBDIVM_REMOVEPOINTWISEATT
REMOVEPOINTWISEATT
R3SUBDIVM_REMOVEPOINTWISEATT
obj.REMOVEPOINTWISEATT();
remove pointwise attribute
R3SUBDIVM_GETWEIGHTS
GETWEIGHTS
R3SUBDIVM_GETWEIGHTS
R3FLOAT, weights
rc = obj.GETWEIGHTS();
R3SUBDIVM_CHANGEWEIGHTS
CHANGEWEIGHTS
R3SUBDIVM_CHANGEWEIGHTS
R3BOOL, if true, p3 translates the current weight. Otherwise p3 is taken as new absolute weight for the selected vertices.
R3FLOAT, abs/rel weight
obj.CHANGEWEIGHTS(p1, p3);
Translate the weights of the selected vertices.
R3SUBDIVM_COPYSELECTEDPOINTS
COPYSELECTEDPOINTS
R3SUBDIVM_COPYSELECTEDPOINTS
R3BOOL, true if succeeded
rc = obj.COPYSELECTEDPOINTS();
Copy the currently selected vertices.
R3SUBDIVM_TRIANGLESTOQUADS
TRIANGLESTOQUADS
R3SUBDIVM_TRIANGLESTOQUADS
obj.TRIANGLESTOQUADS();
Converts selected triangular faces to quads.
R3SUBDIVM_INVERT
INVERT
R3SUBDIVM_INVERT
R3INT, iterations
obj.INVERT(p3);
Run inversion procedure to the sds:
R3SUBDIVM_RENDERPATCHES
RENDERPATCHES
R3SUBDIVM_RENDERPATCHES
void*, any appropriate callback context data
obj.RENDERPATCHES(p3);
Describes the surface geometry of SDS object by repeated calls to given hook. * The actions are the same as when sending PRIMM_RENDERSURFACES to the sds object. * The patches are described using the tags of the selected surface type. * See r3sbs3.h, r3sbili.h and r3stri.h (also r3frsurf.h for info about pointwise attributes). * For example, if render type is smoothen to triangles, hook is called as * (*Hook)(R3CLID_STRIANGLE, hookdata, tags), * tags = R3STRIA_Points, vertexarrayof3, * R3STRIA_Normals, normalarrayof3, * R3FRSURFA_PointAttrs, pa_as_defined_in_r3frsurf_h, * R3TAG_END); *
R3SUBDIVM_SETSELECTEDEDGESHA
SETSELECTEDEDGESHA
R3SUBDIVM_SETSELECTEDEDGESHA
R3INT, sharpness (0 == rounded, 1 == semisharp, 2 == sharp, * 3 == free, defined by edge rounding
obj.SETSELECTEDEDGESHA(p3);
Sets the sharpness of the selected edges
R3SUBDIVM_GETEDGESHARPNESS
GETEDGESHARPNESS
R3SUBDIVM_GETEDGESHARPNESS
R3INT, edge index
R3INT*, returns sharpness
obj.GETEDGESHARPNESS(p1, p3);
Gets the sharpness of the specified edge
R3SUBDIVM_SETSELECTEDVERTEXS
SETSELECTEDVERTEXS
R3SUBDIVM_SETSELECTEDVERTEXS
R3INT, sharpness (0 == rounded, 1 == semisharp, 2 == sharp, 3 == free
obj.SETSELECTEDVERTEXS(p3);
Sets the sharpness of the selected vertices
R3SUBDIVM_GETVERTEXSHARPNESS
GETVERTEXSHARPNESS
R3SUBDIVM_GETVERTEXSHARPNESS
R3INT, vertex index
R3INT*, returns sharpness
obj.GETVERTEXSHARPNESS(p1, p3);
Gets the sharpness of the specified vertex
R3SUBDIVM_CREATEEDGELIST
CREATEEDGELIST
R3SUBDIVM_CREATEEDGELIST
void*, handle
R3BOOL
R3LIST, list containing R3EDGELISTNODE structures.
rc = obj.CREATEEDGELIST(p1, p3);
Creates edge list.
R3SUBDIVM_FREEEDGELIST
FREEEDGELIST
R3SUBDIVM_FREEEDGELIST
void*, handle received by CREATEEDGELIST method
R3LIST, list containing unique edges
obj.FREEEDGELIST(p1, p3);
Frees list of unique edges.
R3SUBDIVM_SETSELECTEDEDGEROU
SETSELECTEDEDGEROU
R3SUBDIVM_SETSELECTEDEDGEROU
R3BOOL, cumulative
R3FLOAT, rounding
obj.SETSELECTEDEDGEROU(p1, p3);
Sets the rounding of the selected edges
R3SUBDIVM_GETEDGEROUNDING
GETEDGEROUNDING
R3SUBDIVM_GETEDGEROUNDING
R3INT, edge index
R3FLOAT, returns rounding
obj.GETEDGEROUNDING(p1, p3);
Gets the rounding of the specified edge
R3SUBDIVM_JOINFACES
JOINFACES
R3SUBDIVM_JOINFACES
R3FLOAT, distance
obj.JOINFACES(p3);
Joins edges of separate faces when the edges are near enough each other
R3SUBDIVM_GETPOINTWISECHANNE
GETPOINTWISECHANNE
R3SUBDIVM_GETPOINTWISECHANNE
void*, channel data
rc = obj.GETPOINTWISECHANNE();
Returns pointwise channel data
R3SUBDIVM_GETFACESPACE
GETFACESPACE
R3SUBDIVM_GETFACESPACE
R3INT, index of the face
R3COORDSYS, space of the face
obj.GETFACESPACE(p1, p3);
Fetch orientation of the given face in object space.
R3SUBDIVM_GETUVWATTRS
GETUVWATTRS
R3SUBDIVM_GETUVWATTRS
R3BOOL, true if uvw channel was found
char, channelname
R3TAG*, R3SUBDIVA_WrapU, R3SUBDIVA_WrapV, R3SUBDIVA_UVWrapMin, R3SUBDIVA_UVWrapMax, R3SUBDIVA_UVCoords
rc = obj.GETUVWATTRS(p1, p3);
Fetch uvw channel attributes
R3SUBDIVM_GETCHANNELATTRS
GETCHANNELATTRS
R3SUBDIVM_GETCHANNELATTRS
R3BOOL, true if the given channel was found
char, channelname
R3TAG*, R3SUBDIVA_ChannelData, R3SUBDIVA_ChannelUniqueId, R3SUBDIVA_ChannelType, R3SUBDIVA_ChannelItemSize
rc = obj.GETCHANNELATTRS(p1, p3);
Fetch custom channel attributes. R3SUBDIVA_ChannelData points to an array of channel values associated with control points. ChannelItemSize specifies the size of items in R3FLOAT's.
R3SUBDIVM_ALLOCPOINTS
ALLOCPOINTS
R3SUBDIVM_ALLOCPOINTS
obj.ALLOCPOINTS();
R3SUBDIVM_ASSIGNVERTEX
ASSIGNVERTEX
R3SUBDIVM_ASSIGNVERTEX
R3INT, to
R3INT, from
obj.ASSIGNVERTEX(p1, p3);
Copies a vertex to another vertex.
R3SUBDIVM_MAKEFACE
MAKEFACE
R3SUBDIVM_MAKEFACE
R3INT, vertex count
R3INT*, vertex indices
obj.MAKEFACE(p1, p3);
Creates a face to given vertices.
R3SUBDIVM_ATTACHMATERIALTOSE
ATTACHMATERIALTOSE
R3SUBDIVM_ATTACHMATERIALTOSE
char*, material name
obj.ATTACHMATERIALTOSE(p3);
Attach material to selected faces.
R3SUBDIVM_DETACHMATFROMSELFA
DETACHMATFROMSELFA
R3SUBDIVM_DETACHMATFROMSELFA
char*, material name
obj.DETACHMATFROMSELFA(p3);
Detach material from selected faces.
R3SUBDIVM_GETFACEMATERIALLIS
GETFACEMATERIALLIS
R3SUBDIVM_GETFACEMATERIALLIS
R3INT, face index
obj.GETFACEMATERIALLIS(p3);
Returns a pointer to face material list containing R3FACEMATERIAL structures or a NULL pointer if no materials are defined for the face.
R3SUBDIVM_OPTIMIZEFACES
OPTIMIZEFACES
R3SUBDIVM_OPTIMIZEFACES
obj.OPTIMIZEFACES();
private
R3SUBDIVM_MOVEFACEMATERIALBE
MOVEFACEMATERIALBE
R3SUBDIVM_MOVEFACEMATERIALBE
char*, face mat
char*, to mat
obj.MOVEFACEMATERIALBE(p1, p3);
Move the facem material specified in p1 to before the material specified by p3
R3SUBDIVM_MOVEFACEMATERIALAF
MOVEFACEMATERIALAF
R3SUBDIVM_MOVEFACEMATERIALAF
char*, face mat
char*, to mat
obj.MOVEFACEMATERIALAF(p1, p3);
Move the facem material specified in p1 to aftere the material specified by p3
R3SUBDIVM_ENUMFACEVERTICES
ENUMFACEVERTICES
R3SUBDIVM_ENUMFACEVERTICES
R3TAG*, R3RA_Hook, R3RA_HookData, R3PRIMA_PointSpace
obj.ENUMFACEVERTICES(p3);
Enum face vertices to given R3HANDLEHOOK callback
R3SUBDIVM_UNSELECTHANDLES
UNSELECTHANDLES
R3SUBDIVM_UNSELECTHANDLES
R3INT, see sds handle types
obj.UNSELECTHANDLES(p3);
Unselect handles with given type.
R3SUBDIVM_SETSELECTEDFACEMAT
SETSELECTEDFACEMAT
R3SUBDIVM_SETSELECTEDFACEMAT
R3INT, mask
R3VECTOR, uvw
obj.SETSELECTEDFACEMAT(p1, p3);
Set selected face uv's.
R3SUBDIVM_INSERTVERTEXTOFACE
INSERTVERTEXTOFACE
R3SUBDIVM_INSERTVERTEXTOFACE
R3INT, face index
R3INT, index in face
R3INT, index to vertices
obj.INSERTVERTEXTOFACE(p1, p2, p3);
R3SUBDIVM_REMOVEVERTEXFROMFA
REMOVEVERTEXFROMFA
R3SUBDIVM_REMOVEVERTEXFROMFA
R3INT, face index
R3INT
R3INT, index in face
obj.REMOVEVERTEXFROMFA(p1, p2, p3);
Remove the given vertex from the specified face.
R3SUBDIVM_SETSELECTEDFACESUV
SETSELECTEDFACESUV
R3SUBDIVM_SETSELECTEDFACESUV
obj.SETSELECTEDFACESUV();
Shows/hides the selected faces in UV editors.
R3SUBDIVM_SETALLFACESUVVISIB
SETALLFACESUVVISIB
R3SUBDIVM_SETALLFACESUVVISIB
obj.SETALLFACESUVVISIB();
Shows/hides all faces in UV editors.
R3SUBDIVM_SETFACEMATERIALUV
SETFACEMATERIALUV
R3SUBDIVM_SETFACEMATERIALUV
R3INT, face index
char*, material name
R3VECTOR, array of UVs, one for each vertex of the face
obj.SETFACEMATERIALUV(p1, p2, p3);
sets face material UVs for a face
R3SUBDIVM_DETACHMATFROMALLFA
DETACHMATFROMALLFA
R3SUBDIVM_DETACHMATFROMALLFA
char*, material name
obj.DETACHMATFROMALLFA(p3);
Detach material from all faces.
R3SUBDIVM_GETVERTEXCOUNTOFFA
GETVERTEXCOUNTOFFA
R3SUBDIVM_GETVERTEXCOUNTOFFA
R3INT, number of vertices
R3INT, face index
rc = obj.GETVERTEXCOUNTOFFA(p3);
Fetch the number of vertices in the given face.
R3SUBDIVM_INTERPOLATEPOINTWI
INTERPOLATEPOINTWI
R3SUBDIVM_INTERPOLATEPOINTWI
R3INT, index of the vertex for which to interpolate pointwise values
R3FLOAT, interpolation factor
R3TAG*, tag list containing R3RA_P0, R3RA_P1 - the indices of the the vertices to interpolate from
obj.INTERPOLATEPOINTWI(p1, p2, p3);
Interpolates pointwise values for a vertex
R3SUBDIVM_DIVIDEFACESBYINDIC
DIVIDEFACESBYINDIC
R3SUBDIVM_DIVIDEFACESBYINDIC
R3INT, number of groups consisting of a face index and a pair indices
R3INT*, array of face indices
R3INT*, array of vertex indices arranged in pairs
obj.DIVIDEFACESBYINDIC(p1, p2, p3);
Divides given faces between given vertices
R3SUBDIVM_CALCULATEFACECENTE
CALCULATEFACECENTE
R3SUBDIVM_CALCULATEFACECENTE
R3BOOL, TRUE if successfull
R3VECTOR, the face centers are returned here
R3INT, space
R3VECTOR, the face normals are returned here
rc = obj.CALCULATEFACECENTE(p1, p2, p3);
Calculates face centers and normals.
R3SUBDIVM_DUPLICATE
DUPLICATE
R3SUBDIVM_DUPLICATE
obj.DUPLICATE();
Copies the the faces (does not connect the edges).
R3SUBDIVM_COPYSELECTED
COPYSELECTED
R3SUBDIVM_COPYSELECTED
R3OBJ*, sds object containing the selected parts
rc = obj.COPYSELECTED();
Copies the selected parts of the SDS object into a new object.
R3SUBDIVM_SETFACE
SETFACE
R3SUBDIVM_SETFACE
R3BOOL, true if succeeded
R3INT, index of the face to be defined
R3INT, number of vertices
R3INT*, array of vertex indices
rc = obj.SETFACE(p1, p2, p3);
Set vertex count and vertex indices for the given face.
R3SUBDIVM_FILLHOLES
FILLHOLES
R3SUBDIVM_FILLHOLES
R3BOOL, true if succeeded
R3BOOL, selected, if set only holes in selected regions will be filled
R3INT, maximum number of edges in a hole to fill
rc = obj.FILLHOLES(p1, p3);
Fill holes
R3SUBDIVM_UNWRAPUV
UNWRAPUV
R3SUBDIVM_UNWRAPUV
R3INT, subdivision iterations
obj.UNWRAPUV(p3);
Unwraps the current UV channel using the subdivision algorithm to the UV values.
R3SUBDIVM_DEFAULTUV
DEFAULTUV
R3SUBDIVM_DEFAULTUV
obj.DEFAULTUV();
Calculates default values for the current UV channel using sphere projection.
R3SUBDIVM_DELETEORPHANVERTIC
DELETEORPHANVERTIC
R3SUBDIVM_DELETEORPHANVERTIC
obj.DELETEORPHANVERTIC();
Deletes selected vertices that are not connected to any face.
R3SUBDIVM_SETPOINTLOCAL
SETPOINTLOCAL
R3SUBDIVM_SETPOINTLOCAL
R3BOOL, true if succeeded
R3INT, index
R3VECTOR, point
rc = obj.SETPOINTLOCAL(p1, p3);
Low level set point method. The point is given in object space. * The method doesn't generate R3MM_CHANGED nor call R3TTM_CHANGENIMATEDTAG.
R3SUBDIVM_GETPOINTLOCAL
GETPOINTLOCAL
R3SUBDIVM_GETPOINTLOCAL
R3BOOL, true if succeeded
R3INT, index
R3VECTOR, point
rc = obj.GETPOINTLOCAL(p1, p3);
Get point in object space
R3SUBDIVM_ALLOCFACEID
ALLOCFACEID
R3SUBDIVM_ALLOCFACEID
R3INT, face id
rc = obj.ALLOCFACEID();
Returns next unique face id
R3SUBDIVM_REGISTERNOTIFY
REGISTERNOTIFY
R3SUBDIVM_REGISTERNOTIFY
R3INT, event flags, see registernotify_flags below
R3INT, method to notify with
obj.REGISTERNOTIFY(0, p2, p3);
Registers an object that will be notified when certain events occur
R3SUBDIVM_UNREGISTERNOTIFY
UNREGISTERNOTIFY
R3SUBDIVM_UNREGISTERNOTIFY
obj.UNREGISTERNOTIFY();
Unregisters a notify object
R3SUBDIVM_UNWRAPGEOMETRY
UNWRAPGEOMETRY
R3SUBDIVM_UNWRAPGEOMETRY
R3INT, subdivision iterations
obj.UNWRAPGEOMETRY(p3);
Unwraps the geometry using the subdivision algorithm.
R3SUBDIVM_DUPLICATEANDMIRROR
DUPLICATEANDMIRROR
R3SUBDIVM_DUPLICATEANDMIRROR
obj.DUPLICATEANDMIRROR();
Apply duplicate and mirror
R3SUBDIVM_GETFACECENTERANDNO
GETFACECENTERANDNO
R3SUBDIVM_GETFACECENTERANDNO
R3INT, face index
R3VECTOR, face center
R3VECTOR, face normal
obj.GETFACECENTERANDNO(p1, p2, p3);
Get face center and normal in object space.
R3SUBDIVM_AUTOINITIALIZEFACE
AUTOINITIALIZEFACE
R3SUBDIVM_AUTOINITIALIZEFACE
char*, face material name
obj.AUTOINITIALIZEFACE(p3);
R3SUBDIVM_RENAMEFACEMATERIAL
RENAMEFACEMATERIAL
R3SUBDIVM_RENAMEFACEMATERIAL
char*, old face material name
char*, new face material name
obj.RENAMEFACEMATERIAL(p1, p3);
R3SUBDIVM_GETMAXEDGESPERVERT
GETMAXEDGESPERVERT
R3SUBDIVM_GETMAXEDGESPERVERT
R3INT, max connecting edge count
rc = obj.GETMAXEDGESPERVERT();
return the maximum number of edges connecting to a vertex.
R3SUBDIVM_FACESTOTRIANGLESSM
FACESTOTRIANGLESSM
R3SUBDIVM_FACESTOTRIANGLESSM
R3BOOL, TRUE if successfull
R3BOOL, if TRUE excludes quad faces
R3BOOL, if TRUE processes all faces (not only selected) except quads if p1 is TRUE
rc = obj.FACESTOTRIANGLESSM(p1, p3);
Divides faces to triangles using triangulation algorithm.
R3SUBDIVM_WELD
WELD
R3SUBDIVM_WELD
R3BOOL, TRUE if successfull
rc = obj.WELD();
Welds two (selected) edge loops together by adding new faces into the gap
R3SUBDIVM_GETFACE
GETFACE
R3SUBDIVM_GETFACE
R3INT, number of vertices in the face or NULL if the face was not found
R3INT, index of the face
R3INT*, memory buffer for the faces indices to be fetched. Use R3SUBDIVM_GETVERTEXCOUNTOFFACE * method to fetch the size for the buffer.
rc = obj.GETFACE(p1, p3);
Fetch face indices of given face.
R3SUBDIVM_FLATTEN
FLATTEN
R3SUBDIVM_FLATTEN
R3BOOL, TRUE if successfull
rc = obj.FLATTEN();
Flattens selected regions.
R3SUBDIVM_AUTOCREASES
AUTOCREASES
R3SUBDIVM_AUTOCREASES
R3BOOL, TRUE if successfull
int, flagbit1=1 -> set edge creases, flagbit2=2 -> set point creases. E.g. 3 = set both crease types.
R3FLOAT, angle in radians
rc = obj.AUTOCREASES(p1, p3);
Sets point/edge creates by a threshold angle. Does not change already set creases. In edit mode, obeys selection areas.
R3SUBDIVM_GETFACEINDEX
GETFACEINDEX
R3SUBDIVM_GETFACEINDEX
R3INT, vertex index, or -1 if given face point was not found.
R3INT, face index
R3INT, face point
rc = obj.GETFACEINDEX(p1, p3);
Fetch the vertex index of give face point.
PointCount
PointCount
R3SUBDIVA_PointCount
Integer
R3INT
number of vertices
jsobj.SetPointCount(value);
value = jsobj.GetPointCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_PointCount, &value, R3TAG_END);
Points
Points
R3SUBDIVA_Points
array of vertices
jsobj.SetPoints(value);
value = jsobj.GetPoints();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_Points, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_Points, &value, R3TAG_END);
FaceCount
FaceCount
R3SUBDIVA_FaceCount
Integer
R3INT
number of faces
jsobj.SetFaceCount(value);
value = jsobj.GetFaceCount();
R3INT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_FaceCount, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_FaceCount, &value, R3TAG_END);
Type
Type
R3SUBDIVA_Type
Integer
R3INT
smooth, polygonal, etc.
jsobj.SetType(value);
value = jsobj.GetType();
R3INT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_Type, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_Type, &value, R3TAG_END);
SelectResolution
SelectResolution
R3SUBDIVA_SelectResolution
Integer
R3INT
selection resolution, R3SUBDIVR_POINT, R3SUBDIVR_EDGE or R3SUBDIVR_FACE
jsobj.SetSelectResolution(value);
value = jsobj.GetSelectResolution();
R3INT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_SelectResolution, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_SelectResolution, &value, R3TAG_END);
SelectedFaces
SelectedFaces
R3SUBDIVA_SelectedFaces
String
R3UBYTE*
array of flags showing selected faces
value = jsobj.GetSelectedFaces();
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_SelectedFaces, &value, R3TAG_END);
SelectedEdges
SelectedEdges
R3SUBDIVA_SelectedEdges
String
R3UBYTE*
array of flags showing selected edges
value = jsobj.GetSelectedEdges();
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_SelectedEdges, &value, R3TAG_END);
SelectedVertices
SelectedVertices
R3SUBDIVA_SelectedVertices
String
R3UBYTE*
array of flags showing selected vertices
value = jsobj.GetSelectedVertices();
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_SelectedVertices, &value, R3TAG_END);
EdgeCount
EdgeCount
R3SUBDIVA_EdgeCount
Integer
R3INT
number of edges
value = jsobj.GetEdgeCount();
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_EdgeCount, &value, R3TAG_END);
UVCoords
UVCoords
R3SUBDIVA_UVCoords
array of uvw-coordinates for the vertices
jsobj.SetUVCoords(value);
value = jsobj.GetUVCoords();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_UVCoords, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_UVCoords, &value, R3TAG_END);
Quality
Quality
R3SUBDIVA_Quality
Integer
R3INT
rendering quality 1 ... 5
jsobj.SetQuality(value);
value = jsobj.GetQuality();
R3INT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_Quality, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_Quality, &value, R3TAG_END);
HiddenFaces
HiddenFaces
R3SUBDIVA_HiddenFaces
String
R3UBYTE*
array of flags showing hidden faces
jsobj.SetHiddenFaces(value);
value = jsobj.GetHiddenFaces();
R3UBYTE* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_HiddenFaces, value, R3TAG_END);
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_HiddenFaces, &value, R3TAG_END);
CurrentUVName
CurrentUVName
R3SUBDIVA_CurrentUVName
String
char*
name of the current uv channel
jsobj.SetCurrentUVName(value);
value = jsobj.GetCurrentUVName();
char* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_CurrentUVName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3SUBDIVA_CurrentUVName, &value, R3TAG_END);
WrapU
WrapU
R3SUBDIVA_WrapU
Boolean
R3BOOL
if set, u of current uv channel is modulo wrapped
jsobj.SetWrapU(value);
value = jsobj.GetWrapU();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_WrapU, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_WrapU, &value, R3TAG_END);
WrapV
WrapV
R3SUBDIVA_WrapV
Boolean
R3BOOL
if set, v of current uv channel is modulo wrapped
jsobj.SetWrapV(value);
value = jsobj.GetWrapV();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_WrapV, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_WrapV, &value, R3TAG_END);
HiddenVertices
HiddenVertices
R3SUBDIVA_HiddenVertices
String
R3UBYTE*
array of flags showing hidden vertices
value = jsobj.GetHiddenVertices();
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_HiddenVertices, &value, R3TAG_END);
SmoothVertices
SmoothVertices
R3SUBDIVA_SmoothVertices
String
R3UBYTE*
array of flags showing vertices with smooth shading
jsobj.SetSmoothVertices(value);
value = jsobj.GetSmoothVertices();
R3UBYTE* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_SmoothVertices, value, R3TAG_END);
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_SmoothVertices, &value, R3TAG_END);
Weights
Weights
R3SUBDIVA_Weights
Number
R3FLOAT*
pointwise weights
jsobj.SetWeights(value);
value = jsobj.GetWeights();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_Weights, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3SUBDIVA_Weights, &value, R3TAG_END);
FloatSize
FloatSize
R3SUBDIVA_FloatSize
Integer
R3INT
sizeof(R3FLOAT), read only
value = jsobj.GetFloatSize();
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_FloatSize, &value, R3TAG_END);
ColorSize
ColorSize
R3SUBDIVA_ColorSize
Integer
R3INT
3 * sizeof(R3FLOAT), read only
value = jsobj.GetColorSize();
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_ColorSize, &value, R3TAG_END);
PointwiseColor
PointwiseColor
R3SUBDIVA_PointwiseColor
pointwise colors
jsobj.SetPointwiseColor(value);
value = jsobj.GetPointwiseColor();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseColor, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseColor, &value, R3TAG_END);
PointwiseTranspare
PointwiseTranspare
R3SUBDIVA_PointwiseTranspare
pointwise transparency
jsobj.SetPointwiseTranspare(value);
value = jsobj.GetPointwiseTranspare();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseTransparency, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseTransparency, &value, R3TAG_END);
PointwiseReflectio
PointwiseReflectio
R3SUBDIVA_PointwiseReflectio
pointwise reflection
jsobj.SetPointwiseReflectio(value);
value = jsobj.GetPointwiseReflectio();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseReflection, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseReflection, &value, R3TAG_END);
PointwiseAlpha
PointwiseAlpha
R3SUBDIVA_PointwiseAlpha
Number
R3FLOAT*
pointwise alpha
jsobj.SetPointwiseAlpha(value);
value = jsobj.GetPointwiseAlpha();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseAlpha, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseAlpha, &value, R3TAG_END);
PointwiseFade
PointwiseFade
R3SUBDIVA_PointwiseFade
Number
R3FLOAT*
pointwise fade
jsobj.SetPointwiseFade(value);
value = jsobj.GetPointwiseFade();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseFade, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseFade, &value, R3TAG_END);
PointwiseIlluminat
PointwiseIlluminat
R3SUBDIVA_PointwiseIlluminat
pointwise illumination
jsobj.SetPointwiseIlluminat(value);
value = jsobj.GetPointwiseIlluminat();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseIllumination, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseIllumination, &value, R3TAG_END);
PointwiseMatSpaceC
PointwiseMatSpaceC
R3SUBDIVA_PointwiseMatSpaceC
'R3SUBDIVA_PointwiseMatSpaceCoords' not documented
jsobj.SetPointwiseMatSpaceC(value);
value = jsobj.GetPointwiseMatSpaceC();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseMatSpaceCoords, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseMatSpaceCoords, &value, R3TAG_END);
PointwiseOpticalTh
PointwiseOpticalTh
R3SUBDIVA_PointwiseOpticalTh
Number
R3FLOAT*
pointwise optical thickness
jsobj.SetPointwiseOpticalTh(value);
value = jsobj.GetPointwiseOpticalTh();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseOpticalThickness, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseOpticalThickness, &value, R3TAG_END);
PointwiseScope
PointwiseScope
R3SUBDIVA_PointwiseScope
Number
R3FLOAT*
pointwise scope
jsobj.SetPointwiseScope(value);
value = jsobj.GetPointwiseScope();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseScope, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseScope, &value, R3TAG_END);
PointwiseVolumeSam
PointwiseVolumeSam
R3SUBDIVA_PointwiseVolumeSam
Number
R3FLOAT*
pointwise volume sampling level
jsobj.SetPointwiseVolumeSam(value);
value = jsobj.GetPointwiseVolumeSam();
R3FLOAT* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseVolumeSampling, value, R3TAG_END);
R3FLOAT* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseVolumeSampling, &value, R3TAG_END);
InterpolateBoundar
InterpolateBoundar
R3SUBDIVA_InterpolateBoundar
Boolean
R3BOOL
if true then open edges interpolated as creases
jsobj.SetInterpolateBoundar(value);
value = jsobj.GetInterpolateBoundar();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_InterpolateBoundary, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_InterpolateBoundary, &value, R3TAG_END);
VertexSharpness
VertexSharpness
R3SUBDIVA_VertexSharpness
String
R3UBYTE*
array of vertex sharpness values (0...2)
value = jsobj.GetVertexSharpness();
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_VertexSharpness, &value, R3TAG_END);
HasRoundings
HasRoundings
R3SUBDIVA_HasRoundings
Boolean
R3BOOL
true if any edge has a rounding
value = jsobj.GetHasRoundings();
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_HasRoundings, &value, R3TAG_END);
CurrentFaceMateria
CurrentFaceMateria
R3SUBDIVA_CurrentFaceMateria
String
char*
name of the current face material channel
jsobj.SetCurrentFaceMateria(value);
value = jsobj.GetCurrentFaceMateria();
char* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_CurrentFaceMaterialName, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3SUBDIVA_CurrentFaceMaterialName, &value, R3TAG_END);
ChannelList
ChannelList
R3SUBDIVA_ChannelList
r3List
R3LIST*
vertex specific channels
value = jsobj.GetChannelList();
R3LIST* value;
R3GetAttrs(r3obj, R3SUBDIVA_ChannelList, &value, R3TAG_END);
PointwiseUVCoords
PointwiseUVCoords
R3SUBDIVA_PointwiseUVCoords
'R3SUBDIVA_PointwiseUVCoords' not documented
jsobj.SetPointwiseUVCoords(value);
value = jsobj.GetPointwiseUVCoords();
R3VECTOR* value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PointwiseUVCoords, value, R3TAG_END);
R3VECTOR* value;
R3GetAttrs(r3obj, R3SUBDIVA_PointwiseUVCoords, &value, R3TAG_END);
SelectedFaceVertic
SelectedFaceVertic
R3SUBDIVA_SelectedFaceVertic
String
R3UBYTE*
array of flags showing selected vertices in faces
value = jsobj.GetSelectedFaceVertic();
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_SelectedFaceVertices, &value, R3TAG_END);
SelectFaceVertices
SelectFaceVertices
R3SUBDIVA_SelectFaceVertices
Boolean
R3BOOL
jsobj.SetSelectFaceVertices(value);
value = jsobj.GetSelectFaceVertices();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_SelectFaceVertices, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_SelectFaceVertices, &value, R3TAG_END);
VertexUVsInFaceMod
VertexUVsInFaceMod
R3SUBDIVA_VertexUVsInFaceMod
Boolean
R3BOOL
jsobj.SetVertexUVsInFaceMod(value);
value = jsobj.GetVertexUVsInFaceMod();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_VertexUVsInFaceMode, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_VertexUVsInFaceMode, &value, R3TAG_END);
HiddenUVFaces
HiddenUVFaces
R3SUBDIVA_HiddenUVFaces
String
R3UBYTE*
array of flags showing faces hidden in UV editors
value = jsobj.GetHiddenUVFaces();
R3UBYTE* value;
R3GetAttrs(r3obj, R3SUBDIVA_HiddenUVFaces, &value, R3TAG_END);
PhongShade
PhongShade
R3SUBDIVA_PhongShade
Boolean
R3BOOL
operational only for R3SUBDIVTYPE_POLYGONAL
jsobj.SetPhongShade(value);
value = jsobj.GetPhongShade();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_PhongShade, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_PhongShade, &value, R3TAG_END);
MaxDisplacement
MaxDisplacement
R3SUBDIVA_MaxDisplacement
Number
R3FLOAT
maximal render time displacement
jsobj.SetMaxDisplacement(value);
value = jsobj.GetMaxDisplacement();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_MaxDisplacement, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3SUBDIVA_MaxDisplacement, &value, R3TAG_END);
NextFaceId
NextFaceId
R3SUBDIVA_NextFaceId
Integer
R3INT
next free unique face id
jsobj.SetNextFaceId(value);
value = jsobj.GetNextFaceId();
R3INT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_NextFaceId, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_NextFaceId, &value, R3TAG_END);
MinimizedOutlines
MinimizedOutlines
R3SUBDIVA_MinimizedOutlines
Boolean
R3BOOL
outline rendering matches ctrl poly density
jsobj.SetMinimizedOutlines(value);
value = jsobj.GetMinimizedOutlines();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_MinimizedOutlines, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_MinimizedOutlines, &value, R3TAG_END);
MaterialRendering
MaterialRendering
R3SUBDIVA_MaterialRendering
Integer
R3INT
real time mat. evaluation. See values below
jsobj.SetMaterialRendering(value);
value = jsobj.GetMaterialRendering();
R3INT value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_MaterialRendering, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3SUBDIVA_MaterialRendering, &value, R3TAG_END);
ForceTessellation
ForceTessellation
R3SUBDIVA_ForceTessellation
Boolean
R3BOOL
force tesselation
jsobj.SetForceTessellation(value);
value = jsobj.GetForceTessellation();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3SUBDIVA_ForceTessellation, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3SUBDIVA_ForceTessellation, &value, R3TAG_END);
values for R3SUBDIVA_MaterialRendering
vertex count
unique among faces
Handle types
facecount*3 uv pairs
for temp. use, don't save
for temp. use, don't save
for temp. use, don't save
wrap boundaries
n.name contains the material name
flags in R3FACEMATERIAL 'flags'
registernotify_flags
Tags