Syntax

  (f=float, i=integer or pointer(32bit))
categ name description
Methoderr PathToAnimation err PathToAnimation( path* pPath, sobj* pSobj )

PURPOSE Replace animation data of Sobj with the ones attached to the Path.
PARAMETERS
pPath path*: a pointer to Path
pSobj sobj*: a pointer to Sobj

RETURNS err
MethodGetAudioaudio* GetAudio( sobj* obj );

(no description)
MethodGNodeGetAxesOrientationAxes3f_p GNodeGetAxesOrientation( gnode* pGNode, Axes3f_p axes )

PURPOSE Get the GNode's model axes orientation, as a triple of normalized orthogonal vectors pointing in the directions of GNode's X, Y and Z. Setting the axes orientation and position is only allowed for MNODEs.
PARAMETERS
pGNode gnode*:
axes Axes3f_p:

RETURNS Axes3f_p: 0 if not GNODE, else axes.
MethodJointGetContractorbone* JointGetContractor( joint* pJoint )

PURPOSE Get a pointer to a bone whose muscle is contracted by bending of specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS bone*: a pointer to tendon's contractor
MethodActivateLayerExbool ActivateLayerEx( short index )

PURPOSE Function activates the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodAddNewLayerExbool AddNewLayerEx()

PURPOSE Function manages the creation of a new layer.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodAnimGetAutoRecordbool AnimGetAutoRecord()

PURPOSE Get the status of the auto-record button.
PARAMETERS
None

RETURNS bool - e_tsxTRUE if the autorecord is ON, e_tsxFALSE otherwise
MethodAreInactiveLayersHiddenbool AreInactiveLayersHidden()

PURPOSE Function returns the hiding state of all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case all inactive layers are hidden, e_tsxFALSE otherwise.
MethodAreInactiveLayersLockedbool AreInactiveLayersLocked()

PURPOSE Function returns the locking state of all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case all inactive layers are locked, e_tsxFALSE otherwise.
MethodAreInactiveLayersUnlockedbool AreInactiveLayersUnlocked()

PURPOSE Function returns the unlocking state of all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case all inactive layers are unlocked, e_tsxFALSE otherwise.
MethodAreInactiveLayersVisiblebool AreInactiveLayersVisible()

PURPOSE Function returns the visibility state of all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case all inactive layers are visible, e_tsxFALSE otherwise.
MethodAreInactiveLayerWireColorsDisabledbool AreInactiveLayerWireColorsDisabled()

PURPOSE Function returns the usage state of all inactive layer wire colors.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case the usage of all inactive layer wire colors is disabled, e_tsxFALSE otherwise.
MethodArrayDisbandbool ArrayDisband( gnode* pObject, bool ask )

PURPOSE Check if it is an array and disband array- convert it to a GROUP Node.
PARAMETERS
pObject gnode*: Pointer to array
ask bool: Flag to ask user to confirm disband of array

RETURNS bool: Returns e_tsxTRUE if Node is not an array or it was successfully converted to a group Node.
MethodArrayObjectHiddenWidgetbool ArrayObjectHiddenWidget( gnode* pObject )

PURPOSE Checks if widget is hidden for given array
PARAMETERS
pObject gnode*: Tested node

RETURNS bool: Return e_tsxTRUE when widget is hidden
MethodAudioGetLoopBOOL AudioGetLoop( audio* pAudio );

(no description)
MethodAudioGetPlayBOOL AudioGetPlay( audio* pAudio );

(no description)
MethodAViewDrawLinelistbool AViewDrawLinelist( Txmx3f_p trans, Vec3f_p vects, long numVects, long *linelist, Rect_p rect )

PURPOSE Draw a wireframe linelist in the active view. Returns e_tsxTRUE if at least part of the line appears on the view's window.
PARAMETERS
Trans Txmx3f_p: transformation matrix that transforms points of the line in "Vects" into world coordinates
Vects Vec3f_p: points of the line
NumVects long: number of points in "Vects"
Linelist long*: the line (an array of indices to "Vects" )
Rect Rect_p: a pointer to the picking rectangle (passed to the eXtension as a parameter of the following callback function for an external type of object defined by the eXtension: tsxObjectRenderCallbackFP)

RETURNS bool: clipping indication
MethodAViewPickFacebool AViewPickFace( mnode* pMNode,short x,short y, polyh** ppPolyh, i* pFxIndex,f* pFxDist )

PURPOSE Pick the nearest one of MNode's faces under the mouse, if any. If pMNode is 0 (null) then all objects in the scene are tested. Return e_tsxTRUE on successful pick.
PARAMETERS
pMNode mnode*: Must be a Group or Polyhedron. 0 = all objs in scene.
x short: Screen coordinates of mouse
y short:
ppPolyh polyh**: OUT: Polyhderon whose face was picked
pFxIndex i*: OUT: Index of picked face in pPolyh
pFxDist f*: OUT: Distance to picked face

RETURNS bool TRUE on successful pick
MethodAViewPickRootbool AViewPickRoot( short x,short y,sobj** ppSobj )

PURPOSE Pick the Root object in scene containing the object under the mouse. A Root object has the scene as its parent.Return e_tsxTRUE on successful pick.
PARAMETERS
x short: Screen coordinates of mouse
y short:
ppSobj sobj**: OUT: Pointer to the root object containing the picked object.

RETURNS bool TRUE on successfull pick
MethodAViewPickVertexbool AViewPickVertex( mnode* pMNode,short x,short y,polyh** ppPolyh,i* pVxIndex )

PURPOSE Pick the nearest one of MNode's vertices under the mouse, if any. If pMNode is 0 (null) then all objects in scene are tested. Return e_tsxTRUE on successful pick.
PARAMETERS
pMNode mnode*: Must be a Group or Polyhedron. 0 = all objects in the scene.
x short: Screen coordinates of mouse
y short:
ppPolyh polyh**: OUT: Polyhedron whose vertex was picked
pVxIndex i*: OUT: Index of picked vertex in pPolyh

RETURNS bool: TRUE on successful pick
MethodAViewSetRenderModebool AViewSetRenderMode( e_tsxRM_xxxx mode )

PURPOSE Set the rendering mode of the active view.
PARAMETERS
mode e_tsxRM_xxxx: rendermode to set

RETURNS bool: TRUE if there is a change in mode, FALSE otherwise
MethodAViewSetViewModebool AViewSetViewMode( e_tsxVM_xxxx newmode )

PURPOSE Change the view mode for the active view. If newmode is e_tsxVM_CAMERA, it is set to look through the currently selected object, if any. Useful with Cameras and Lights. Return e_tsxTRUE if there is a change in mode.
PARAMETERS
newmode e_tsxVM_xxxx:

RETURNS bool: TRUE if there is a change in mode
MethodBBoxIntersectionbool BBoxIntersection( BBox3f_p pBBintx,BBox3f_p pBBox1,BBox3f_p pBBox2 )

PURPOSE Returns e_tsxTRUE if BBox1 and BBox2 intersect. If they do intersect, and pBBintx is non-zero, then BBintx gets their intersection.
PARAMETERS
pBBintx BBox3f_p: the resulting intersection
pBBox1 BBox3f_p: a bounding box
pBBox2 BBox3f_p: a bounding box

RETURNS bool
MethodCheckAbortbool CheckAbort()

PURPOSE Check for the interrupt request
PARAMETERS none

RETURNS e_tsxTRUE if interrupt request appeared, otherwise e_tsxFALSE
MethodCollisionCheckTwoObjBOOL CollisionCheckTwoObj( sobj* obj1, sobj* obj2, short method, short what_collide, struct ColRpt_p **CollReport, long *ReportCount )

PURPOSE Function check whether a two object collide
PARAMETERS
obj1 sobj*: pointer to the first tested object (obj1 can be a sub-object of the obj2).
obj2 sobj*: pointer to the second tested object (obj2 can not be a sub-object of the obj1).
method short: can be one of the next collision detection method:
tsxCOLLMETHOD_VOXEL - check collision only by objects voxels
tsxCOLLMETHOD_VERTICES - check collision by objects vertices
tsxCOLLMETHOD_FACE - check collision by objects faces
If the methods are used with the tsxCOLLMETHOD_FINFALLCOLLISIONS flag, then the function will search all collisions. If it is not set, then only the first collision will be found.
what_collide short: this flag tells the function what objects will collide:
tsxCOLLIDE_ALLOBJECTS - function will test all sub-objects of the first and the second tested object
tsxCOLLIDE_SELOBJECTS - function will test all sub-objects of the first and the second tested object that have set the collision level (by the ` tsxSetObjCollisionLevel' function)

Only one of the `tsxCOLLIDE_SELOBJECTS' and ` tsxCOLLIDE_SELOBJECTS' can be set.

tsxCOLLIDE_WITHGROUND - if this flag is then the collision with ground is enabled
tsxCOLLIDE_PEERS - if this flag is set then the collision between objects is enabled
CollReport ColRpt_p **: collisions report array that is generated if a collision between obj1 and obj2 is detected. This report contains detailed information about the collision (see definition of the `ColRpt_p' structure). If the report is not needed the parameter can be NULL.
ReportCount long *: pointer to a `long` variable that will be filled by a number of the collision reports. This parameter can be NULL if the collision report is not needed.

RETURNS TRUE if collision, FALSE otherwise
MethodContractorGetBidirectionalBOOL ContractorGetBidirectional( joint* pJoint )

PURPOSE Test whether the contraction is bidirectional or not.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS BOOL: TRUE for bidirectional contraction ( Flexor/Extensor),
MethodCopyLayerExbool CopyLayerEx( short targetIndex, short sourceIndex )

PURPOSE Function copies the content of the layer with given source index to the layer with given target index.
PARAMETERS
targetIndex short: index of the target layer
sourceIndex short: index of the source layer

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodCopyLayerToActiveExbool CopyLayerToActiveEx( short index )

PURPOSE Function copies the content of the layer with given index to the active one.
PARAMETERS
index short: index of the source layer

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodDeleteLayerExbool DeleteLayerEx( short index )

PURPOSE Function deletes the layer with given index.
PARAMETERS
index short: index of the layer to delete

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodDisableInactiveLayerWireColorsUsingbool DisableInactiveLayerWireColorsUsing()

PURPOSE Function resets the flag of the wire color's using for all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodDisableInactiveLayerWireColorsUsingExbool DisableInactiveLayerWireColorsUsingEx()

PURPOSE Function resets the flag of the wire color's using for all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodDisableLayerLockSwitchUsingbool DisableLayerLockSwitchUsing( short index )

PURPOSE Function resets the flag of the locked-visible direct switch's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodDisableLayerWireColorUsingbool DisableLayerWireColorUsing( short index )

PURPOSE Function resets the flag of the wire color's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodDisableLayerWireColorUsingExbool DisableLayerWireColorUsingEx( short index )

PURPOSE Function resets the flag of the wire color's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodEnableInactiveLayerWireColorsUsingbool EnableInactiveLayerWireColorsUsing()

PURPOSE Function sets the flag of the wire color's using for all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodEnableInactiveLayerWireColorsUsingExbool EnableInactiveLayerWireColorsUsingEx()

PURPOSE Function sets the flag of the wire color's using for all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodEnableLayerLockSwitchUsingbool EnableLayerLockSwitchUsing( short index )

PURPOSE Function sets the flag of the locked-visible direct switch's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodEnableLayerWireColorUsingbool EnableLayerWireColorUsing( short index )

PURPOSE Function sets the flag of the wire color's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodEnableLayerWireColorUsingExbool EnableLayerWireColorUsingEx( short index )

PURPOSE Function sets the flag of the wire color's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodExistPhysicsAdhesionLinksbool ExistPhysicsAdhesionLinks( sobj *pObj1, sobj *pObj2 )

PURPOSE Check if an Adhesion link exist between gived two objects. If one of the parameters is NULL, then the second object is asked for any Adhesion link.
PARAMETERS
pObj1 sobj*: Pointer to the first object
pObj2 sobj*: Pointer to the second object

RETURNS bool: e_tsxTRUE if an Adhesion link exist
MethodFaceGetBackCullbool FaceGetBackCull( Face_p pFace );

(no description)
MethodGetPhysForceAccbool GetPhysForceAcc( sobj *pObj, Vec3f_p position, Vec3f_p wind, f *grav, f *atmosphere )

PURPOSE Gets the global forces (wind, atmosphere, gravitation) in one point of scene
PARAMETERS
pObj sobj*: Pointer to the object
position Vec3f_p: position of the point in space
wind Vec3f_p: wind
grav f*: gravitation
atmosphere f*: atmosphere

RETURNS bool: FALSE if no simulation is setup, TRUE otherwise
MethodGetTextureFromLightingbool GetTextureFromLighting();

(no description)
MethodGetTextureOverlayPropertybool GetTextureOverlayProperty( void )

PURPOSE Return e_tsxTRUE if overlay is set for active texture map shader
PARAMETERS

RETURNS bool: e_tsxTRUE if overlay is ON, e_tsxFALSE otherwise
MethodGNodeGetLookAheadbool GNodeGetLookAhead( gnode* pGNode, bool* pBanking, f* pTension, f* pBias, f* pBank )

PURPOSE Test whether a specific object looks ahead along its animation path
PARAMETERS
pGNode gnode*: a pointer to a GNODE
pBanking bool*: returns e_tsxTRUE if banking on
pTension f*: spline parameters for look ahead
pBias f*: spline parameters for look ahead
pBank f*: spline parameters for look ahead

RETURNS bool: e_tsxTRUE if the object is looking ahead, e_tsxFALSE otherwise
MethodGNodeGetLookAtbool GNodeGetLookAt( gnode* pGNode, gnode** ppLookAt )

PURPOSE Get the look-at target object for a specified object
PARAMETERS
pGNode gnode*: a pointer to a GNODE
ppLookAt gnode**: a pointer to a look-at target

RETURNS bool: e_tsxTRUE if the object is constrained by a look-at target, e_tsxFALSE otherwise
MethodHasScriptBOOL HasScript( sobj* obj );

(no description)
MethodHideInactiveLayersExbool HideInactiveLayersEx()

PURPOSE Function hides all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodHideLayerExbool HideLayerEx( short index )

PURPOSE Function hides the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodIsGNodebool IsGNode( sobj* pSobj )

PURPOSE Return e_tsxTRUE if pSobj is a GNode
PARAMETERS
pSobj sobj*: a pointer to a Sobj

RETURNS bool
MethodIsGNodeInScenebool IsGNodeInScene( gnode* pGNode )

PURPOSE Return e_tsxTRUE if pGNode is a member of the Scene at some level.
PARAMETERS
pGNode gnode*: a pointer to a GNode

RETURNS bool
MethodIsGNodeSubobjbool IsGNodeSubobj( gnode* pGNode,gnode* pCheckGNode )

PURPOSE Return e_tsxTRUE if pCheckGNode is a node in the tree rooted at pGNode.
PARAMETERS
pGNode gnode*: A root GNode
pCheckGNode gnode*: The node checked

RETURNS bool
MethodIsLayerLockedbool IsLayerLocked( short index )

PURPOSE Function returns the locking state of the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case the layer with given index is locked, e_tsxFALSE otherwise.
MethodIsLayerValidbool IsLayerValid( short index )

PURPOSE Function returns the validity state of the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case the layer with given index is valid, e_tsxFALSE otherwise.
MethodIsLayerVisiblebool IsLayerVisible( short index )

PURPOSE Function returns the visibility state of the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case the layer with given index is visible, e_tsxFALSE otherwise.
MethodIsMNodebool IsMNode( sobj* pSobj )

PURPOSE Return e_tsxTRUE if pSobj is a MNode
PARAMETERS
pSobj sobj*: a pointer to a SObj

RETURNS bool
MethodIsSelectablebool IsSelectable( sobj* pSobj )

PURPOSE Return e_tsxTRUE if pSobj is of supported selectable type (see doc above).
PARAMETERS
pSobj sobj*: a pointer to a sobj

RETURNS bool
MethodIsSelectedbool IsSelected( sobj* pSobj )

PURPOSE Return e_tsxTRUE if pSobj is part of a selected Object/Group
PARAMETERS
pSobj sobj*: a pointer to a sobj

RETURNS bool
MethodIsSobjbool IsSobj( sobj* pSobj )

PURPOSE e_tsxTRUE if Node is a Sobj
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS bool
MethodIsSubDivbool IsSubDiv( mnode* pMNode )

PURPOSE Test whether the object is subdivision surface.
PARAMETERS
pMNode mnode*: Pointer to the object

RETURNS bool:
MethodIsUnusedLayerNumberbool IsUnusedLayerNumber( short number )

PURPOSE Function figures out whether given layer number is already used or not.
PARAMETERS
number short: number associated with the layer

RETURNS bool: e_tsxTRUE if given layer number is not used, e_tsxFALSE otherwise.
MethodJDeform_toolIsActivebool JDeform_toolIsActive( void );

(no description)
MethodLightAreaGetShowGeometrybool LightAreaGetShowGeometry( light* pLight )

PURPOSE Show geometry of the area light?
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool: e_tsxTRUE if the geometry of the area light is to be rendered, e_tsxFALSE otherwise
MethodLightAreaGetUseColorShaderbool LightAreaGetUseColorShader( light* pLight )

PURPOSE Use color shader for area light?
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool: e_tsxTRUE if the color shader associated with the area light is taken into account during rendering, e_tsxFALSE otherwise
MethodLightGetIBLLightsBelowGroundbool LightGetIBLLightsBelowGround( light* pLight )

PURPOSE Returns whether or not lights are created below the ground plane.
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool: e_tsxTRUE if the lights are created below the ground plane, e_tsxFALSE otherwise
MethodLightGetIBLShowEnvironmentbool LightGetIBLShowEnvironment( light* pLight )

PURPOSE Returns whether or not the environment sphere is rendered.
PARAMETERS
pLight light*: a pointer to the light

RETURNS i: e_tsxTRUE if the environment sphere is to be rendered, e_tsxFALSE otherwise
MethodLightIsPhysicallyBasedbool LightIsPhysicallyBased( light* pLight )

PURPOSE To test whether a particular light uses physically based intensity units or not.
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool: e_tsxTRUE if the light uses physically based intensity units, e_tsxFALSE otherwise
MethodLightIsShadImgDepbool LightIsShadImgDep( light* pLight )

PURPOSE Return True if shadow-map is image size dependent.
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool
MethodLightIsVisiblebool LightIsVisible( light* pLight )

PURPOSE Is light visible in the scene?
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool: e_tsxTRUE - visible, e_tsxFALSE - hidden
MethodLightSetShadImgDepbool LightSetShadImgDep( light* pLight,bool bDependent )

PURPOSE (Un)Set shadow-map's image size dependence. Return the new value, False if not a light.
PARAMETERS
pLight light*: a pointer to the light
bDependent bool: True to make it dependent

RETURNS bool
MethodLightSetShadowTransparencybool LightSetShadowTransparency( light* pLight, e_tsxLST_xxxx newtrasp )

PURPOSE Set shadow transparency setting for a light.
PARAMETERS
pLight light*: a pointer to the light
newtransp e_tsxLST_xxxx: shadow transparency setting to set

RETURNS bool: e_tsxFALSE if not light, e_tsxTRUE otherwise
MethodLightSetShmapQualityCustombool LightSetShmapQualityCustom( light* pLight, short sh_quality );

(no description)
MethodLightSetShmapSharpnessCustombool LightSetShmapSharpnessCustom( light* pLight, f sharpness )

PURPOSE Set custom setting for shadow-map sharpness.
PARAMETERS
pLight light*: a pointer to the light
sharpness f: the new shadow map sharpness

RETURNS bool: e_tsxFALSE if not light, e_tsxTRUE otherwise
MethodLockInactiveLayersExbool LockInactiveLayersEx()

PURPOSE Function locks all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodLockLayerExbool LockLayerEx( short index )

PURPOSE Function locks the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodMaterialIsShaderBoxNullbool MaterialIsShaderBoxNull( mate* mat )

PURPOSE Determine if shaders information contained in the material is empty
PARAMETERS
mat mate*: a pointer to the material

RETURNS e_tsxTRUE if shaders information is empty, otherwise e_tsxFALSE
MethodMaterialIsShaderBoxValidbool MaterialIsShaderBoxValid( mate* mat )

PURPOSE Determine if shaders information contained in the material is valid (consistency test)
PARAMETERS
mat mate*: a pointer to the material

RETURNS e_tsxTRUE if shaders information is empty, otherwise e_tsxFALSE
MethodMaterialsAreEqualbool MaterialsAreEqual( mate* pMatrl1, mate* pMatrl2 )

PURPOSE Testing two materials for equivalence.
PARAMETERS
pMatrl1 mate*: first material
pMatrl2 mate*: second material

RETURNS bool
MethodMiscSceneEditorLoadbool MiscSceneEditorLoad();

(no description)
MethodMNodeAreAxesVisiblebool MNodeAreAxesVisible( mnode* pMNode )

PURPOSE Return e_tsxTRUE if MNode has its Axes displayed in tS.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS bool
MethodMNodeCastShadowsbool MNodeCastShadows( mnode* pMNode )

PURPOSE Return True if MNode casts shadows
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS bool
MethodMNodeIsDoubleSidedGeometrybool MNodeIsDoubleSidedGeometry( mnode* pMNode )

PURPOSE Return True if MNode is always rendered as double sided geometry
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS bool
MethodMNodeIsRadiosityExcludedbool MNodeIsRadiosityExcluded( mnode* pMNode )

PURPOSE Return True if MNode is excluded from the radiosity computations
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS bool
MethodMNodeIsVisiblebool MNodeIsVisible( mnode* pMNode )

PURPOSE Return e_tsxTRUE if pMNode is Visible in a rendered scene. A Group object may return TRUE even if it does not have any Polyhedra descendants.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS bool
MethodMNodeReceiveShadowsbool MNodeReceiveShadows( mnode* pMNode )

PURPOSE Return True if MNode receives shadows
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS bool
MethodMNodeUseAdaptiveRadiosityMeshingbool MNodeUseAdaptiveRadiosityMeshing( mnode* pMNode )

PURPOSE Return True if MNode uses adaptive meshing during the radiosity computations
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS bool
MethodMoveCurrobjToLayerExbool MoveCurrobjToLayerEx( short index )

PURPOSE Function moves the currently selected object to the layer with given index.
PARAMETERS
index short: layer index to move object to.

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodMoveLayerExbool MoveLayerEx( short targetIndex, short sourceIndex )

PURPOSE Function moves the content of the layer with given source index to the layer with given target index.
PARAMETERS
targetIndex short: index of the target layer
sourceIndex short: index of the source layer

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodMoveLayerToActiveExbool MoveLayerToActiveEx( short index )

PURPOSE Function moves the content of the layer with given index to the active one.
PARAMETERS
index short: index of the layer to move content from

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodMoveObjectToLayerExbool MoveObjectToLayerEx( short indext, sobj* pObject )

PURPOSE Function moves given object to the layer with given index.
PARAMETERS
indext short: layer index to copy object to.
pObject sobj*: object to move.

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodMtoolFreeHandSelectionBOOL MtoolFreeHandSelection( tsxMousetool *mt, short x, short y, short flags, short options )

PURPOSE Select vertices, edges, or faces of selected object using the free-hand tool..
PARAMETERS
mt tsxMousetool: mouse-tool
x short: mouse position on screen, viewport X coordinate.
y short: mouse position on screen, viewport Y coordinate.
flags short: mouse event flags
options short: selection options

RETURNS BOOL:
MethodMtoolLassoSelectionBOOL MtoolLassoSelection( tsxMousetool *mt, short x, short y, short flags, short options )

PURPOSE Select vertices, edges, or faces of selected object using the lasso tool..
PARAMETERS
mt tsxMousetool: mouse-tool
x short: mouse position on screen, viewport X coordinate.
y short: mouse position on screen, viewport Y coordinate.
flags short: mouse event flags
options short: selection options

RETURNS BOOL:
MethodMtoolRectangleSelectionBOOL MtoolRectangleSelection( tsxMousetool *mt, short x, short y, short flags, short options )

PURPOSE Select vertices, edges, or faces of selected object using the rectangle tool..
PARAMETERS
mt tsxMousetool: mouse-tool
x short: mouse position on screen, viewport X coordinate.
y short: mouse position on screen, viewport Y coordinate.
flags short: mouse event flags
options short: selection options

RETURNS BOOL:
MethodNCurveGetClosedbool NCurveGetClosed( ncurve *nc )

PURPOSE Test whether the curve is closed.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS bool: 'closed' flag
MethodNCurveGetEditModebool NCurveGetEditMode( ncurve *nc )

PURPOSE Test whether the curve is edit mode. Curve in edit mode has control points and handles highlighted.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS bool: 'edit mode' flag
MethodNCurveGetRationalbool NCurveGetRational( ncurve *nc )

PURPOSE Test whether the curve is rational
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS bool: 'rational' flag
MethodNCurveGetSnappedEndbool NCurveGetSnappedEnd( ncurve *nc );

(no description)
MethodNCurveGetSnappedStartbool NCurveGetSnappedStart( ncurve *nc );

(no description)
MethodNCurveGetTemporarybool NCurveGetTemporary( ncurve *nc )

PURPOSE Test whether the curve is temporary. Temporary curves are not saves to object/scene file.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS bool: 'temporary' flag
MethodNCurveGetTrimbool NCurveGetTrim( ncurve *nc );

(no description)
MethodNCurveGetUVTrimbool NCurveGetUVTrim( ncurve *nc )

PURPOSE Test whether the curve is UV trimming curve. Trimming curve defines a region on the patch that will be cut off. UV trimming curve is defined in parametric space of the patch (UV space). It is attached to its patch as a child object.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS bool: 'UV trim' flag
MethodNCurveIsPiecewiseBezierbool NCurveIsPiecewiseBezier( ncurve *nc )

PURPOSE Test if NURBS curve is piecewise cubic Bezier curve.
PARAMETERS
nc tsxNCurve*: pointer to the curve

RETURNS bool
MethodNPatchDetectTrimClosenessbool NPatchDetectTrimCloseness( npatch *np, ncurve *uv_nc )

PURPOSE Detect closeness (in 3D) of UV trimming curve. Trimming curve can be closed in 3D even if it's open in UV, if its parent patch is closed and the curve goes from edge to edge.
PARAMETERS
np npatch*: pointer to the patch
uv_nc ncurve*: pointer to trimming curve

RETURNS bool
MethodNPatchGetRationalbool NPatchGetRational( npatch *np )

PURPOSE Test whether the patch is rational
PARAMETERS
np npatch*: pointer to the patch

RETURNS bool: 'rational' flag
MethodNPatchGetUClosedbool NPatchGetUClosed( npatch *np )

PURPOSE Test whether the patch is closed in U direction.
PARAMETERS
np npatch*: pointer to the patch

RETURNS bool: 'U closed' flag
MethodNPatchGetVClosedbool NPatchGetVClosed( npatch *np );

(no description)
MethodNPatchIsPiecewiseBezierbool NPatchIsPiecewiseBezier( npatch *np )

PURPOSE Test if the patch is piecewise bicubic Bezier patch.
PARAMETERS
np npatch*: pointer to the patch

RETURNS bool
MethodNPatchIsPlainPatchbool NPatchIsPlainPatch( npatch *np )

PURPOSE Test if the patch is a plain patch. Plain patch has no construction history attached to it.
PARAMETERS
np npatch*: pointer to the patch

RETURNS bool
MethodNPatchRemoveKnotbool NPatchRemoveKnot( npatch *np, f u, i num, e_tsxNPATCH_KNOT_VECTOR_x dir, f tol )

PURPOSE Remove knot from the knot vector of the patch (one knot removal results in removal of one row of control points), but preserve the shape of the patch within given tolerance.
PARAMETERS
np npatch*: pointer to the patch
u f: knot to be removed (must be internal knot, not end knot)
num i: how many times to remove this (multiple) knot
tol f: how much the new patch is allowed to deviate from old patch (world distance) after one knot removal

RETURNS bool: e_tsxFALSE if knot removal is not possible (tolerance)
MethodObjectHasNotebool ObjectHasNote( gnode* pObject )

PURPOSE Check if Node has assigned Note.
PARAMETERS
pObject gnode*: Tested node

RETURNS bool: Return e_tsxTRUE when note is assigned
MethodObjectIsArrayItembool ObjectIsArrayItem( gnode* pObject )

PURPOSE Checks if given pObject is an item of array
PARAMETERS
pObject gnode*: Tested node

RETURNS bool: Return e_tsxTRUE when pObject is an item of an array
MethodObjectIsArrayRootbool ObjectIsArrayRoot( gnode* pObject )

PURPOSE Checks if given pObject is a root Node of array
PARAMETERS
pObject gnode*: Tested node

RETURNS bool: Return e_tsxTRUE when pObject is a root of an array
MethodObjectSavebool ObjectSave( sobj* pSobj )

PURPOSE Save object.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS bool: e_tsxFALSE if error
MethodObjectSaveAsbool ObjectSaveAs( sobj* pSobj , char *name )

PURPOSE Save object into a file with specified name.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: a name of the file
if name == NULL, save as dialog will appear

RETURNS bool: e_tsxFALSE if error
MethodParameterValueGetDatabool ParameterValueGetData( shparamval* value, void* dest )

PURPOSE Extract data from parameter value. This function is similar to tsxParameterValueGetTypedValue
PARAMETERS
value input abstract value
dest void pointer storing output data. It is castable to desired basic type

RETURNS Returns parameter value data. Returned void ponter should be casted to appropriate data type obtained by tsxParameterValueGetType
MethodParameterValueGetTypedValuebool ParameterValueGetTypedValue( shparamval* value, tsxSHPARAM_xxxx type, void* dest )

PURPOSE Extracts basic-type parameter value from shparamval
PARAMETERS
value input abstract value
type type of the extracted data
dest void pointer storing output data. It is castable to desired basic type

RETURNS e_tsxTRUE if successful, otherwise e_tsxFALSE
MethodParameterValueIsShaderInfobool ParameterValueIsShaderInfo( shparamval* value )

PURPOSE To determine if parameter value is linked to another shader (used for layered shaders)
PARAMETERS
value input abstract value

RETURNS e_tsxTRUE if 'value' points to another shader info, otherwise e_tsxFALSE
MethodPhysCollPointbool PhysCollPoint( Vec3f_p *point, sobj *cobj )

PURPOSE Is point in object
PARAMETERS
point Vec3f_p: point to test
cobj sobj*: object to test against

RETURNS bool: TRUE if point is inside of the object, FALSE otherwise
MethodPhysSimGetAccVectsRotbool PhysSimGetAccVectsRot( sobj *pObj )

PURPOSE Check whether specified phys sim object rotate its acceleration vectors.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE = rotate, e_tsx_FALSE = do not rotate
MethodPhysSimGetAdhesionUnLimbool PhysSimGetAdhesionUnLim( sobj *pObj )

PURPOSE Get adhesion state of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE = no limits, e_tsxFALSE = only first collision
MethodPhysSimGetBuoyancybool PhysSimGetBuoyancy( sobj *pObj )

PURPOSE Test whether the buoyancy is simulated for this object or not.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool:
MethodPhysSimGetChargeStatebool PhysSimGetChargeState( sobj *pObj )

PURPOSE Get charge state of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE = conductor, e_tsx_FALSE = insulator
MethodPhysSimGetCollidebool PhysSimGetCollide( sobj *pObj )

PURPOSE Test whether the object is allowed to bounce from the other objects during simulation or if it ignores them.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE if it can bounce
MethodPhysSimGetEnviroPropertiesbool PhysSimGetEnviroProperties( sobj *pObj, PhysEnvir *peProperties )

PURPOSE Get local physical environment properties of object (for more details please see tsxPhysSim.h).
PARAMETERS
pObj sobj*: Pointer to the object
peProperties PhysEnvir *: environment structure that will be filled

RETURNS bool: e_tsxTRUE if the propertiers are present
MethodPhysSimGetFxMovebool PhysSimGetFxMove( sobj *pObj )

PURPOSE Check whether specified phys sim object move its fixation points too (while editing).
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE = move, e_tsx_FALSE = do not move
MethodPhysSimGetInitSpeedsRotbool PhysSimGetInitSpeedsRot( sobj *pObj )

PURPOSE Check whether specified phys.sim. object rotate its initial speeds vectors (only while editing).
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE = rotate, e_tsx_FALSE = do not rotate
MethodPhysSimGetPerPrimAbilitybool PhysSimGetPerPrimAbility( sobj *pObj )

PURPOSE Call to detect the Per primitive simulation can be performed for the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE = Per primitive simulation can be performed
MethodPhysSimGetPerPrimStatusbool PhysSimGetPerPrimStatus( sobj *pObj )

PURPOSE Check whether specified phys sim object simulate physics for each its primitive.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: e_tsxTRUE = each primitive has its own attributes
MethodPhysSimHasPhysAttrbool PhysSimHasPhysAttr( sobj *pObj )

PURPOSE Check the presence of physical attributes for current objects
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS bool: TRUE if physical attributes are available, FALSE otherwise
MethodPhysSimSetSpeedbool PhysSimSetSpeed( sobj *pObj, Vec3f_p *speed, Vec3f_p *rotation )

PURPOSE Sets the momentary speeds of phys obj during simulation - valid only for TrueParticles
PARAMETERS
pObj sobj*: Pointer to the object
speed Vec3f_p: motion vector
rotation Vec3f_p: rotation vector

RETURNS bool: TRUE if successful, FALSE otherwise
MethodPointsGetAnimBOOL PointsGetAnim( void );

(no description)
MethodPolyhContainHoleBOOL PolyhContainHole( polyh* pPolyh );

(no description)
MethodPolyhGetMaterialbool PolyhGetMaterial( polyh* pPolyh,unsigned short materialIdx, mate* pMatrl )

PURPOSE Use this function to access the material assigned to a face. pMatrl is a pointer to a Material object created through one of the tsxMaterialCreate functions. The face's material, if any, is copied into this structure. Return e_tsxFALSE on failure or if face does not have a material.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
materialIdx unsigned short: From Face_p.materialIdx
pMatrl mate*: Material copied into this structure

RETURNS bool
MethodPolyhIsFacePhotoRenderedbool PolyhIsFacePhotoRendered( polyh* pPolyh, Face_p pFace )

PURPOSE Return False if the face is NOT supposed to be photorendered in the current rendering
PARAMETERS
pPolyh polyh*: a pointer to polyhedron
pFace Face_p: a pointer to face

RETURNS bool
MethodPolyhPaintFacebool PolyhPaintFace( polyh* pPolyh,i iFaceIndex, mate* pMatrl,bool bClearVxColors )

PURPOSE Paint face with a material. Returns e_tsxFALSE on failure or if object not changed. Note: A copy of pMatrl is created and assigned to the Polyhedron. Caller is responsible for managing pMatrl.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iFaceIndex i: Index of face to be painted in pPolyh
pMatrl mate*: New material to paint on face
bClearVxColors bool: e_tsxTRUE if Vertex colors should be cleared.

RETURNS bool
MethodPolyhPaintVertexbool PolyhPaintVertex( polyh* pPolyh,i iVxIndex, Color_p pColor )

PURPOSE Paint vertex with a color. Returns e_tsxFALSE on failure or if object not changed. Note: A copy of pColor is created and assigned to the Polyhedron. Caller is responsible for managing pColor.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iVxIndex i: Index of vertex to be painted in pPolyh
pColor Color_p: New color to paint on vertex

RETURNS bool
MethodRegisterEventCallbackbool RegisterEventCallback( e_tsxECT_xxxx type, tsxEventCallback* pfnCallback, bool bRegister )

PURPOSE Register callback for receiving event messages
PARAMETERS
type event type for the callback
pfnCallback pointer to the callback
bRegister e_tsxTRUE if the callback is going to be registered, or e_tsxFALSE if unregistered

RETURNS e_tsxTRUE if the function succeeded, otherwise e_tsxFALSE
MethodRegisterExternalShaderbool RegisterExternalShader( tsxSHCLASS_xxxx shclass, tssGlobalExecuteCallback pfnExecute, bool bRegister );

(no description)
MethodRenderCanInterruptbool RenderCanInterrupt( void );

(no description)
MethodRenderCheckInterruptbool RenderCheckInterrupt( void );

(no description)
MethodRenderIIRChangedbool RenderIIRChanged( void );

(no description)
MethodResetLayersExbool ResetLayersEx()

PURPOSE Function removes all layers and creates the basic one.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSceneIsEnvironmentMappedbool SceneIsEnvironmentMapped();

(no description)
MethodSceneIsFogOnbool SceneIsFogOn()

PURPOSE Return tsxTRUE if Fog is On.
PARAMETERS
None

RETURNS bool
MethodSceneIsSaveScenebool SceneIsSaveScene( void );

(no description)
MethodSceneLoadbool SceneLoad( char *name )

PURPOSE Load a new scene from a file.
PARAMETERS
Name char*: a name of the file with the scene
if name == NULL, load dialog will appear (new for 4.1)

RETURNS bool: e_tsxFALSE if error
MethodSceneSavebool SceneSave( char *name )

PURPOSE Save current scene into a file.
PARAMETERS
Name char*: a name of the file with the scene
if name == NULL, scene name will be used (if exists) or save as dialog will appear

RETURNS bool: e_tsxFALSE if error
MethodSceneSaveAsbool SceneSaveAs( char *name )

PURPOSE Save current scene into a file with the specified name.
PARAMETERS
Name char*: a name of the file with the scene
if name == NULL, save as dialog will appear

RETURNS bool: e_tsxFALSE if error
MethodScriptMGetTimeFlowingBOOL ScriptMGetTimeFlowing();

(no description)
MethodScriptMIncTimeBOOL ScriptMIncTime();

(no description)
MethodScriptMRunFunctionBOOL ScriptMRunFunction( sobj *obj, char *name, LONG matid, SHORT x, SHORT y, SHORT flags );

(no description)
MethodScriptMRunFunctionsBOOL ScriptMRunFunctions( char *name, LONG matid, SHORT x, SHORT y, SHORT flags );

(no description)
MethodSetInactiveLayersHiddenbool SetInactiveLayersHidden()

PURPOSE Function sets all inactive layers hidden.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetInactiveLayersLockedbool SetInactiveLayersLocked()

PURPOSE Function sets all inactive layers locked.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetInactiveLayersUnlockedbool SetInactiveLayersUnlocked()

PURPOSE Function sets all inactive layers unlocked.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetInactiveLayersVisiblebool SetInactiveLayersVisible()

PURPOSE Function sets all inactive layers visible.
PARAMETERS
none

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerHiddenbool SetLayerHidden( short index )

PURPOSE Function sets the layer with given index hidden.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerLockedbool SetLayerLocked( short index )

PURPOSE Function sets the layer with given index locked.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerNamebool SetLayerName( short index, const char* pName )

PURPOSE Function sets given name string to the layer with given index.
PARAMETERS
index short: index of the layer
pName char *: name of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerNameExbool SetLayerNameEx( short index, const char* pName )

PURPOSE Function sets given name string to the layer with given index.
PARAMETERS
index short: index of the layer
pName char *: name of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerNumberbool SetLayerNumber( short index, short number )

PURPOSE Function sets given number to the layer with given index.
PARAMETERS
index short: index of the layer
number short: number associated with the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerNumberExbool SetLayerNumberEx( short index, short number )

PURPOSE Function sets given number to the layer with given index.
PARAMETERS
index short: index of the layer
number short: number associated with the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerRemovedbool SetLayerRemoved( short index )

PURPOSE Function sets the layer with given index removed.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerUnlockedbool SetLayerUnlocked( short index )

PURPOSE Function sets the layer with given index unlocked.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerValidbool SetLayerValid( short index )

PURPOSE Function sets the layer with given index valid.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerVisiblebool SetLayerVisible( short index )

PURPOSE Function sets the layer with given index visible.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerWireColorbool SetLayerWireColor( short index, Color_p color )

PURPOSE Function sets given color to the layer with given index.
PARAMETERS
index short: index of the layer
color Color_p: color to set

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetLayerWireColorExbool SetLayerWireColorEx( short index, Color_p color )

PURPOSE Function sets given color to the layer with given index.
PARAMETERS
index short: index of the layer
color Color_p: color to set

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetObjectLayerIndexbool SetObjectLayerIndex( sobj* pObject, short index )

PURPOSE Function sets given layer index to given object.
PARAMETERS
pObject sobj*: object to assign to layer.
index short: layer index to assign to object.

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodSetTextureOverlayPropertybool SetTextureOverlayProperty( bool bCheck )

PURPOSE Set overlay for active texture map shader. Function returns the previous state.
PARAMETERS
bCheck bool: e_tsxTRUE to switch overlay ON, e_tsxFALSE otherwise

RETURNS bool: e_tsxTRUE if overlay was ON before the call, e_tsxFALSE otherwise
MethodShaderIsCustombool ShaderIsCustom( shader* shader )

PURPOSE Determine if input shader is a custom shader
PARAMETERS
shader input shader

RETURNS e_tsxTRUE if 'shader' is a custom shader, otherwise e_tsxFALSE
MethodShaderSelectbool ShaderSelect( shader* shader )

PURPOSE Select specified shader to the shader panel
PARAMETERS
shader shader to be selected

RETURNS e_tsxTRUE if successful, otherwise e_tsxFALSE
MethodShaderSelectbool ShaderSelect( shader* shader );

(no description)
MethodShowInactiveLayersExbool ShowInactiveLayersEx()

PURPOSE Function shows all inactive layers.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodShowLayerExbool ShowLayerEx( short index )

PURPOSE Function shows the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodSobjEmptyScriptbool SobjEmptyScript( sobj* pSobj )

PURPOSE Test for an empty animation of the object
PARAMETERS
pSobj sobj*: a pointer to the SObj

RETURNS bool
MethodSobjGetClosedbool SobjGetClosed( sobj* pSobj, e_tsxKFT_xxxx keyfType, long segment )

PURPOSE Get type of animation path.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
keyfType e_tsxKFT_xxxx: the specified attribute
segment long: an optional segment of the specified attribute ( 0 in none )

RETURNS bool: type of animation path
MethodSobjGetInterpolationbool SobjGetInterpolation( sobj* pSobj, e_tsxKFT_xxxx keyfType, long segment )

PURPOSE Get type of interpolation.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
keyfType e_tsxKFT_xxxx: the specified attribute
segment long: an optional segment of the specified attribute ( 0 in none )

RETURNS bool: type of interpolation
MethodSobjHasAttributebool SobjHasAttribute( sobj* pSobj,e_tsxKFT_xxxx keyfType )

PURPOSE Test for attribute of Sobj.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: type of keyframe tested

RETURNS bool
MethodSobjTreeEmptyScriptbool SobjTreeEmptyScript( sobj* pSobj )

PURPOSE Test for an empty animation of the object and all its children
PARAMETERS
pSobj sobj*: a pointer to the SObj

RETURNS bool
MethodSwitchInactiveLayersStateExbool SwitchInactiveLayersStateEx()

PURPOSE Function switches the state of all inactive layers from visible to locked/hidden and back;
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodSwitchLayerStateExbool SwitchLayerStateEx( short index )

PURPOSE Function switches the state of the layer with given index from visible to locked/hidden and back.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case the scene content was changed, e_tsxFALSE otherwise.
MethodTrimCurveDefinesHolebool TrimCurveDefinesHole( ncurve *uv_nc );

(no description)
MethodtsxClipsClipIsEnabled bool tsxClipsClipIsEnabled ( sobj* pSobj, char *name )

PURPOSE Get enabled/disabled status of the clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS bool: status of clip (e_tsxTRUE for enabled, e_tsxFALSE for disabled)
MethodtsxClipsClipIsRelative bool tsxClipsClipIsRelative ( sobj* pSobj, char *name )

PURPOSE Get relative/absolute status of the clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS bool: status of clip (e_tsxTRUE for relative, e_tsxFALSE for absolute)
MethodtsxCollisionCheckObjWithScene BOOL tsxCollisionCheckObjWithScene ( sobj* obj, short method, short what_collide, struct ColRpt_p **CollReport, long *ReportCount )

PURPOSE Function check whether an object collide with other object in scene. The function is similar to previous one, but as the second tested object is used the scene.
PARAMETERS
obj sobj*: pointer to the first tested object (the second tested object is scene).
method short: can be one of the next collision detection method:
tsxCOLLMETHOD_VOXEL - check collision only by objects voxels
tsxCOLLMETHOD_VERTICES - check collision by objects vertices
tsxCOLLMETHOD_FACE - check collision by objects faces
If the methods are used with the tsxCOLLMETHOD_FINFALLCOLLISIONS flag, then the function will search all collisions. If it is not set, then only the first collision will be found.
what_collide short: this flag tells the function what objects will collide:
tsxCOLLIDE_ALLOBJECTS - function will test all sub-objects of the first and the second tested object
tsxCOLLIDE_SELOBJECTS - function will test all sub-objects of the first and the second tested object that have set the collision level (by the ` tsxSetObjCollisionLevel' function)

Only one of the `tsxCOLLIDE_SELOBJECTS' and ` tsxCOLLIDE_SELOBJECTS' can be set.

tsxCOLLIDE_WITHGROUND - if this flag is then the collision with ground is enabled
tsxCOLLIDE_PEERS - if this flag is set then the collision between objects is enabled
CollReport ColRpt_p **: collisions report array that is generated if a collision between obj1 and obj2 is detected. This report contains detailed information about the collision (see definition of the `ColRpt_p' structure). If the report is not needed the parameter can be NULL.
ReportCount long *: pointer to a `long` variable that will be filled by a number of the collision reports. This parameter can be NULL if the collision report is not needed.

RETURNS TRUE if collision, FALSE otherwise
MethodtsxGetObjDir bool tsxGetObjDir ( sobj* pSobj, char *pBuff, i iMaxBuffSize )

PURPOSE Fill buffer by the full filename of the specified object. If it is not specified yet return e_tsxFALSE and return empty string
PARAMETERS
pSobj sobj*: object
pBuff char*: pointer to a buffer to hold the object full file path
iMaxBuffSize i: size of the buffer

RETURNS bool: e_tsxTRUE if successful (object was saved to file already)
MethodtsxNURBSetDensity bool tsxNURBSetDensity ( mnode* pMNode, long num_indices, long *indices, i new_density )

PURPOSE Set density parameter of NURB object.
PARAMETERS
pMNode mnode*: a pointer to the NURB object
long num_indicies : number of indices
long indicies* : array of indices
f new_density : new density value from range [0,10]

RETURNS bool
MethodtsxNURBSetTension bool tsxNURBSetTension ( mnode* pMNode, long num_indices, long *indices, f new_tension )

PURPOSE Set tension parameter of NURB object.
PARAMETERS
pMNode mnode*: a pointer to the NURB object
long num_indicies : number of indices
long indicies* : array of indices
f new_density : new tension value from range [0.,1.]

RETURNS bool
MethodUpdateLayerPanelsbool UpdateLayerPanels( short index )

PURPOSE Function updates state vectors according to the active layer and layer with given index (if different from -1).
PARAMETERS
index short: index of the layer or -1

RETURNS bool: e_tsxTRUE on success, e_tsxFALSE otherwise.
MethodUseLayerLockSwitchbool UseLayerLockSwitch( short index )

PURPOSE Function returns the state of the locked-visible direct switch's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case of the locked-visible direct switch's using for the layer with given index, e_tsxFALSE otherwise.
MethodUseLayersLockSwitchbool UseLayersLockSwitch()

PURPOSE Function returns the state of the mass locked-visible direct switch's using.
PARAMETERS
none

RETURNS bool: e_tsxTRUE in case of the mass locked-visible direct switch's using, e_tsxFALSE otherwise
MethodUseLayerWireColorbool UseLayerWireColor( short index )

PURPOSE Function returns the state of the wire color's using for the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS bool: e_tsxTRUE in case of the wire color's using for layer with given index, e_tsxFALSE otherwise.
MethodUseLocaleDecimalbool UseLocaleDecimal( void )

PURPOSE Retrieves state of using of Locale Decimal Separator in User Interface.
PARAMETERS
None

RETURNS bool: TRUE when Locale Decimal Separator is shown, FALSE otherwise
MethodScriptGetScriptPtrchar *ScriptGetScriptPtr( sobj* obj );

(no description)
MethodFILEgetschar* FILEgets( char *buf, i size, tsxFILE *fd )

PURPOSE Get the next string from the input stream.
PARAMETERS
buf char*: a pointer to the buffer
size i: a length of the buffer
fd tsxFILE*: a pointer to file descriptor

RETURNS char*: a pointer to the buffer after the last character
MethodGetTSDirchar* GetTSDir( e_tsxPATH_xxxx type )

PURPOSE To get the trueSpace directory
PARAMETERS
type e_tsxPATH_xxxx: type of the directory (see list of types above)

RETURNS char*: string with the full path to particular directory
MethodShaderAllocCustomDatachar* ShaderAllocCustomData( shader* shader, long size );

(no description)
MethodShaderGetCustomDatachar* ShaderGetCustomData( shader* shader, long* size );

(no description)
MethodShaderGetDirchar* ShaderGetDir( shader* shader )

PURPOSE Shader installation directory path. It is valid only for custom shaders.
PARAMETERS
shader input shader

RETURNS directory path if shader is a custom shader, NULL otherwise
MethodShaderGetInternalNamechar* ShaderGetInternalName( shader* shader )

PURPOSE Return shader internal name
PARAMETERS
shader input shader

RETURNS string which serves as internal identifier of the shader
MethodShaderGetNamechar* ShaderGetName( shader* shader )

PURPOSE Return shader name displayed in tS interface
PARAMETERS
shader input shader

RETURNS string which serves as the name displayed in tS interface.
MethodShaderInfoAllocCustomDatachar* ShaderInfoAllocCustomData( shinfo* shinfo, long size );

(no description)
MethodShaderInfoGetCustomDatachar* ShaderInfoGetCustomData( shinfo* shinfo, long* size );

(no description)
MethodtsxClipsGetActiveClipName char* tsxClipsGetActiveClipName ( sobj* pSobj )

PURPOSE Get a name of active clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS char*: name of the active clip
MethodGetLayerWireColorColor_p GetLayerWireColor( short index )

PURPOSE Function returns wire color of the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS Color_p: The wire color of the layer with given index on success, color of the unselected wire otherwise.
MethodGetLayerWireColorHlColor_p GetLayerWireColorHl( short index )

PURPOSE Function returns highlighted wire color of the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS Color_p: The wire color of the layer with given index on success, color of the unselected wire otherwise.
Methodchar *ShaderInfoGetConstParameterNameconst char *ShaderInfoGetConstParameterName( shinfo* shinfo, i param_index )

PURPOSE Returns const pointer to a parameter name. Parameter must be identified by index.
PARAMETERS
shinfo pointer to shinfo
param_index 0-based shader parameter index

RETURNS const char*: const pointer to a shader name
Methodchar* AnimGetTypeNameconst char* AnimGetTypeName( e_tsxKFT_xxxx keyfType )

PURPOSE Get name of attribute.
PARAMETERS
keyfType e_tsxKFT_xxxx: the type of the attribute

RETURNS const char*
Methodchar* GetLayerNameconst char* GetLayerName( short index )

PURPOSE Function returns the pointer to the name string of the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS const char *: The pointer to the name string of the layer with given index on success, NULL otherwise.
Methodchar* ObjectGetTypeNameconst char* ObjectGetTypeName( tsxSOBJTYPE objType )

PURPOSE Get a a name of the external type of object.
PARAMETERS
objType tsxSOBJTYPE: a type of external object

RETURNS const char*: a name of the external type of object
MethodDerivCurvesCreateDerivCurves_p *DerivCurvesCreate( void )

PURPOSE Create an empty structure used keep so-called derivative curves. They are used for computation of curve derivatives.
PARAMETERS

RETURNS DerivCurves_p:
MethodAddSubobjerr AddSubobj( gnode** group, sobj* sob )

PURPOSE Adds sob as a subobject of group. It will insert group nodes where appropriate to insure that all non-group objects are leaf nodes in the tree structure. It does not refresh the display. *group may be changed to a hierarchical object by the insertion of a group node. If a group node is created it will assign the axes of the object it is a parent of to it. Note, both group and sob objects don't have to be active objects at the time of calling this function.
PARAMETERS
group gnode**: parent object
sob sobj*: child object

RETURNS err
MethodAnimPlayerr AnimPlay( void )

PURPOSE Run playback.
PARAMETERS
None

RETURNS err
MethodAudioAttacherr AudioAttach( sobj* obj, audio* pAudio );

(no description)
MethodAudioAttachFileerr AudioAttachFile( audio* pAudio, char *filename );

(no description)
MethodAudioCreateerr AudioCreate( audio **pAudio, e_tsxAD_xxxx AdType );

(no description)
MethodAudioSetLooperr AudioSetLoop( audio* pAudio, BOOL Loop );

(no description)
MethodAudioSetPlayerr AudioSetPlay( audio* pAudio, BOOL Play );

(no description)
MethodAudioSystemCloseerr AudioSystemClose();

(no description)
MethodAudioSystemIniterr AudioSystemInit();

(no description)
MethodAViewActivateerr AViewActivate( HWND wndo )

PURPOSE Activate a particular view based on its HWND
PARAMETERS
wndo HWND: a handle of a particular view

RETURNS err: tsxERR_SUCCESS - if the view was activated
MethodAViewSetCameraModeerr AViewSetCameraMode( gnode* pGNode )

PURPOSE Make the active view look through an object (pGNode), until further notice. In this mode, any changes to the eye's position, orientation and direction will also be transmitted to the object.
PARAMETERS
pGNode gnode*: a pointer to the Gnode we'll be looking through

RETURNS err
MethodBirailSurfConstructerr BirailSurfConstruct( ncurve *prof, ncurve *rail1, ncurve *rail2, bool apply_snap, bool auto_pos, f prof_u0, f prof_u1, bool keep_height, f max_angle, npatch *np )

PURPOSE Construct birail surface by sweeping profile curve along two rail curves. During sweeping, profile is scaled to touch both rails and rotated in order to keep its normal aligned to current rails' average tangent. In case of open profile, position of profile relative to rails is not important. But if the profile is closed, it must be positioned in initial (or near to initial) birail position: rail 1 and rail 2 touch profile in desired points.
PARAMETERS
prof ncurve*: Pointer to profile curve
rail1 ncurve*: Pointer to rail1 curve
rail2 ncurve*: Pointer to rail2 curve
apply_snap bool: Apply snap transformation (transform profile to initial position) to original curve
auto_pos bool: Find 'prof_u0' and 'prof_u1' automatically. In case of open profile, they will be 0 and 1 (or 1 and 0, depending on profile position). In case of closed profile, they will represent profile points closest to appropriate rail.
prof_u0 f: Profile point tracking rail1 (only when 'auto_pos' = false)
prof_u1 f: Profile point tracking rail2 (only when 'auto_pos' = false)
keep_height bool: Scale profile in one direction only
max_angle f: Threshold angle for rails curvature tracking: new copy of profile will be emited when tangent of one of the rails deviates from its last tangent by more than 'max_angle' degrees.
np npatch*: Pointer to output patch. If it's not empty, its data will be freed before the operation. Transformation matrix of the patch will not change.

RETURNS err
MethodBlendSurfConstructerr BlendSurfConstruct( npatch *np1, ncurve *trim1, e_tsxNPATCH_DIR_x dir1, f parm1, npatch *np2, ncurve *trim2, e_tsxNPATCH_DIR_x dir2, f parm2, bool simpler, i lev1, i lev2, f smooth1, f smooth2, bool invert_edge, f u2_shift, f max_angle, npatch *blend )

PURPOSE Construct surface making smooth transition between edges of two patches. Edges can be ordinary edges or trimmed edges.
PARAMETERS
np1 npatch*: Pointer to patch1
trim1 ncurve*: Pointer to UV trimming curve of np1 (NULL if ordinary edge)
dir1 e_tsxNPATCH_DIR_x: Direction of np1's ordinary edge
parm1 f: Parameter of np1's ordinary edge (0.0 or 1.0)
np2 npatch*: Pointer to patch2
trim2 ncurve*: Pointer to UV trimming curve of np2 (NULL if ordinary edge)
dir2 e_tsxNPATCH_DIR_x: Direction of np2's ordinary edge
parm2 f: Parameter of np2's ordinary edge (0.0 or 1.0)
simpler bool: Produce simpler surface. Can cause unwanted distortions to appear in case of nonhomogenously spaced control points (one edge has majority of them at its beginning and second on its end, for example), because 'simpler' ignores chord length knot parameterization of edge curves (that reflect relative positions of their control points). When 'simpler' is not set, distortions will not appear (almost), but the patch will have denser control mesh.
lev1 i: Edge1 blending level: tsxBLEND_LEVEL_POSITION or tsxBLEND_LEVEL_SMOOTHNESS
lev2 i: Edge2 blending level
smooth1 f: Edge1 smoothness factor (0.0 to 1.0)
smooth2 f: Edge2 smoothness factor
invert_edge bool: Invert edge to remove twist in blend
u2_shift f: If both edges are closed, shift edge2's starting point to remove twist in blend (0.0 to 1.0)
max_angle f: Precision of UV to 3D trimming curve sampling (use -1.0f for default)
blend npatch*: Pointer to output patch. If it's not empty, its data will be freed before the operation. V=0 edge of blended patch will touch edge2 (or edge1) and V=1 edge will touch edge1 (or edge2). Transformation matrix of the patch will not change.

RETURNS err
MethodBoneAttachObjecterr BoneAttachObject( bone* pBone, gnode* pGNode )

PURPOSE Attach an object to specified bone.
PARAMETERS
pBone bone*: a pointer to Bone object
pGNode gnode*: a pointer to object

RETURNS err
MethodBoneCreateMuscleerr BoneCreateMuscle( bone* pBone, joint* pJoint, lattice** ppMuscle )

PURPOSE Create a muscle's lattice around the specified bone near specified joint.
PARAMETERS
pBone bone*: a pointer to Bone object
pJoint joint*: a pointer to Joint. If the bone is linked by one or two joints, the pJoint can be NULL.
ppMuscle lattice**: returns a pointer to muscle's lattice

RETURNS err
MethodBoneDeleteMuscleerr BoneDeleteMuscle( bone* pBone, joint* pJoint )

PURPOSE Delete a muscle's lattice around the specified bone near specified joint.
PARAMETERS
pBone bone*: a pointer to Bone object
pJoint joint*: a pointer to Joint. If the bone is linked by one or two joints, the pJoint can be NULL.

RETURNS err
MethodBoneDetachObjecterr BoneDetachObject( bone* pBone, gnode* pGNode )

PURPOSE Detach an object to specified bone.
PARAMETERS
pBone bone*: a pointer to Bone object
pGNode gnode*: a pointer to object

RETURNS err
MethodBooleanIntersectionWithCurrobjerr BooleanIntersectionWithCurrobj( mnode* pMNode )

PURPOSE Intersect specified object with the selected one.
PARAMETERS
pMNode mnode*: a pointer to a mnode

RETURNS err
MethodBooleanSubtractionFromCurrobjerr BooleanSubtractionFromCurrobj( mnode* pMNode )

PURPOSE Subtract specified object from the selected one.
PARAMETERS
pMNode mnode*: a pointer to a mnode

RETURNS err
MethodBooleanUndoerr BooleanUndo( mnode** ppMNode )

PURPOSE Undo Boolean operation. If the function finishes successfully, the first object is selected and the second object is returned in the parameter.
PARAMETERS
ppMNode mnode**: returns a pointer to a mnode of restored second object.

RETURNS err
MethodBooleanUnionWithCurrobjerr BooleanUnionWithCurrobj( mnode* pMNode )

PURPOSE Union specified object with the selected one.
PARAMETERS
pMNode mnode*: a pointer to a mnode

RETURNS err
MethodCameraCreateInSceneerr CameraCreateInScene()

PURPOSE Creates a camera at world origin, with the viewing plane on the world YZ plane, Z in the up direction, and pointing in the positive world X direction. On success, the new camera is the currently selected object. It can be saved for later access.
PARAMETERS
None

RETURNS err
MethodCheckPhysicsAdhesionLinkserr CheckPhysicsAdhesionLinks( sobj *pObj1, sobj *pObj2 )

PURPOSE Create/Delete physical adhesion link(s).
If one of the parameters is NULL, all the links of the second object will
be deleted. New link is created only if:
- one of the objects has physical attributes
- the Adhesion is turned on at least for one of the object
- the simulation is not in interrupted state
PARAMETERS
pObj1 sobj*: Pointer to the first object or NULL of all the pObj2 links should be deleted
pObj2 sobj*: Pointer to the second object or NULL of all the pObj1 links should be deleted

RETURNS err
MethodContractorSetBidirectionalerr ContractorSetBidirectional( joint* pJoint, BOOL bidirect )

PURPOSE Set/Unset bidirectional contraction.
PARAMETERS
pJoint joint*: a pointer to joint
bidirect BOOL: TRUE for bidirectional contraction ( Flexor/Extensor ),
FALSE for alldirectional (Contractor).

RETURNS err
MethodContractorSetFallofferr ContractorSetFalloff( joint* pJoint, f falloff )

PURPOSE Set a new falloff of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
falloff f: a falloff of contraction by specified joint.

RETURNS err
MethodContractorSetLengtherr ContractorSetLength( joint* pJoint, f length )

PURPOSE Set a new length of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
length f: a length of contraction by specified joint.

RETURNS err
MethodContractorSetStrengtherr ContractorSetStrength( joint* pJoint, f strength )

PURPOSE Set a new strength of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
strength f: a strength of contraction by specified joint.

RETURNS err
MethodContractorSetWidtherr ContractorSetWidth( joint* pJoint, f width )

PURPOSE Set a new width of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
width f: a width of contraction by specified joint.

RETURNS err
MethodCreateWidgeterr CreateWidget( ulong wdgTypeID, tsxWDGINTACS_xxxx wdgIntAcs, sobj *obj, polyh *drawobj, WDG_CALLBACKS_p *pCallbacks, ulong wdgFlags, void *data, widget **lpWidget )

PURPOSE Function creates a widget object.
PARAMETERS
wdgTypeID ulong : widget's type ID
wdgIntAcs tsxWDGINTACS_xxxx: Interface Access Flags (way that was the widget created)
obj sobj*: object that is the widget's parent
drawobj polyh* : polyhedron that represent the widget
pCallbacks WDG_CALLBACKS_p *: pointer to table with widget's callbacks
wdgFlags ulong: widget's flags
data void *: pointer to a user's data (this pointer can be obtained by function `tsxGetWdgUsersData')
lpWidget widget **: pointer to a pointer that will be filled by created widget object

RETURNS err
MethodCurrobjCopyerr CurrobjCopy()

PURPOSE Copy current obj and add to it scene at the top level, making it the new currobj.
PARAMETERS
None

RETURNS err
MethodCurrobjQuadDiverr CurrobjQuadDiv( void )

PURPOSE QuadDivide the currently selected object.
PARAMETERS

RETURNS err
MethodCurrobjSmoothDiverr CurrobjSmoothDiv( void )

PURPOSE SmoothDivide the currently selected object.
PARAMETERS

RETURNS err
MethodDestroyImageerr DestroyImage( Image *image )

PURPOSE Destroys the image data structure deallocating memory for image data
PARAMETERS
Image Image*: a pointer to the image

RETURNS err: tsxERR_SUCCESS if successful
MethodEulerToQuaternionerr EulerToQuaternion( Vec3f_p *angles, Quaternion_p *q )

PURPOSE To get quaternion representing a rotation by three euler angles: roll, pitch, and yaw.
PARAMETERS
angles input Euler angles (stored in vector structure)
q output quaternion

RETURNS Nonzero if failed, otherwise tsxERR_SUCCESS
MethodExtensorSetFallofferr ExtensorSetFalloff( joint* pJoint, f falloff )

PURPOSE Set a new falloff of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
falloff f: a falloff of extensor contraction by specified joint.

RETURNS err
MethodExtensorSetLengtherr ExtensorSetLength( joint* pJoint, f length )

PURPOSE Set a new length of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
length f: a length of extensor contraction by specified joint.

RETURNS err
MethodExtensorSetStrengtherr ExtensorSetStrength( joint* pJoint, f strength )

PURPOSE Set a new strength of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
strength f: a strength of extensor contraction by specified joint.

RETURNS err
MethodExtensorSetWidtherr ExtensorSetWidth( joint* pJoint, f width )

PURPOSE Set a new width of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
width f: a width of extensor contraction by specified joint.

RETURNS err
MethodFaceCopyerr FaceCopy( Face ppFaceCopy,Face_p pFace )

PURPOSE Allocate new Face structure, assigning it to ppFaceCopy, and Copies pFace and all related structures into it.
PARAMETERS
ppFaceCopy Face_p*: target face
pFace Face_p: source face

RETURNS err
MethodFaceSetBackCullerr FaceSetBackCull( Face_p pFace, bool backCull );

(no description)
MethodFindNumbOfWdgPolyhFaceserr FindNumbOfWdgPolyhFaces( i facelist[], i sizeoffacelist, long *pNumFaces, long *pNumHoles )

PURPOSE Function check whether the face list is correct and return number of the faces and holes.
PARAMETERS
facelist[] i: list of the polyhedron's faces
sizeoffacelist i: size of the facelist
pNumFaces long: pointer to a variable that will be filled by number of the faces
pNumHoles long: pointer to a variable that will be filled by number of the holes

RETURNS err: tsxERR_SUCCESS if the list is OK
MethodFindRegWidgetTypeByIDerr FindRegWidgetTypeByID( ulong wdgTypeID, WdgReg_p *pWdgReg )

PURPOSE Function find a widget's type by its ID.
PARAMETERS
wdgTypeID ulong : widget's type ID
pWdgReg WdgReg_p: pointer to the structure that will be filled if the type will be found

RETURNS err
MethodFindRegWidgetTypeByNameerr FindRegWidgetTypeByName( char *widgetsname, WdgReg_p *pWdgReg )

PURPOSE Function find a widget's type by its name.
PARAMETERS
widgetsname char* : pointer to a widget's type name
pWdgReg WdgReg_p: pointer to the structure that will be filled if the type will be found

RETURNS err
MethodFlexorSetFallofferr FlexorSetFalloff( joint* pJoint, f falloff )

PURPOSE Set a new falloff of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
falloff f: a falloff of flexor contraction by specified joint.

RETURNS err
MethodFlexorSetLengtherr FlexorSetLength( joint* pJoint, f length )

PURPOSE Set a new length of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
length f: a length of flexor contraction by specified joint.

RETURNS err
MethodFlexorSetStrengtherr FlexorSetStrength( joint* pJoint, f strength )

PURPOSE Set a new strength of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
strength f: a strength of flexor contraction by specified joint.

RETURNS err
MethodFlexorSetWidtherr FlexorSetWidth( joint* pJoint, f width )

PURPOSE Set a new width of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
width f: a width of flexor contraction by specified joint.

RETURNS err
MethodForceLeftClickerr ForceLeftClick( i tsxid )

PURPOSE Request a left-click action on the extension's button (see tsxOnLeftClick). Useful when, e.g., an extension wants to leave a panel on the screen even when deactivated, and then requests re-activation when a button is clicked on this panel. Also useful to deactivate an active extension when user exits from extensions parameter panel.
PARAMETERS
tsxid i: extension-id (see tsxGetData)

RETURNS err
MethodFrameCopyerr FrameCopy( keyframe* pKFrame,keyframe** ppKFrameCopy )

PURPOSE Copy Keyframe by allocating a new one and copying the source into it.
PARAMETERS
pKFrame keyframe*: a pointer to the source keyframe
ppKFrameCopy keyframe**: a pointer to a pointer to the target keyframe

RETURNS err
MethodFrameCreateerr FrameCreate( keyframe** ppKFrame, e_tsxKFT_xxxx keyfType )

PURPOSE Create Keyframe for specified attribute.
PARAMETERS
ppKFrame keyframe**: a pointer to a pointer to the newly created keyframe
keyfType e_tsxKFT_xxxx: the animatable attribute

RETURNS err
MethodFrameGetSplineParameterserr FrameGetSplineParameters( keyframe* pKFrame,f* continuity,f* tension,f* bias )

PURPOSE Get the spline parameters of Keyframe.
PARAMETERS
pKFrame keyframe*: source keyframe
continuity f*: spline continuity
tension f*: spline tension
bias f*: spline bias

RETURNS err
MethodFrameSetSplineParameterserr FrameSetSplineParameters( keyframe* pKFrame,f continuity, f tension,f bias )

PURPOSE Set the spline parameters of Keyframe.
PARAMETERS
pKFrame keyframe*: target keyframe
continuity f: spline continuity
tension f: spline tension
bias f: spline bias

RETURNS err
MethodGenerateTextureFromLightingerr GenerateTextureFromLighting( gnode *pObj, TextureFromLightingData *t_data );

(no description)
MethodGNodeCopyerr GNodeCopy( gnode* pGNode,gnode** ppGNodeCopy // Ptr to Copy placed here,on success )

PURPOSE Get a copy of the entire tree rooted at a GNode
PARAMETERS
pGNode gnode*: The GNode to copy
here gnode** ppGNodeCopy // Ptr to Copy placed:
success on:

RETURNS err
MethodGNodeCopyScripterr GNodeCopyScript( gnode* pGNodeTo, gnode* pGNodeFrom );

(no description)
MethodGNodeCreateScripterr GNodeCreateScript( gnode* pGNode );

(no description)
MethodGNodeCreateScriptTreeerr GNodeCreateScriptTree( gnode* pGNode );

(no description)
MethodGNodeDeleteScripterr GNodeDeleteScript( gnode* pGNode );

(no description)
MethodGNodeDeleteScriptTreeerr GNodeDeleteScriptTree( gnode* pGNode );

(no description)
MethodGNodeFindByNameerr GNodeFindByName( gnode** ppGNode, gnode* pParent, char* pName )

PURPOSE Get a pointer to an object specified by the name.
If pParent is not NULL it will search its sub-objects and use the name as a path relative to pParent.
If pParent is NULL it will search all objects in current scene..
PARAMETERS
ppGNode gnode**: returns a pointer to a Gnode or NULL
pParent gnode*: a pointer to a top node in which the full name is specified,
or NULL if the full name in the scene is specified.
pName char*: buffer with full name relative to pParent

RETURNS err ( 0 on success )
MethodGNodeGetBBoxerr GNodeGetBBox( gnode* pGNode,BBox3f_p pBBox )

PURPOSE Add the bounding box of GNode to input Bbox. Not valid for Track and Path objects. The resulting BBox will also enclose the input BBox bounds. To get Bbox of only pGNode, use 'tsxBBoxInit()' before calling this function.
PARAMETERS
pGNode gnode*: pointer to non Track/Path GNode
pBBox BBox3f_p: BBox updated with result.

RETURNS err
MethodGNodeSetFrameerr GNodeSetFrame( gnode* pGNode, e_tsxKFT_xxxx keyfType );

(no description)
MethodGNodeSetLookAheaderr GNodeSetLookAhead( gnode* pGNode, bool banking, f tension, f bias, f bank )

PURPOSE Makes (or stops) a specific object to look ahead along its animation path
PARAMETERS
pGNode gnode*: a pointer to a GNODE
pBanking bool: e_tsxTRUE if banking on, e_tsxFALSE otherwise
pTension f: spline parameters for look ahead
pBias f: spline parameters for look ahead
pBank f: spline parameters for look ahead

RETURNS err:
MethodGNodeSetLookAterr GNodeSetLookAt( gnode* pGNode, gnode* pLookAt )

PURPOSE Set the look-at target object for a specified object
PARAMETERS
pGNode gnode*: a pointer to a GNODE
pLookAt gnode*: a pointer to a look-at target

RETURNS err:
MethodGNodeSetNameerr GNodeSetName( gnode* pGNode,char* szNewName )

PURPOSE Set the Name of a GNode.
PARAMETERS
pGNode gnode*: a pointer to a GNode
szNewName char*: a string containing the new name

RETURNS err (0 on success)
MethodGNodeUnsetFrameerr GNodeUnsetFrame( gnode* pGNode, e_tsxKFT_xxxx keyfType );

(no description)
MethodHoleCopyerr HoleCopy( Hole ppHoleCopy, Hole_p pHole )

PURPOSE Allocate new hole structure, assigning it to ppHoleCopy, and copy pHole and all related structures into it. This function simplifies allocate-copy sequence.
PARAMETERS
ppHoleCopy Ptr to the hole-pointer, which will store new created copy of the hole
pHole Ptr to the source hole

RETURNS void
MethodIKgroupAddJointerr IKgroupAddJoint( ikg* pIKgroup, joint** ppJoint, e_tsxJOINT_xxxx type, Vec3f_p pLoc, gnode* pGNode1, gnode* pGNode2 )

PURPOSE Link two sub-objects with a new joint of specified type.
PARAMETERS
pIKgroup ikg*: Group object
ppJoint joint**: a pointer to a new joint
type e_tsxJOINT_xxxx: a type of a new joint
pLoc Vec3f_p: joint's location (optional)
pGNode1 gnode*: sub-object 1 to link
pGNode2 gnode*: sub-object 2 to link

RETURNS err
MethodIKgroupCreateerr IKgroupCreate( ikg** ppIKgroup )

PURPOSE Create an empty Group object.
PARAMETERS
ppIKgroup ikg**: pointer to a new Group object

RETURNS err
MethodIKgroupDeleteJointerr IKgroupDeleteJoint( ikg* pIKgroup, joint* pJoint )

PURPOSE Link two sub-objects with a new joint of specified type.
PARAMETERS
pIKgroup ikg*: IK Group object
pJoint joint*: joint

RETURNS err
MethodIKgroupPlaceNailerr IKgroupPlaceNail( ikg* pIKgroup, gnode* pNailed, Vec3f_p pOffset )

PURPOSE Place the nail on specified subobject.
PARAMETERS
pIKgroup ikg*: IK Group object
pNailed gnode*: sub-object to nail
pOffset Vec3f_p: nail's offset from center of pNailed (in its local space) - optional

RETURNS err
MethodIKgroupTranslateEffectorerr IKgroupTranslateEffector( ikg* pIKgroup, gnode* pEffector, Vec3f_p pOffset, Vec3f_p pMove, e_tsxXxxxFrame frameid )

PURPOSE Move with specified sub-object of IKgroup. Whole branch from the effector to the nail is affected.
PARAMETERS
pIKgroup ikg*: IK Group object
pEffector gnode*: translated part of IK chain
pOffset Vec3f_p: effector's offset from center of pEffector (in its local space) (optional)
pMove Vec3f_p: translation vector
frameid e_tsxXxxxFrame: Reference frame for pVec

RETURNS err
MethodImageCreateDataerr ImageCreateData( Image *image, i width, i height, e_tsxIMAGE_RGBx depth )

PURPOSE Allocate an image data given the size and pixel depth of the image
PARAMETERS
image Image*: a pointer to the image data structure
width i: a width of the image to create
height i: a height of the image to create
depth e_tsxIMAGE_RGBx: color depth of the image to create

RETURNS err:
MethodImageDestroyDataerr ImageDestroyData( Image *image )

PURPOSE Free the image data
PARAMETERS
image Image*: a pointer to the image data structure

RETURNS err:
MethodImageLoadDataerr ImageLoadData( Image *image, char *path )

PURPOSE Load the image file from disk - allocate and fill in the image data structure
PARAMETERS
image Image*: a pointer to the image data structure
path char*: a path to the image file on the disk

RETURNS err:
MethodJointCreateTendonerr JointCreateTendon( joint* pJoint, lattice** ppTendon )

PURPOSE Create a tendon's lattice around the specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
ppTendon lattice**: returns a pointer to tendon's lattice

RETURNS err
MethodJointDeleteTendonerr JointDeleteTendon( joint* pJoint )

PURPOSE Delete a tendon's lattice around the specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS err
MethodJointGetAxiserr JointGetAxis( joint* pJoint, i dof, Vec3f_p pAxis )

PURPOSE Get a center of specified joint.
PARAMETERS
pJoint joint*: joint
dof i: degree of freedom
pAxis Vec3f_p: pointer to World coordinates

RETURNS err
MethodJointGetBoneserr JointGetBones( joint* pJoint, gnode** ppGNode1, gnode** ppGNode2 )

PURPOSE Get pinters to two objects linked with the specified joint.
PARAMETERS
pJoint joint*: joint
ppGNode1 gnode**: pointer to linked sub-object 1
ppGNode2 gnode**: pointer to linked sub-object 2

RETURNS err
MethodJointGetConnectorserr JointGetConnectors( joint* pJoint, Vec3f_p pCon1, Vec3f_p pCon2 )

PURPOSE Get vectors pointing from the center of the joint toward centers of linked objects.
PARAMETERS
pJoint joint*: joint
pCon1 Vec3f_p: pointer to connector to object1
pCon2 Vec3f_p: pointer to connector to object2

RETURNS err
MethodJointGetLocationerr JointGetLocation( joint* pJoint, Vec3f_p pLoc )

PURPOSE Get a center of specified joint.
PARAMETERS
pJoint joint*: joint
pLoc Vec3f_p: pointer to World coordinates

RETURNS err
MethodJointLinkBoneserr JointLinkBones( joint* pJoint, gnode* pGNode1, gnode* pGNode2 )

PURPOSE Link specified two objects with the specified joint.
PARAMETERS
pJoint joint*: joint
pGNode1 gnode*: sub-object 1 to link
pGNode2 gnode*: sub-object 2 to link

RETURNS err
MethodJointSetAxiserr JointSetAxis( joint* pJoint, i dof, Vec3f_p pAxis )

PURPOSE Set a new center of specified joint.
PARAMETERS
pJoint joint*: joint
dof i: degree of freedom
pAxis Vec3f_p: pointer to World coordinates

RETURNS err
MethodJointSetConnectorserr JointSetConnectors( joint* pJoint, Vec3f_p pCon1, Vec3f_p pCon2 )

PURPOSE Set new vectors for connectors.
PARAMETERS
pJoint joint*: joint
pCon1 Vec3f_p: pointer to connector to object1
pCon2 Vec3f_p: pointer to connector to object2

RETURNS err
MethodJointSetContractorerr JointSetContractor( joint* pJoint, bone* pBone )

PURPOSE Set a bone whose muscle will be contracted by bending of specified joint.
PARAMETERS
pJoint joint*: a pointer to joint
pBone bone*: a pointer to new contractor. pBone has to be one of two bones linked by the joint.

RETURNS err
MethodJointSetDoFerr JointSetDoF( joint* pJoint, i dof )

PURPOSE Set a new set of degrees of freedom.
PARAMETERS
pJoint joint*: joint
dof i: set of active degrees of freedom ( see flags tsxJOINT_DOF_... )

RETURNS err
MethodJointSetLimitserr JointSetLimits( joint* pJoint, i dof, BOOL limits )

PURPOSE Activate/Deactivate limits for specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_...)
limits BOOL: TRUE activates limits,
FALSE deactivates limits.

RETURNS err
MethodJointSetLocationerr JointSetLocation( joint* pJoint, Vec3f_p pLoc )

PURPOSE Set a new center of specified joint.
PARAMETERS
pJoint joint*: joint
pLoc Vec3f_p: pointer to World coordinates

RETURNS err
MethodJointSetMaxLimiterr JointSetMaxLimit( joint* pJoint, i dof, f upLimit )

PURPOSE Set a new upper limit for specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_...)
upLimit f: an angle in radians for rotational DoF,
an offset in meters for translational DoF.

RETURNS err
MethodJointSetMinLimiterr JointSetMinLimit( joint* pJoint, i dof, f downLimit )

PURPOSE Set a new lower limit for specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_...)
downLimit f: an angle in radians for rotational DoF,
an offset in meters for translational DoF.

RETURNS err
MethodJointSetStiffnesserr JointSetStiffness( joint* pJoint, i dof, f stiffness )

PURPOSE Set a new stiffness for specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom (see flags tsxJOINT_DOF_...)
stiffness f: stiffness (0.0 - 1000.0)

RETURNS err
MethodJointSetTendonRateerr JointSetTendonRate( joint* pJoint, f rate )

PURPOSE Set a rate between tendon and neigboring muscles.
PARAMETERS
pJoint joint*: a pointer to joint
rate f: tendon rate for skinning. Rate is a number from range ( 0.0 , 1.0 ).

RETURNS err
MethodJointSetValueerr JointSetValue( joint* pJoint, i dof, f value )

PURPOSE Set a new value for specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_... )
value f: an angle in radians for rotational DoF,
an offset in meters for translational DoF.

RETURNS err
MethodLatheGetEdgeerr LatheGetEdge( EdgeArray_p pEdge );

(no description)
MethodLatheSetEdgeerr LatheSetEdge( EdgeArray_p pEdge );

(no description)
MethodLatticeCreateerr LatticeCreate( lattice** ppLattice, mnode* pMNode )

PURPOSE Create a default Lattice (2 x 2 x 2 chunks of degree 3) around specified object.
PARAMETERS
ppLattice lattice**: a pointer to lattice
pMNode mnode*: object

RETURNS err
MethodLatticeDeformObjecterr LatticeDeformObject( lattice* pLattice, mnode* pMNode )

PURPOSE Deform an object by stand-alone deformation.
PARAMETERS
pLattice lattice*: lattice
pMNode mnode*: object

RETURNS err
MethodLatticeDeselectAllerr LatticeDeselectAll( lattice* pLattice )

PURPOSE Deselect all control points.
PARAMETERS
pLattice lattice*: lattice

RETURNS err
MethodLatticeDeselectCrosserr LatticeDeselectCross( lattice* pLattice, LatticeVector_p pPoint )

PURPOSE Deselect control point with neigboring points.
PARAMETERS
pLattice lattice*: lattice
pPoint LatticeVector_p: pointer to coordinates of the control point

RETURNS err
MethodLatticeDeselectFloorerr LatticeDeselectFloor( lattice* pLattice, LatticeFloor_p pFloor )

PURPOSE Deselect floor of control points.
PARAMETERS
pLattice lattice*: lattice
pFloor LatticeFloor_p: pointer to specification of floor

RETURNS err
MethodLatticeDeselectLayererr LatticeDeselectLayer( lattice* pLattice, LatticeFloor_p pFloor )

PURPOSE Deselect floor of control points with neighboring floors.
PARAMETERS
pLattice lattice*: lattice
pFloor LatticeFloor_p: pointer to specification of floor

RETURNS err
MethodLatticeDeselectPointerr LatticeDeselectPoint( lattice* pLattice, LatticeVector_p pPoint )

PURPOSE Deselect control point.
PARAMETERS
pLattice lattice*: lattice
pPoint LatticeVector_p: pointer to coordinates of the control point

RETURNS err
MethodLatticeGetResolutionerr LatticeGetResolution( lattice* pLattice, LatticeVector_p chunks, LatticeVector_p degrees )

PURPOSE Get number of chunks and their degrees.
PARAMETERS
pLattice lattice*: lattice
chunks LatticeVector_p: number of chunks along S, T, and U vector
degrees LatticeVector_p: degree of chunk along S, T, and U vector

RETURNS err
MethodLatticeGetShapeerr LatticeGetShape( lattice* pLattice, Vec3f_p X0, Vec3f_p S, Vec3f_p T, Vec3f_p U )

PURPOSE Get center and edges of lattice.
PARAMETERS
pLattice lattice*: lattice
X0 Vec3f_p: local center of the lattice
S Vec3f_p: orientation and length of S vector
T Vec3f_p: orientation and length of T vector
U Vec3f_p: orientation and length of U vector

RETURNS err
MethodLatticePointsGetAxesOrientationerr LatticePointsGetAxesOrientation( lattice* pLattice, Axes3f_p axes )

PURPOSE Get the axes orientation for selected control points, as a triple of normalized orthogonal vectors.
PARAMETERS
pLattice lattice*: lattice
axes Axes3f_p:

RETURNS err.
MethodLatticePointsGetAxesPositionerr LatticePointsGetAxesPosition( lattice* pLattice, Vec3f_p posn )

PURPOSE Get the position of the center of selected control points in World coordinates.
PARAMETERS
pLattice lattice*: lattice
posn Vec3f_p: a pointer to a 3-vector

RETURNS err
MethodLatticePointsRotateerr LatticePointsRotate( lattice* pLattice, Vec3f_p pCenter, Vec3f_p pAxis, f fAngle, e_tsxXxxxFrame frameid )

PURPOSE Rotate the selected control points of specified lattice.
PARAMETERS
pLattice lattice*: lattice
pCenter Vec3f_p: Center of rotation.
pAxis Vec3f_p: Rotation axis passing thru pCenter.
fAngle f: Radians. Rotation angle.
frameid e_tsxXxxxFrame:

RETURNS err
MethodLatticePointsScaleerr LatticePointsScale( lattice* pLattice, Vec3f_p pScaleFacs, e_tsxXxxxFrame frameid )

PURPOSE Scale the selected control points of specified lattice.
PARAMETERS
pLattice lattice*: lattice
pScaleFacs Vec3f_p: x, y, z scale factors (non-zero)
frameid e_tsxXxxxFrame: Reference frame for the scaling axes

RETURNS err
MethodLatticePointsSetAxesOrientationerr LatticePointsSetAxesOrientation( lattice* pLattice, Axes3f_p axes )

PURPOSE Set the axes orientation for selected control points, as a triple of normalized orthogonal vectors.
PARAMETERS
pLattice lattice*: lattice
axes Axes3f_p: pointer to a triple of normalized orthogonal vectors

RETURNS err.
MethodLatticePointsSetAxesPositionerr LatticePointsSetAxesPosition( lattice* pLattice, Vec3f_p posn )

PURPOSE Set the position of the center of selected control points in World coordinates.
PARAMETERS
pLattice lattice*: lattice
posn Vec3f_p: a pointer to a 3-vector

RETURNS err
MethodLatticePointsTranslateerr LatticePointsTranslate( lattice* pLattice, Vec3f_p pVec, e_tsxXxxxFrame frameid )

PURPOSE Move the selected control points of specified lattice
PARAMETERS
pLattice lattice*: lattice
pVec Vec3f_p: translation vector
frameid e_tsxXxxxFrame: Reference frame for pVec

RETURNS err
MethodLatticeSelectCrosserr LatticeSelectCross( lattice* pLattice, LatticeVector_p pPoint )

PURPOSE Select control point with neigboring points.
PARAMETERS
pLattice lattice*: lattice
pPoint LatticeVector_p: pointer to coordinates of the control point

RETURNS err
MethodLatticeSelectFloorerr LatticeSelectFloor( lattice* pLattice, LatticeFloor_p pFloor )

PURPOSE Select floor of control points.
PARAMETERS
pLattice lattice*: lattice
pFloor LatticeFloor_p: pointer to specification of floor

RETURNS err
MethodLatticeSelectLayererr LatticeSelectLayer( lattice* pLattice, LatticeFloor_p pFloor )

PURPOSE Select floor of control points with neighboring floors.
PARAMETERS
pLattice lattice*: lattice
pFloor LatticeFloor_p: pointer to specification of floor

RETURNS err
MethodLatticeSelectPointerr LatticeSelectPoint( lattice* pLattice, LatticeVector_p pPoint )

PURPOSE Select control point.
PARAMETERS
pLattice lattice*: lattice
pPoint LatticeVector_p: pointer to coordinates of the control point

RETURNS err
MethodLatticeSetResolutionerr LatticeSetResolution( lattice* pLattice, LatticeVector_p chunks, LatticeVector_p degrees )

PURPOSE Set number of chunks and their degrees.
PARAMETERS
pLattice lattice*: lattice
chunks LatticeVector_p: number of chunks along S, T, and U vector
degrees LatticeVector_p: degree of chunk along S, T, and U vector

RETURNS err
MethodLatticeSetShapeerr LatticeSetShape( lattice* pLattice, Vec3f_p X0, Vec3f_p S, Vec3f_p T, Vec3f_p U )

PURPOSE Set center and edges of lattice.
PARAMETERS
pLattice lattice*: lattice
X0 Vec3f_p: local center of the lattice
S Vec3f_p: orientation and length of S vector
T Vec3f_p: orientation and length of T vector
U Vec3f_p: orientation and length of U vector

RETURNS err
MethodLatticeStopDeformObjecterr LatticeStopDeformObject( lattice* pLattice, mnode* pMNode )

PURPOSE Stop deforming of an object by stand-alone deformation.
PARAMETERS
pLattice lattice*: lattice
pMNode mnode*: object

RETURNS err
MethodLightCreateInSceneerr LightCreateInScene( e_tsxLT_xxxx LtType )

PURPOSE Creates a Light of specified LtType at world origin, with default position, orientation and attributes. On success, the new Light is the currently selected object.
Default location: Spot, Local -- (0,0,1), Infinite -- (0,0,0).
Default orientation: 180 deg rotation about world X, making its Z axis point towards the world origin (spot, infinite).
The axes are aligned as follows:
X aligned with World X,
Y and Z aligned with world negative Y and negative Z.
PARAMETERS
LtType e_tsxLT_xxxx: type of the light created

RETURNS err
MethodMaterialCreateerr MaterialCreate( mate** ppMatrl )

PURPOSE Create a new material object with default properties:
- reflection shading = tsxSHADER_FLAT
- Surface smoothness = tsxFACET_FACETED
- alpha-chanel = 1
- index of refraction = 1
- Texture U repeats = 1
- Texture V repeats = 1
- Bump U repeats = 1
- Bump V repeats = 1
- Bump amplitude = 1
- Zero (0) in the rest of the fields
Ptr to new object assigned to ppMatrl on success.
PARAMETERS
ppMatrl mate**: a pointer to a pointer to the new material

RETURNS err
MethodMaterialCreateCopyerr MaterialCreateCopy( mate** ppNewMatrl, mate* pOldMatrl )

PURPOSE Create a new material object, with same properties as pOldMatrl. Ptr to new object assigned to ppNewMatrl on success.
PARAMETERS
ppNewMatrl mate**: a pointer to a pointer to the new material
pOldMatrl mate*: a pointer to the material being copied

RETURNS err
MethodMaterialCreateCopyActiveerr MaterialCreateCopyActive( mate** ppMatrl )

PURPOSE Create a new material object, with same properties as the Active Material. Ptr to new object assigned to ppMatrl on success.
PARAMETERS
ppMatrl mate**: a pointer to a pointer to the new material

RETURNS err
MethodMaterialGetTextureFromProceduralColorerr MaterialGetTextureFromProceduralColor( mate* mat, Image *image )

PURPOSE Compute the texture image from the procedural color shader
PARAMETERS
mat mate*: a pointer to the material
image Image*: pointer to the resulting texture image computed

RETURNS err: tsxERR_SUCCESS if successful, error code otherwise
MethodMetaballConvertToPolyerr MetaballConvertToPoly( mball* pMetaball, bool ask, mnode **pPolyh )

PURPOSE Converts Metaball object to polyhedral mesh
PARAMETERS
pMetaball mball *: pointer to a metaball object
ask bool: e_tsxTRUE to allow trueSpace to ask the user to confirm the conversion, e_tsxFALSE otherwise
pPolyh mnode**: pointer to the converted polyhedron

RETURNS err:
MethodMetaballEditModeerr MetaballEditMode( mball* pMetaball, bool start )

PURPOSE Start/stop the metaball edit mode for metaball object.
PARAMETERS
pMetaball mball *: pointer to a metaball object
start bool: e_tsxTRUE to start the edit mode, e_tsxFALSE to stop it

RETURNS err:
MethodMiscBenchmarkAnimationerr MiscBenchmarkAnimation( f* totalTime, f* averageFPS, f* minFPS );

(no description)
MethodMiscBenchmarkRendererr MiscBenchmarkRender( f* totalTime );

(no description)
MethodMtoolInstallerr MtoolInstall( i tsxid, tsxMtoolMsg pMtoolMsgFunc, tsxMtoolClick pMtoolEventFunc )

PURPOSE Install the mouse-tool if the eXtension is active. Function pointers cannot be NULL.
PARAMETERS
tsxid i: extension-id (see tsxGetData)
pMtoolMsgFunc tsxMtoolMsg: mouse-tool-message callback
pMtoolEventFunc tsxMtoolClick: mouse-event callback

RETURNS err
MethodMuscleAddVerticeserr MuscleAddVertices( lattice* pMuscle, polyh* pPolyh, i iNbrVertices, i* pVertexIndices )

PURPOSE Add a list of vertices of specified polyhedron to specified muscle. While each vertex can be only in one muscle or tendon, they all are removed from other muscles and tendons.
PARAMETERS
pMuscle lattice*: a pointer to muscle's lattice
pPolyh polyh*: a pointer to polyhedron.
INbrVertices i: a number of vertices
pVertexIndices i*: an array of indices.

RETURNS err
MethodMuscleRemoveVerticeserr MuscleRemoveVertices( lattice* pMuscle, polyh* pPolyh, i iNbrVertices, i* pVertexIndices )

PURPOSE Remove a list of vertices of specified polyhedron from specified muscle. Vertices are not automaticaly moved into other muscle or tendon.
PARAMETERS
pMuscle lattice*: a pointer to muscle's lattice
pPolyh polyh*: a pointer to polyhedron.
INbrVertices i: a number of vertices
pVertexIndices i*: an array of indices.

RETURNS err
MethodNCurveChordLengthKnotserr NCurveChordLengthKnots( ncurve *nc, bool piecewise_bezier )

PURPOSE Generate knot vector for the curve. Knot spacing will depend on distances between control points. This produces better, more uniform, curve parameterization than equally spaced knots. Shape of the curve, however, is not affected by parameterization (you'll get the same shape with equally spaced knots and chord length knots).
PARAMETERS
nc tsxNCurve*: pointer to the curve
piecewise_bezier bool: create knots for piecewise Bezier curve (multiple knots) or for ordinary NURBS curve (no multiple knots)

RETURNS err
MethodNCurveClearerr NCurveClear( ncurve *nc )

PURPOSE Bring curve to an empty state (0 control points).
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS err
MethodNCurveCreateerr NCurveCreate( ncurve **nc )

PURPOSE Create an empty curve. The Model-Axes are set to World axes. Vertex transformation matrix is set to identity matrix.
PARAMETERS
nc ncurve**: pointer to a pointer to new curve

RETURNS err
MethodNCurveDerivCurveserr NCurveDerivCurves( ncurve *nc, i max_deriv, DerivCurves_p *der_curves )

PURPOSE Compute derivative curves for the curve. Derivative curves are used for curve derivatives computation: k-th derivative of the curve at parameter u is computed by evaluation of its k-th derivative curve at u. This is done in tsxNCurveDerivs.
PARAMETERS
nc tsxNCurve*: pointer to the curve
max_deriv i: number of derivatives to consider (0-th to max_deriv-th)
der_curves DerivCurves_p: pointer to empty structure for keeping derivative curves

RETURNS err
MethodNCurveDerivserr NCurveDerivs( DerivCurves_p *der_curves, i max_deriv, f u, Vec3f_p *derivs )

PURPOSE Compute derivatives of the curve at given parameter.
PARAMETERS
der_curves DerivCurves_p: pointer to structure keeping derivative curves initialized by tsxNCurveDerivCurves
max_deriv i: number of derivatives to compute (0-th to max_deriv-th)
u f: curve parameter
derivs Vec3f_p: pointer to array to store computed derivatives (0-th to max_deriv-th)

RETURNS err
MethodNCurveEquallySpacedKnotserr NCurveEquallySpacedKnots( ncurve *nc, bool piecewise_bezier )

PURPOSE Generate knot vector for the curve. Knots will be equally spaced.
PARAMETERS
nc tsxNCurve*: pointer to the curve
piecewise_bezier bool: create knots for piecewise Bezier curve (multiple knots) or for ordinary NURBS curve (no multiple knots)

RETURNS err
MethodNCurveFrameserr NCurveFrames( ncurve *nc, f *u_parms, i nparms, Vec3f_p *frm_pos, Axes3f_p *frm_axes )

PURPOSE Find curve frame - local coordinate system - for each given u parameter. Frame origin is at curve point with parameter u, x axis is parallel to 1-st derivative (curve tangent) at this point and axes y and z are chosen. Algorithm avoids oscillation of y and z axes.
PARAMETERS
nc tsxNCurve*: pointer to the curve
u_parms f*: pointer to array of u parameters
nparms i: number of u parameters
frm_pos Vec3f_p: pointer to array to store origins of computed frames
frm_axes Axes3f_p: pointer to array to store axes of computed frames

RETURNS err
MethodNCurveGetSelectedCntlPointerr NCurveGetSelectedCntlPoint( ncurve *nc, i *idx )

PURPOSE Get index of selected control point of the curve.
PARAMETERS
nc ncurve*: pointer to the curve
idx i*: place to store the index of selected control point

RETURNS err
MethodNCurveInverterr NCurveInvert( ncurve *nc )

PURPOSE Invert the curve, i.e. flip its direction.
PARAMETERS
nc tsxNCurve*: pointer to the curve

RETURNS err
MethodNCurveMarkCntlPointChangeerr NCurveMarkCntlPointChange( ncurve *nc, i i )

PURPOSE Mark control point of the curve as changed. During vertex animation recording only the information for marked points will be saved.
PARAMETERS
nc ncurve*: pointer to the curve
i i: index of changed control point

RETURNS err
MethodNCurvePointerr NCurvePoint( ncurve *nc, f u, Vec3f_p *pnt )

PURPOSE Get point on the curve at given u parameter.
PARAMETERS
nc ncurve*: pointer to the curve
u f: u parameter of the point
pnt Vec3f_p: place to store computed point

RETURNS err
MethodNCurveRefineKnotVectorerr NCurveRefineKnotVector( ncurve *nc, f *knots, i nknots )

PURPOSE Insert new knots into existing curve knot vector at one step. Knot insertion results in change of number of control points too: one point per one inserted knot. Knot insertion doesn't change the shape of the curve.
PARAMETERS
nc ncurve*: pointer to the curve
knots f*: pointer to array of knots to be inserted
nknots i: number of knots

RETURNS err
MethodNCurveResetMarkedCntlPtserr NCurveResetMarkedCntlPts( ncurve *nc )

PURPOSE Mark all control points of the curve as unchanged.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS err
MethodNCurveSelectCntlPointerr NCurveSelectCntlPoint( ncurve *nc, i idx )

PURPOSE Select control point of the curve. Call tsxNCurveBuildVisRep to highlight the selected point.
PARAMETERS
nc ncurve*: pointer to the curve
idx i: index to array of curve's control points

RETURNS err
MethodNCurveToPiecewiseBeziererr NCurveToPiecewiseBezier( ncurve *nc )

PURPOSE Turn general NURBS curve into piecewise Bezier curve. Shape of the curve won't be changed, only some control points and knots will be added.
PARAMETERS
nc tsxNCurve*: pointer to the curve

RETURNS err
MethodNPatchBuildVisReperr NPatchBuildVisRep( npatch *np, bool cmesh, bool iso, bool facets, i flags )

PURPOSE Build visual representation of the patch. Parts to be rebuilt (facets, isocurves, control mesh) must be specified.
PARAMETERS
np npatch*: pointer to the patch
cmesh bool: show control mesh
iso bool: build isocurves
facets bool: build facets
flags i: can be tsxNPATCH_VR_DRAG (use coarse facetizations because we're in mouse drag)

RETURNS err
MethodNPatchBuildVisRepAutoerr NPatchBuildVisRepAuto( npatch *np, i flags )

PURPOSE Automatically build visual representation of the patch. I.e. create facets if solid display mode is active and/or create isocurves if wireframe display mode is active and/or build net connecting control points if its display is enabled.
PARAMETERS
np npatch*: pointer to the patch
flags i: can be tsxNPATCH_VR_DRAG (use coarse facetizations because we're in mouse drag)

RETURNS err
MethodNPatchChordLengthKnotserr NPatchChordLengthKnots( npatch *np, bool piecewise_bezier )

PURPOSE Generate knot vectors for the patch. Knot spacing will depend on distances between control points. This produces better, more uniform, patch parameterization than equally spaced knots. Shape of the patch, however, is not affected by parameterization (you'll get the same shape with equally spaced knots and chord length knots).
PARAMETERS
np npatch*: pointer to the patch
piecewise_bezier bool: create knots for piecewise Bezier patch (multiple knots) or for ordinary NURBS patch (no multiple knots)

RETURNS bool
MethodNPatchClearerr NPatchClear( npatch *np )

PURPOSE Bring patch to an empty state (0 x 0 control points).
PARAMETERS
np npatch *: pointer to the curve

RETURNS err
MethodNPatchCreateerr NPatchCreate( npatch **np )

PURPOSE Create an empty patch. Vertex transformation matrix is set to identity matrix.
PARAMETERS
np npatch**: pointer to a pointer to new patch

RETURNS err
MethodNPatchDeselectAllerr NPatchDeselectAll( npatch *np )

PURPOSE Deselect all patch control point.
PARAMETERS
np npatch*: pointer to the patch

RETURNS err
MethodNPatchDeselectCntlPtserr NPatchDeselectCntlPts( npatch *np, i npnts, i *i_indices, i *j_indices )

PURPOSE Deselect patch control points.
PARAMETERS
np npatch*: pointer to the patch
npts i: number of points to deselect
i_indices i*: pointer to array of indices (U direction) of control points
j_indices i*: pointer to array of indices (V direction) of control points

RETURNS err
MethodNPatchEditMoveAnimPointerr NPatchEditMoveAnimPoint( npatch *np, i i, i j, Vec3f_p *move, f key_frame )

PURPOSE Function to apply movement to one animated patch point in given key-frame and to update adjacent points too to keep the patch smooth. If the point is on the seam of closed patch, update all necessary points to keep continuity. Patch edit tool must be active (tsxNPatchEditActivate()) before call.
PARAMETERS
np npatch*: NURBs patch
i i: u-index of the point to manipulate
j i: v-index of the point to manipulate
move Vec3f_p: vector specifying the translation of the point
key_frame f: key-frame time at which to apply the 'move' to point Pij

RETURNS err
MethodNPatchEquallySpacedKnotserr NPatchEquallySpacedKnots( npatch *np, bool piecewise_bezier )

PURPOSE Generate knot vectors for the patch. Knots will be equally spaced.
PARAMETERS
np npatch*: pointer to the patch
piecewise_bezier bool: create knots for piecewise Bezier patch (multiple knots) or for ordinary NURBS patch (no multiple knots)

RETURNS bool
MethodNPatchExtractIsocurveerr NPatchExtractIsocurve( npatch *np, e_tsxNPATCH_DIR_x dir, f u, ncurve *nc )

PURPOSE Extract isoparametric curve from the patch in given direction for constant u or v parameter.
PARAMETERS
np npatch*: pointer to the patch
dir e_tsxNPATCH_DIR_x: parametric direction (e_tsxNPATCH_DIR_U or e_tsxNPATCH_DIR_V)
u f: iso parameter
nc ncurve*: Pointer to the curve. If the curve is not empty, its data will be freed before extraction.

RETURNS err:
MethodNPatchGetSelectedCntlPtserr NPatchGetSelectedCntlPts( npatch *np, i *npnts, i *i_indices, i *j_indices )

PURPOSE Get indices of all selected patch control points.
PARAMETERS
np npatch*: Pointer to the patch
npts i*: Number of selected control points
i_indices i*: Pointer to buffer to store indices (U direction) of control points. Buffer length must be equal to number of control points of the patch.
j_indices i*: pointer to buffer to store indices (V direction) of control points. Buffer length must be equal to number of control points of the patch.

RETURNS err
MethodNPatchInverterr NPatchInvert( npatch *np, e_tsxNPATCH_DIR_x dir )

PURPOSE Invert the patch, i.e. flip its direction, in U or V direction. Inversion changes surface orientation (normals are flipped).
PARAMETERS
np npatch*: pointer to the patch
dir e_tsxNPATCH_DIR_x: parametric direction (e_tsxNPATCH_DIR_U or e_tsxNPATCH_DIR_V)

RETURNS err:
MethodNPatchLineIntersectionerr NPatchLineIntersection( npatch *np, Vec3f_p *p1, Vec3f_p *p2, f tolerance, i max_unmerg_inters, Vec2f_p **inters, i *ninters )

PURPOSE Find intersections of the patch with a line.
PARAMETERS
np npatch*: Pointer to the patch
p1 Vec3f_p: Pointer to first line point
p2 Vec3f_p: Pointer to second line point
tolerance f: Tolerance. All computed intersections will be distant from real intersections at most 'tolerance' world units. Set to -1 to use default tolerance.
max_unmerg_inters i: Max number of unmerged intersections to find (there's 4 times more unmerged intersections, in average, than final intersections). Set to -1 to use default value. Lower value can be faster in tangential case (line almost tangent to surface), but not all intersection must be found.
inters Vec2f: Pointer to pointer to array intersections' UV coordinates. Array must be freed after use.
ninters i*: Pointer to number of intersection

RETURNS err
MethodNPatchMarkCntlPointChangeerr NPatchMarkCntlPointChange( npatch *np, i i, i j )

PURPOSE Mark control point of the patch as changed. During vertex animation recording only the information for marked points will be saved.
PARAMETERS
np npatch*: pointer to the patch
i i: index of control point (U direction)
j i: index of control point (V direction)

RETURNS err
MethodNPatchPointerr NPatchPoint( npatch *np, f u, f v, Vec3f_p *pnt )

PURPOSE Get point on the patch at given u,v parameters.
PARAMETERS
np npatch*: pointer to the patch
u f: u parameter
v f: v parameter
pnt Vec3f_p: computed patch point

RETURNS err
MethodNPatchRefineKnotVectorerr NPatchRefineKnotVector( npatch *np, f *knots, i nknots, e_tsxNPATCH_KNOT_VECTOR_x dir )

PURPOSE Insert new knots into existing knot vector of the patch at one step. Knot insertion results in change of number of control points too: one row of control points per one inserted knot. Knot insertion doesn't change the shape of the patch.
PARAMETERS
np npatch*: pointer to the patch
knots f*: pointer to array of knots to be inserted
nknots i: number of knots
dir e_tsxNPATCH_KNOT_VECTOR_x: e_tsxNPATCH_KNOT_VECTOR_U or e_tsxNPATCH_KNOT_VECTOR_V

RETURNS err
MethodNPatchRefineKnotVectorExterr NPatchRefineKnotVectorExt( npatch *np, f *knots, i nknots, e_tsxNPATCH_KNOT_VECTOR_x dir, i *newrow )

PURPOSE The same functionality as tsxNPatchRefineKnotVector but returns index of new created row of interpolation control points.
PARAMETERS
np npatch*: pointer to the patch
knots f*: pointer to array of knots to be inserted
nknots i: number of knots
dir e_tsxNPATCH_KNOT_VECTOR_x: e_tsxNPATCH_KNOT_VECTOR_U or e_tsxNPATCH_KNOT_VECTOR_V
newrow i*: index of the row created

RETURNS err
MethodNPatchResetMarkedCntlPtserr NPatchResetMarkedCntlPts( npatch *np )

PURPOSE Mark all control points of the patch as unchanged.
PARAMETERS
np npatch*: Pointer to the patch

RETURNS err
MethodNPatchSelectCntlPtserr NPatchSelectCntlPts( npatch *np, i npnts, i *i_indices, i *j_indices )

PURPOSE Select patch control points. Points will be highlighted.
PARAMETERS
np npatch*: pointer to the patch
npts i: number of points to select
i_indices i*: pointer to array of indices (U direction) of control points
j_indices i*: pointer to array of indices (V direction) of control points

RETURNS err
MethodNPatchToPiecewiseBeziererr NPatchToPiecewiseBezier( npatch *np )

PURPOSE Turn general NURBS patch into piecewise Bezier patch. Shape of the patch won't be changed, only some control points and knots will be added.
PARAMETERS
np npatch*: pointer to the patch

RETURNS err
MethodPathFromAnimationerr PathFromAnimation( path** ppPath, sobj* pSobj )

PURPOSE Attach copy of animation data of Sobj to the Path.
PARAMETERS
ppPath path**: returns a pointer to a newly created Path
pSobj sobj*: a pointer to Sobj

RETURNS err
MethodPathFromMacroerr PathFromMacro( path** ppPath )

PURPOSE Transform Macro data from sweeping tool into MOVE, ROTATE, and SCALE animation data attached to the Path.
PARAMETERS
ppPath path**: returns a pointer to a newly created Path

RETURNS err
MethodPathFromNCurveerr PathFromNCurve( path** ppPath, ncurve *nc, tsxNCURVESAMPLING sampling, f max_angle, i curve_subdiv, i n_segments )

PURPOSE This function creates a line of the same shape as the original NURBs curve.
PARAMETERS
ppPath path**: returns a pointer to a newly created Path
nc ncurve*: NURBs curve to create path from
sampling tsxNCURVESAMPLING: sampling method to be used for the conversion
max_angle f: maximum tangent deviation that doesn't emit key frame in case of e_tsxTRACK sampling
curve_subdiv i: number of curve subdivisions in case of e_tsxHOMOGENOUS sampling
n_segments i: number of segments in case of e_tsxSEGMENTS sampling

RETURNS err
MethodPathFromPolygonerr PathFromPolygon( path** ppPath, polyh* pPolyh )

PURPOSE This function creates a line of the same shape with as many control points as there are vertices in the polygon. tsxPathFromPolygon() is not a symmetrical function to tsxPathToPolygon( ). A path specifies a spline line. When this spline line is turned to a polygon, the spline related information is not associated with the resulted polygon. Thus it is not possible to restore the same spline line from the polygon.
PARAMETERS
ppPath path**: returns a pointer to a newly created Path
pPolyh ponter to polygon

RETURNS err
MethodPathToMacroerr PathToMacro( path* pPath )

PURPOSE Transform MOVE, ROTATE, and SCALE animation data attached to the Path into Macro for sweeping tool.
PARAMETERS
pPath path*: a pointer to Path

RETURNS err
MethodPathToPolygonerr PathToPolygon( path* pPath, polyh** ppPolyh )

PURPOSE Transform MOVE animation data attached to the Path into polygon. Spline path for MOVE animation is projected into World X-Y plane and transformed into plane polygon.
PARAMETERS
pPath path*: a pointer to Path
ppPolyh polyh**: returns a pointer to a newly created Polyhedron

RETURNS err
MethodPhysSimSetFixationPointserr PhysSimSetFixationPoints( sobj *pObj, Vec3f_p vecFx1, Vec3f_p vecFx2, Vec3f_p vecFx3, i valid )

PURPOSE Sets fixation points for specified phys sim object.
PARAMETERS
pObj sobj*: Pointer to the object
vecFx1 Vec3f_p : the first fixation point
vecFx2 Vec3f_p : the second fixation point
vecFx3 Vec3f_p : the third fixation point
valid i: number of valid fixation points that will be set

RETURNS err
MethodPhysSimSetPerPrimStatuserr PhysSimSetPerPrimStatus( sobj *pObj, bool value )

PURPOSE Sets for specified phys sim object to simulate physics for each primitive.
Notes:
- If the status is changing, animation of the object will be deleted.
- It is necessary to unselect the object if it is selected. Otherwise the
selection will not working properly.
PARAMETERS
pObj sobj*: Pointer to the object
value bool: e_tsxTRUE = simulate each primitive separately

RETURNS err:
MethodPipeSurfConstructerr PipeSurfConstruct( ncurve *prof, ncurve *rail, i snap, bool snap_align, bool apply_snap, i tracking, f pnt_parm, Vec3f_p *trk_pnt, npatch *np )

PURPOSE Build pipe surface given by profile and rail curve.
PARAMETERS
prof ncurve*: Pointer to profile curve
rail ncurve*: Pointer to rail curve
snap i: Tells whether profile or rail stays on place:
tsxPIPE_SNAP_PROF_TO_RAIL - rail stays on place
tsxPIPE_SNAP_RAIL_TO_PROF - profile stays on place
snap_align bool: Align prof's normal with rail's tangent at u = 0 before sweeping
apply_snap bool: Apply snap transformation to original curve
tracking i: Tells which point of profile will track the rail:
tsxPIPE_TRACK_CENTER - profile's center tracks the rail
tsxPIPE_TRACK_U_PNT - profile's point given by pnt_parm tracks the rail
tsxPIPE_TRACK_WLD_PNT - given world point tracks the rail
pnt_parm f: U parameter value for point on profile (tsxPIPE_TRACK_U_PNT)
trk_pnt Vec3f_p: Pointer to world point for tsxPIPE_TRACK_WLD_PNT
np npatch*: Pointer to output patch. If it's not empty, its data will be freed before the operation. Transformation matrix of the patch will not change.

RETURNS err
MethodPointsBevelerr PointsBevel( void )

PURPOSE Bevel selected faces of currently selected object.
PARAMETERS

RETURNS err
MethodPointsClearerr PointsClear( void )

PURPOSE Deactivate point-edit.
PARAMETERS

RETURNS err
MethodPointsEraseerr PointsErase( void )

PURPOSE Erase all selected vertices, edges and faces of currently selected object.
PARAMETERS

RETURNS err
MethodPointsGetAxesOrientationerr PointsGetAxesOrientation( Axes3f_p axes )

PURPOSE Get the axes orientation for selected points, as a triple of normalized orthogonal vectors.
PARAMETERS
axes Axes3f_p:

RETURNS err.
MethodPointsGetAxesPositionerr PointsGetAxesPosition( Vec3f_p posn )

PURPOSE Get the position of the center of selected points in World coordinates.
PARAMETERS
posn Vec3f_p: a pointer to a 3-vector

RETURNS err
MethodPointsLatheerr PointsLathe( void )

PURPOSE Lathe selected faces of currently selected object.
PARAMETERS

RETURNS err
MethodPointsMacroSweeperr PointsMacroSweep( void )

PURPOSE Sweep selected faces of currently selected object along the active Macro.
PARAMETERS

RETURNS err
MethodPointsPainterr PointsPaint( void );

(no description)
MethodPointsQuadDiverr PointsQuadDiv( void )

PURPOSE QuadDivide the selected faces of currently selected object.
PARAMETERS

RETURNS err
MethodPointsRotateerr PointsRotate( Vec3f_p pCenter, Vec3f_p pAxis, f fAngle, e_tsxXxxxFrame frameid )

PURPOSE Rotate the selected vertices, edges, and faces of currently selected object.
PARAMETERS
pCenter Vec3f_p: Center of rotation.
pAxis Vec3f_p: Rotation axis passing thru pCenter.
fAngle f: Radians. Rotation angle.
frameid e_tsxXxxxFrame:

RETURNS err
MethodPointsScaleerr PointsScale( Vec3f_p pScaleFacs, e_tsxXxxxFrame frameid )

PURPOSE Scale the selected vertices, edges, and faces of currently selected object.
PARAMETERS
pScaleFacs Vec3f_p: x, y, z scale factors ( non-zero )
frameid e_tsxXxxxFrame: Reference frame for the scaling axes

RETURNS err
MethodPointsSeparateerr PointsSeparate( void )

PURPOSE Separate all selected faces of currently selected object from the rest of the object to form a new object.
PARAMETERS

RETURNS err
MethodPointsSetAxesOrientationerr PointsSetAxesOrientation( Axes3f_p axes )

PURPOSE Set the axes orientation for selected points, as a triple of normalized orthogonal vectors.
PARAMETERS
axes Axes3f_p: pointer to a triple of normalized orthogonal vectors

RETURNS err.
MethodPointsSetAxesPositionerr PointsSetAxesPosition( Vec3f_p posn )

PURPOSE Set the position of the center of selected points in World coordinates.
PARAMETERS
posn Vec3f_p: a pointer to a 3-vector

RETURNS err
MethodPointsSmoothDiverr PointsSmoothDiv( void )

PURPOSE SmoothDivide the selected faces of currently selected object.
PARAMETERS

RETURNS err
MethodPointsSweeperr PointsSweep( void )

PURPOSE Sweep selected faces of currently selected object.
PARAMETERS

RETURNS err
MethodPointsTiperr PointsTip( void )

PURPOSE Tip selected faces of currently selected object.
PARAMETERS

RETURNS err
MethodPointsTranslateerr PointsTranslate( Vec3f_p pVec, e_tsxXxxxFrame frameid )

PURPOSE Move the selected vertices, edges, and faces of currently selected object.
PARAMETERS
pVec Vec3f_p: translation vector
frameid e_tsxXxxxFrame: Reference frame for pVec

RETURNS err
MethodPointsUVMaperr PointsUVMap( void );

(no description)
MethodPointsWelderr PointsWeld( void )

PURPOSE Merge each group of selected vertices that are interconnected by edges ( of currently selected object ) into one vertex.
PARAMETERS

RETURNS err
MethodPolyhComputeFaceAdjacencyerr PolyhComputeFaceAdjacency( polyh* pPolyh )

PURPOSE Set up the `nextfaceix' fields in FaceVx_p structs. To be called after all the other Face-Vertex data has been set for all faces.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS err
MethodPolyhCreateerr PolyhCreate( polyh** ppPolyh )

PURPOSE Create an empty Polyhedron (0 vertices and faces). The Model-Axes are set to the World Axes. The Vertex Transformation Matrix is set to the identity matrix with no translation.
PARAMETERS
ppPolyh polyh**: a pointer to a pointer to the new polyhedron

RETURNS err
MethodPolyhDeselectAllerr PolyhDeselectAll( polyh* pPolyh );

(no description)
MethodPolyhDeselectEdgeserr PolyhDeselectEdges( polyh* pPolyh, i iNbrEdges, EdgeArray_p pEdges )

PURPOSE Deselect specified edges.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrEdges i: a number of edges to deselect
pEdges EdgeArray_p: an array of edges to deselect

RETURNS err
MethodPolyhDeselectFaceserr PolyhDeselectFaces( polyh* pPolyh, i iNbrFaces, i* pFaceIndices )

PURPOSE Deselect specified faces.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrFaces i: a number of faces to deselect
pFaceIndices i*: an array of indices of faces to deselect

RETURNS err
MethodPolyhDeselectVerticeserr PolyhDeselectVertices( polyh* pPolyh, i iNbrVertices, i* pVertexIndices )

PURPOSE Deselect specified vertices.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrVertices i: a number of vertices to deselect
pVertexIndices i*: an array of indices of vertices to deselect

RETURNS err
MethodPolyhInitializeMaterialserr PolyhInitializeMaterials( polyh* pPolyh )

PURPOSE Assign active material to entire Polyhedron. Call this function AFTER setting/modifying a polyhedron's geometry, and BEFORE painting faces or vertices. Use other material functions to specify specific materials.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS err
MethodPolyhInvertFaceNormalserr PolyhInvertFaceNormals( polyh* pPolyh )

PURPOSE Invert face normals. The geometry of the polyhedron is modified so that all faces are pointing the opposite way.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS err
MethodPolyhKillEdgeerr PolyhKillEdge( polyh* pPolyh, EdgeArray_p pEdge )

PURPOSE Kill an edge.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pEdge EdgeArray_p: start and end vertex of an edge

RETURNS err
MethodPolyhKillVertexOnEdgeerr PolyhKillVertexOnEdge( polyh* pPolyh, i iVertex )

PURPOSE Kill a vertex on an edge.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iVertex i: an index of a vertex

RETURNS err
MethodPolyhMakeEdgeerr PolyhMakeEdge( polyh* pPolyh, EdgeArray_p pEdge )

PURPOSE Make a new edge that connects two existing vertices.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pEdge EdgeArray_p: start and end vertex of the new edge

RETURNS err
MethodPolyhMakeEdgeFromVertexerr PolyhMakeEdgeFromVertex( polyh* pPolyh, EdgeArray_p pEdge, i iFace, Vec3f_p pVect )

PURPOSE Make a new vertex on a face and connect it by a new edge with a vertex.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pEdge EdgeArray_p:
iStartVertex: an index of existing vertex
iEndVertex: returns an index of a new vertex
iFace i: an index of a face
pVect Vec3f_p: local coordinates of the new vertex on the face

RETURNS err
MethodPolyhMakeEdgeOnFaceerr PolyhMakeEdgeOnFace( polyh* pPolyh, EdgeArray_p pEdge, i iFace, Vec3f_p pVect1, Vec3f_p pVect2 )

PURPOSE Make a new edge on a face with two new vertices.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pEdge EdgeArray_p: returns indices of two new vertices
iFace i: an index of a face
pVect1 Vec3f_p: local coordinates of the start vertex
pVect2 Vec3f_p: local coordinates of the end vertex

RETURNS err
MethodPolyhMakeFaceOnFaceerr PolyhMakeFaceOnFace( polyh* pPolyh, i iFace, Vec3f_p pVect, i* iFace2 )

PURPOSE Make a new face on a face with the same shape scaled in.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iFace i: an index of a face
pVect Vec3f_p: local coordinates of a point through which the new face will go
iFace2 i*: returns an index of the new face

RETURNS err
MethodPolyhMakeVertexOnEdgeerr PolyhMakeVertexOnEdge( polyh* pPolyh, i* iVertex, EdgeArray_p pEdge, f t )

PURPOSE Make a new vertex on an edge.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iVertex i*: returns an index of a new vertex
pEdge EdgeArray_p: start and end vertex of the edge
t f: relative position of the new vertex on the edge ( 0.0 : 1.0 )

RETURNS err
MethodPolyhPhrenderFaceerr PolyhPhrenderFace( polyh* pPolyh,i iFaceIndex )

PURPOSE Photo-render a face in the active view.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iFaceIndex i: index to the face to be rendered

RETURNS err
MethodPolyhSelectEdgeserr PolyhSelectEdges( polyh* pPolyh, i iNbrEdges, EdgeArray_p pEdges )

PURPOSE Select specified edges.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrEdges i: a number of edges to select
pEdges EdgeArray_p: an array of edges to select

RETURNS err
MethodPolyhSelectFaceserr PolyhSelectFaces( polyh* pPolyh, i iNbrFaces, i* pFaceIndices )

PURPOSE Select specified faces.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrFaces i: a number of faces to select
pFaceIndices i*: an array of indices of faces to select

RETURNS err
MethodPolyhSelectVerticeserr PolyhSelectVertices( polyh* pPolyh, i iNbrVertices, i* pVertexIndices )

PURPOSE Select specified vertices.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrVertices i: a number of vertices to select
pVertexIndices i*: an array of indices of vertices to select

RETURNS err
MethodPolyhTessellateerr PolyhTessellate( polyh* pPolyh )

PURPOSE Tessellate the polyhedron. The geometry of the polyhedron is modified so that all faces are triangles. If the original polyhedron had some non-triangular faces, then the number of faces will probably increase. Actually replaces the internal face and related structures.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS err
MethodQuaternionToEulererr QuaternionToEuler( Quaternion_p *q,Vec3f_p *angles )

PURPOSE To get three euler angles representing a rotation specified by the quaternion.
PARAMETERS
q input quaternion
angles output angles (stored in vector structure)

RETURNS Nonzero if failed, otherwise tsxERR_SUCCESS
MethodRegisterWidgetTypeerr RegisterWidgetType( char *widgetsname, tsxWDGINTACS_xxxx wdgIntAcs, tsxWDG_CreateWidget *tsxCreateWidgetCB, tsxWDG_CloneWidget *tsxCloneWidgetCB )

PURPOSE To register new type of widget.
PARAMETERS
widgetsname char*: a unique name of the registered widget's type
wdgIntAcs tsxWDGINTACS_xxxx: the interface access flags
tsxCreateWidgetCB tsxWDG_CreateWidget*: pointer to callback that will be called when a
new widget should be created.
tsxCloneWidgetCB tsxWDG_CloneWidget*: pointer to a callback that will be called when a
widget should be cloned. Can be NULL and a standard function will be
used.

RETURNS err
MethodRemoveAudioerr RemoveAudio( sobj* obj );

(no description)
MethodRenderAViewRectangleerr RenderAViewRectangle( Rect_p *rectangle );

(no description)
MethodRenderAViewRectangleToFileerr RenderAViewRectangleToFile( RenderToFileData *data, Rect_p *rectangle );

(no description)
MethodRenderAViewToFileerr RenderAViewToFile( RenderToFileData *data )

PURPOSE Photo render active view with the output to the file
PARAMETERS
data RenderToFileData*: rendering parameters

RETURNS err
MethodSceneNewerr SceneNew()

PURPOSE Create a new trueSpace scene.
PARAMETERS
None

RETURNS err
MethodScriptAttacherr ScriptAttach( sobj *obj, char *filepath );

(no description)
MethodScriptCreateerr ScriptCreate( sobj* obj, char *data );

(no description)
MethodScriptGetEnableerr ScriptGetEnable( sobj* obj, BOOL *enable );

(no description)
MethodScriptGetFlagserr ScriptGetFlags( sobj* obj, UINT *flags );

(no description)
MethodScriptSetEnableerr ScriptSetEnable( sobj* obj, BOOL enable );

(no description)
MethodScriptSetFlagserr ScriptSetFlags( sobj* obj, UINT flags );

(no description)
MethodSetIdenTransferr SetIdenTransf( polyh* );

(no description)
MethodSetObjDirerr SetObjDir( sobj* pSobj, char *pFileName, bool bUnique )

PURPOSE Set the full file name for an object. If NULL is specified, the file name will be deleted. If the file name needs to be unique for a whole scene, set bUnique to e_tsxTRUE
PARAMETERS
pSobj sobj*: object
pFileName char*: full object path to be set
bUnique bool: set to e_tsxTRUE if you need the name to be unique

RETURNS err
MethodSkeletonAddBrancherr SkeletonAddBranch( skeleton* pSkeleton, joint** ppJoint, e_tsxJOINT_xxxx type, Vec3f_p pLoc, bone* pBone1, bone** ppBone2 )

PURPOSE Add a new joint of specified type that will link specified bone and a new bone. If the specified bone is not the leaf bone, the joint will start a new branch from the bone.
PARAMETERS
pSkeleton skeleton*: a pointer to Skeleton
ppJoint joint**: returns a pointer to a new joint
type e_tsxJOINT_xxxx: a type of a new joint
pLoc Vec3f_p: joint's location
pBone1 bone*: a pointer to bone 1 to link
ppBone2 bone**: returns a pointer to new bone 2 linked with new joint

RETURNS err
MethodSkeletonAddJointerr SkeletonAddJoint( skeleton* pSkeleton, joint** ppJoint, e_tsxJOINT_xxxx type, Vec3f_p pLoc, bone* pBone1, bone** ppBone2 )

PURPOSE Add a new joint of specified type. If the specified bone is not the leaf bone, the bone will be divided into two. Otherwise that will link specified bone and a new bone.
PARAMETERS
pSkeleton skeleton*: a pointer to Skeleton
ppJoint joint**: returns a pointer to a new joint
type e_tsxJOINT_xxxx: a type of a new joint
pLoc Vec3f_p: joint's location
pBone1 bone*: a pointer to bone 1 to link
ppBone2 bone**: returns a pointer to new bone 2 linked with new joint

RETURNS err
MethodSkeletonAddSkinerr SkeletonAddSkin( skeleton* pSkeleton, mnode* pMNode )

PURPOSE Add specified object as a child to specified skeleton.
PARAMETERS
pSkeleton skeleton*: a pointer to Skeleton
pMNode mnode*: a pointer to Skin

RETURNS err
MethodSkeletonAttachSkinerr SkeletonAttachSkin( skeleton* pSkeleton, mnode* pMNode )

PURPOSE Attach specified object as a skin to specified skeleton. All muscles around bones and tendons around joints will be automatically created. All vertices of the object will be added to closest muscle or tendon.
PARAMETERS
pSkeleton skeleton*: a pointer to Skeleton
pMNode mnode*: a pointer to Skin

RETURNS err
MethodSkeletonCreateerr SkeletonCreate( skeleton** ppSkeleton, joint** ppJoint, e_tsxJOINT_xxxx type, Vec3f_p pLoc, bone** ppBone1, bone** ppBone2 )

PURPOSE Create a Skeleton object with one joint and two bones linked with this joint.
PARAMETERS
ppSkeleton skeleton**: returns a pointer to a new Skeleton
ppJoint joint**: returns a pointer to a new joint
type e_tsxJOINT_xxxx: a type of a new joint
pLoc Vec3f_p: joint's location
ppBone1 bone**: returns a pointer to new bone 1 linked with new joint
ppBone2 bone**: returns a pointer to new bone 2 linked with new joint

RETURNS err
MethodSkeletonDeleteJointerr SkeletonDeleteJoint( skeleton* pSkeleton, joint* pJoint )

PURPOSE Delete specified joint.
PARAMETERS
pSkeleton skeleton*: a pointer to Skeleton
pJoint joint*: a pointer to joint

RETURNS err
MethodSkeletonDetachSkinerr SkeletonDetachSkin( skeleton* pSkeleton, mnode* pMNode )

PURPOSE Detach specified object from the skeleton. All vertices will be removed from muscles and tendons.
PARAMETERS
pSkeleton skeleton*: a pointer to Skeleton
pMNode mnode*: a pointer to Skin

RETURNS err
MethodSkeletonNewBrancherr SkeletonNewBranch( skeleton* pSkeleton, joint** ppJoint, e_tsxJOINT_xxxx type, Vec3f_p pLoc, bone** ppBone1, bone** ppBone2 )

PURPOSE Add a new joint of specified type that will link two new bones.
PARAMETERS
pSkeleton skeleton*: a pointer to Skeleton
ppJoint joint**: returns a pointer to a new joint
type e_tsxJOINT_xxxx: a type of a new joint
pLoc Vec3f_p: joint's location
ppBone1 bone**: returns a pointer to new bone 1 linked with new joint
ppBone2 bone**: returns a pointer to new bone 2 linked with new joint

RETURNS err
MethodSkinSurfConstructerr SkinSurfConstruct( ncurve **ncs, i nnc, bool v_closed, bool simpler, npatch *np )

PURPOSE Build skin surface passing through set of N section curves.
PARAMETERS
ncs ncurve**: Pointer to array of pointers to section curves. They will be skinned in the order in which they appear in the array.
nnc i: Number of section curves.
v_closed bool: Produce V closed patch (smooth the seam). Has sense only if first and last curve are identical.
simpler bool: Produce simpler surface. Can cause unwanted distortions to appear in case of nonhomogenously spaced control points (one curve has majority of them at its beginning and second on its end, for example), because 'simpler' ignores chord length knot parameterization of section curves (that reflect relative positions of their control points). When 'simpler' is not set, distortions will not appear (almost), but the patch will be denser.
np npatch*: Pointer to output patch. If it's not empty, its data will be freed before the operation. Transformation matrix of the patch will not change.

RETURNS err
MethodSobjAddAttributeerr SobjAddAttribute( sobj* pSobj, e_tsxKFT_xxxx keyfType )

PURPOSE Allow an animation of specified attribute for Sobj.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the attribute to be added (as animatable)

RETURNS err
MethodSobjAddChilderr SobjAddChild( sobj* pParent, sobj* pNewChild );

(no description)
MethodSobjCopyScripterr SobjCopyScript( sobj* pSobjTo,sobj* pSobjFrom )

PURPOSE Copie animation of From object to destination To object
PARAMETERS
pSobjTo sobj*: target object
pSobjFrom sobj*: source object

RETURNS err
MethodSobjCreateScripterr SobjCreateScript( sobj* pSobj )

PURPOSE Create and attach a Script, if none present.
PARAMETERS
pSobj sobj*: a pointer to the SObj

RETURNS err
MethodSobjDeleteScripterr SobjDeleteScript( sobj* pSobj )

PURPOSE Delete animation for the object
PARAMETERS
pSobj sobj*: a pointer to the SObj

RETURNS err
MethodSobjGetMinMaxTimeerr SobjGetMinMaxTime( sobj* pSobj,f* min,f* max )

PURPOSE Get time range of the whole animation of Sobj.
PARAMETERS
pSobj sobj*: a pointer to the SObj
min f*: time of the very first frame for this SObj
max f*: time of the very last frame for this SObj

RETURNS err
MethodSobjInsertFrameerr SobjInsertFrame( sobj* pSobj,keyframe* pKFrame,long segment,f time )

PURPOSE Add Keyframe to obj, for specified attribute (and optional segment).
PARAMETERS
pSobj sobj*: a pointer to the SObj
pKFrame keyframe*: the new keyframe to add
segment long: a segment identifier; used when an attribute can have several threads of keyframes, like vertex animation (one thread per animated vertex) or deformation animation. 0 if not used
time f: time of the keyframe

RETURNS err
MethodSobjSetClosederr SobjSetClosed( sobj* pSobj, bool closed, e_tsxKFT_xxxx keyfType, long segment )

PURPOSE Close or open animation path.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
closed bool: type of animation path
- e_tsxTRUE: closed animation path
- e_tsxFALSE: opened animation path
keyfType e_tsxKFT_xxxx: the specified attribute
segment long: an optional segment of the specified attribute ( 0 in none )

RETURNS err
MethodSobjSetFrameerr SobjSetFrame( sobj* pSobj,e_tsxKFT_xxxx keyfType )

PURPOSE Create Keyframe (at current active frame number) for object, for specified attributes.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired animatable attribute (see this data type)

RETURNS err
MethodSobjSetInterpolationerr SobjSetInterpolation( sobj* pSobj, bool splineInterpolation, e_tsxKFT_xxxx keyfType, long segment )

PURPOSE Set type of interpolation.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
splineInterpolation bool: type of interpolation
- e_tsxTRUE: spline interpolation
- e_tsxFALSE: linear interpolation
keyfType e_tsxKFT_xxxx: the specified attribute
segment long: an optional segment of the specified attribute ( 0 in none )

RETURNS err
MethodSobjTreeCreateScripterr SobjTreeCreateScript( sobj* pSobj )

PURPOSE Create and attach a Script, if none present for object and all its children
PARAMETERS
pSobj sobj*: a pointer to the SObj

RETURNS err
MethodSobjTreeDeleteScripterr SobjTreeDeleteScript( sobj* pSobj )

PURPOSE Delete animation for object and all its children
PARAMETERS
pSobj sobj*: a pointer to the SObj

RETURNS err
MethodSobjTreeGetMinMaxTimeerr SobjTreeGetMinMaxTime( sobj* pSobj,f* min,f* max )

PURPOSE Get time ranges of the whole animation of Sobj and all its children.
PARAMETERS
pSobj sobj*: a pointer to the SObj
min f*: time of the very first frame for this Sobj and its children
max f*: time of the very last frame for this Sobj and its children

RETURNS err
MethodSobjUnsetFrameerr SobjUnsetFrame( sobj* pSobj, e_tsxKFT_xxxx keyfType )

PURPOSE Delete Keyframe (at current active frame number) for object, for specified attributes.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired animatable attribute (see this data type)

RETURNS err
MethodStandaloneLatticeCreateerr StandaloneLatticeCreate( lattice** ppLattice, sadef** ppSADef, e_tsxSADEF_xxxx type )

PURPOSE Create stand-alone Lattice of specified type. Create a special object of sadef type to visualize the lattice (if ppSADef is specified).
PARAMETERS
ppLattice lattice**: a pointer to lattice
ppSADef sadef**: a pointer to SADef object
type e_tsxSADEF_xxxx: type of stand-alone deformation

RETURNS err
MethodStitchSurfConstructerr StitchSurfConstruct( npatch *np1, e_tsxNPATCH_DIR_x dir1, f parm1, npatch *np2, ncurve *trim2, e_tsxNPATCH_DIR_x dir2, f parm2, bool simpler, i lev, f smooth, bool invert_edge, f u2_shift, f max_angle, npatch *stitch )

PURPOSE Stitch one patch to another (modify first patch to get smooth transition between the patches).
PARAMETERS
np1 npatch*: Pointer to patch1 (slave)
dir1 e_tsxNPATCH_DIR_x: Direction of np1's ordinary edge
parm1 f: Parameter of np1's ordinary edge (0.0 or 1.0)
np2 npatch*: Pointer to patch2 (master)
trim2 ncurve*: Pointer to UV trimming curve of np2 (NULL if ordinary edge)
dir2 e_tsxNPATCH_DIR_x: Direction of np2's ordinary edge
parm2 f: Parameter of np2's ordinary edge (0.0 or 1.0)
simpler bool: Produce simpler surface.
lev i: Blending level on shared edge: tsxSTITCH_LEVEL_POSITION or tsxSTITCH_LEVEL_SMOOTHNESS
smooth f: Smoothness factor (0.0 to 1.0)
invert_edge bool: Invert edge to remove twist in blend
u2_shift f: If both edges are closed, shift edge2's starting point to remove the twist (0.0 to 1.0)
max_angle f: Precision of UV to 3D trimming curve sampling (use -1.0f for default)
stitch npatch*: Pointer to output patch. If stitch == np1, np1 will be modified directly. If stitch is not empty, its data will be freed before the operation. Transformation matrix of the patch will not change.

RETURNS err
MethodSweepSetFloorerr SweepSetFloor( i floor )

PURPOSE Set a new active floor of swept part.
PARAMETERS
floor i: a number of floor

RETURNS err
MethodTendonAddVerticeserr TendonAddVertices( lattice* pTendon, polyh* pPolyh, i iNbrVertices, i* pVertexIndices )

PURPOSE Add a list of vertices of specified polyhedron to specified tendon. While each vertex can be only in one muscle or tendon, they all are removed from other muscles and tendons.
PARAMETERS
pTendon lattice*: a pointer to tendon's lattice
pPolyh polyh*: a pointer to polyhedron.
INbrVertices i: a number of vertices
pVertexIndices i*: an array of indices.

RETURNS err
MethodTendonRemoveVerticeserr TendonRemoveVertices( lattice* pTendon, polyh* pPolyh, i iNbrVertices, i* pVertexIndices )

PURPOSE Remove a list of vertices of specified polyhedron from specified tendon. Vertices are not automaticaly moved into other muscle or tendon.
PARAMETERS
pTendon lattice*: a pointer to tendon's lattice
pPolyh polyh*: a pointer to polyhedron.
INbrVertices i: a number of vertices
pVertexIndices i*: an array of indices.

RETURNS err
MethodTextureDirectoryerr TextureDirectory( char* path );

(no description)
MethodtsxClipsActivateClip err tsxClipsActivateClip ( sobj* pSobj , char *name )

PURPOSE Activate clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsCleanupClip err tsxClipsCleanupClip ( sobj* pSobj, char *name )

PURPOSE Update values and delete empty clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsCopyClip err tsxClipsCopyClip ( sobj* pSobj, char *name , sobj **ppClipboard )

PURPOSE Copy specified clip into clipboard. Clipboard object is allocated by trueSpace.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip
ppClipboard sobj **: pointer to clipboard

RETURNS err
MethodtsxClipsCutClip err tsxClipsCutClip ( sobj* pSobj, char *name , sobj **ppClipboard )

PURPOSE Cut specified clip into clipboard. Clipboard object is allocated by trueSpace.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip
ppClipboard sobj **: pointer to clipboard

RETURNS err
MethodtsxClipsDeleteClip err tsxClipsDeleteClip ( sobj* pSobj , char *name )

PURPOSE Delete specified clip of the object.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsDisableAllClips err tsxClipsDisableAllClips ( sobj* pSobj )

PURPOSE Disable all clips.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS err
MethodtsxClipsDisableClip err tsxClipsDisableClip ( sobj* pSobj, char *name )

PURPOSE Disable specified clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsEnableAllClips err tsxClipsEnableAllClips ( sobj* pSobj )

PURPOSE Enable all clips.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS err
MethodtsxClipsEnableClip err tsxClipsEnableClip ( sobj* pSobj, char *name )

PURPOSE Enable clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsInvalidate err tsxClipsInvalidate ( sobj* pSobj, char *name )

PURPOSE Invalidate cashed values of the clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsLoopClip err tsxClipsLoopClip ( sobj* pSobj, char *name , i number )

PURPOSE Make clip to loop forever or stop looping the clip. TS6.5 does not support finite number of repetitions. This method only swithes to and from infinite looping.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip
number i: set/clear looping. Despite its name, it only sets looping (non-zero values) or clears looping (zero)

RETURNS err
MethodtsxClipsMakeAbsolute err tsxClipsMakeAbsolute ( sobj* pSobj, char *name )

PURPOSE Make the clip to play in world space.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsMakeRelative err tsxClipsMakeRelative ( sobj* pSobj, char *name )

PURPOSE Make the clip to play in object's space.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsPasteClip err tsxClipsPasteClip ( sobj* pSobj, char *name , FLOAT at, sobj *pClipboard )

PURPOSE Paste the clip from clipboard to the object. Clip is renamed to specified name and it will start at specified time.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: new name of the clip
at FLOAT: starting time (in frames)
pClipboard sobj *: clipboard

RETURNS err
MethodtsxClipsRenameClip err tsxClipsRenameClip ( sobj* pSobj , char *oldName, char *newName )

PURPOSE Rename clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
oldName char*: current name of the clip
newName char*: new name of the clip

RETURNS err
MethodtsxClipsReverseClip err tsxClipsReverseClip ( sobj* pSobj, char *name )

PURPOSE Reverse an order of all key-frames of the clip. This method is not procedural and it is implemented directly on key-frames. It makes the clip to play backward.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxClipsSetClipStartEnd err tsxClipsSetClipStartEnd ( sobj* pSobj, char *name , FLOAT start, FLOAT end )

PURPOSE Shift and stretch clip to start and end in specified times.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip
start FLOAT: new starting time (in frames)
end FLOAT: new ending time (in frames)

RETURNS err
MethodtsxClipsShiftClip err tsxClipsShiftClip ( sobj* pSobj, char *name , FLOAT newStart )

PURPOSE Shift clip to start in new time.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip
newStart FLOAT: new starting time (in frames)

RETURNS err
MethodtsxClipsStretchClip err tsxClipsStretchClip ( sobj* pSobj, char *name , FLOAT newEnd )

PURPOSE Stretch clip to end in new time.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip
newEnd FLOAT: new ending time (in frames)

RETURNS err
MethodtsxClipsToggleClip err tsxClipsToggleClip ( sobj* pSobj, char *name )

PURPOSE Make clip to toggle or stop toggling (if the clip is toggled).
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip

RETURNS err
MethodtsxImageBrowser err tsxImageBrowser ( char *initPath )

PURPOSE Open image browser as UI for selecting an image. Note, set plugin image browser callback (e_tsxECT_PLUGINIMAGEBROWSER) before calling this function. Also free the callback before terminating your plugin (preferably callback should be freed when you are done with the image browser.
PARAMETERS
initPath char*: path to the directory which image browser should open as default

RETURNS err:
MethodtsxImageSaveData err tsxImageSaveData ( Image *image, char *path, e_tsxIMAGE_xxxx type )

PURPOSE Save the image to a file.
PARAMETERS
image Image*: a pointer to the image data structure
path char*: file path
type e_tsxIMAGE_xxxx: image file type to save image to.

RETURNS err:
MethodtsxSobjRemoveAttribute err tsxSobjRemoveAttribute ( sobj* pSobj, e_tsxKFT_xxxx keyfType )

PURPOSE Remove attribute of Sobj
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: type of keyframe to delete

RETURNS err:
MethodUnregisterWidgetTypeerr UnregisterWidgetType( ulong wdgTypeID )

PURPOSE To remove a widget type from the list of the registered widget's types.
PARAMETERS
wdgTypeID ulong: widget's type ID

RETURNS err
MethodAudioGetTypee_tsxAD_xxxx AudioGetType( audio* pAudio );

(no description)
MethodGetObjCollisionLevele_tsxCOLLISION_xxxx GetObjCollisionLevel( sobj* obj )

PURPOSE To get the collision level of an object.
PARAMETERS
obj sobj*: pointer to a sobj

RETURNS return current e_tsxCOLLISION_xxxx of the object
MethodLightGetIntensityUnitse_tsxIU_xxxx LightGetIntensityUnits( light* pLight )

PURPOSE To get the type of intensity units used for a physically based light.
PARAMETERS
pLight light*: a pointer to the light

RETURNS e_tsxIU_xxxx: intensity units used for a particular light
MethodAnimCreateAttributee_tsxKFT_xxxx AnimCreateAttribute( i tsxid,char* name,tsxAnimCallbackFP* attrCallback,long attrDataLength,short* kfDataDescription, long kfDataDescriptionSize )

PURPOSE Register an attribute among attributes that may be animated.
PARAMETERS
tsxid i: eXtension id
name char*: name of the attribute (maximum 16 characters)
attrCallback tsxAnimCallbackFP*: callback functions for the attribute
attrDataLength long: length of stored original data (may be 0L)
kfDataDescription short*: description of keyframe data
kfDataDescriptionSize long: length of description array

RETURNS e_tsxKFT_xxxx
MethodFrameGetTypee_tsxKFT_xxxx FrameGetType( keyframe* pKFrame )

PURPOSE Get attribute of Keyframe.
PARAMETERS
pKFrame keyframe*: a pointer to the target keyframe

RETURNS e_tsxKFT_xxxx
MethodSobjGetFirstAttributee_tsxKFT_xxxx SobjGetFirstAttribute( sobj* pSobj )

PURPOSE Get the first attribute of Sobj.
PARAMETERS
pSobj sobj*: a pointer to the SObj

RETURNS e_tsxKFT_xxxx
MethodSobjGetNextAttributee_tsxKFT_xxxx SobjGetNextAttribute( sobj* pSobj, e_tsxKFT_xxxx keyfType )

PURPOSE Get the next attribute of Sobj.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: type of current attribute

RETURNS e_tsxKFT_xxxx: type of next attribute
MethodLightGetShadowTransparencye_tsxLST_xxxx LightGetShadowTransparency( light* plight )

PURPOSE Get shadow transparency setting for a light ( e_tsxLST_UNDEF if not light ).
PARAMETERS
pLight light*: a pointer to the light

RETURNS e_tsxLST_xxxx: shadow transparency setting for a given light
MethodLightGetShadTypee_tsxLS_xxxx LightGetShadType( light* pLight )

PURPOSE Get shadowing.type
PARAMETERS
pLight light*: a pointer to the light

RETURNS e_tsxLS_xxxx
MethodLightSetShadTypee_tsxLS_xxxx LightSetShadType( light* pLight, e_tsxLS_xxxx newShType )

PURPOSE Set shadowing type. Returns new value, e_tsxLS_NOSHADOWS if not a light.
PARAMETERS
pLight light*: a pointer to the light
newShType e_tsxLS_xxxx: the new shadowing type

RETURNS e_tsxLS_xxxx
MethodLightGetTypee_tsxLT_xxxx LightGetType( light* pLight )

PURPOSE Return Light type
PARAMETERS
pLight light*: a pointer to the light

RETURNS e_tsxLT_xxxx
MethodMetaballPrimitiveGetTypee_tsxMETABALL_xxxx MetaballPrimitiveGetType( mball* pMetaball, mnode* pPrim )

PURPOSE Queries the primitive type of a particular metaball primitive
PARAMETERS
pMetaball mball *: pointer to a metaball object
pPrim mnode*: pointer to a metaball primitve

RETURNS e_tsxMETABALL_xxxx: the type of the particular metaball primitive, e_tsxMETABALL_UNKNOWN if not a primitive
MethodAnimGetPlayModee_tsxPLAY_xxxx AnimGetPlayMode( void );

(no description)
MethodGetRadiosityMethode_tsxRADIOSITY_xxxx GetRadiosityMethod( void );

(no description)
MethodAViewGetRenderModee_tsxRM_xxxx AViewGetRenderMode()

PURPOSE Get the rendering mode of the active view.
PARAMETERS
None

RETURNS e_tsxRM_xxxx
MethodLightGetSkyTypee_tsxSKY_xxxx LightGetSkyType( light* pLight )

PURPOSE Get the type of the sky light
PARAMETERS
pLight light*: a pointer to the light

RETURNS e_tsxSKY_xxxx
MethodLightGetShmapQualitye_tsxSMQ_xxxx LightGetShmapQuality( light* pLight );

(no description)
MethodLightGetShmapSharpnesse_tsxSMS_xxxx LightGetShmapSharpness( light* pLight )

PURPOSE Get shadow-map sharpness (_UNDEF if not light).
PARAMETERS
pLight light*: a pointer to the light

RETURNS e_tsxSMS_xxxx
MethodLightSetShmapSharpnesse_tsxSMS_xxxx LightSetShmapSharpness( light* pLight,e_tsxSMS_xxxx NewSharpness )

PURPOSE Set shadow-map sharpness. Return new value, or tsxSMS_UNDEF if the request is invalid.
PARAMETERS
pLight light*: a pointer to the light
NewSharpness e_tsxSMS_xxxx: the new shadow map sharpness

RETURNS e_tsxSMS_xxxx
MethodLightGetShmapSizee_tsxSMZ_xxxx LightGetShmapSize( light* pLight )

PURPOSE Get shadow-map size
PARAMETERS
pLight light*: a pointer to the light

RETURNS e_tsxSMZ_xxxx
MethodLightSetShmapSizee_tsxSMZ_xxxx LightSetShmapSize( light* pLight, e_tsxSMZ_xxxx NewSz )

PURPOSE Set shadow-map size. Return the new value, or e_tsxSMZ_UNDEF if the request is invalid.
PARAMETERS
pLight light*: a pointer to the light
NewSz e_tsxSMZ_xxxx: the new shadow map size

RETURNS e_tsxSMZ_xxxx
MethodGNodeGetUnitse_tsxUNITS_xxxx GNodeGetUnits( gnode* pGNode )

PURPOSE Returns the units type of a given GNode.
PARAMETERS
pGNode gnode*: a pointer to a GNODE

RETURNS e_tsxUNITS_xxxx: one of units types (see units types constants)
MethodSceneGetUnitse_tsxUNITS_xxxx SceneGetUnits( void )

PURPOSE Returns scene units type.
PARAMETERS

RETURNS e_tsxUNITS_xxxx: scene units type
MethodNPatchGetUVProjectione_tsxUV_xxxx NPatchGetUVProjection( npatch *np, Vec3f_p *center, Vec3f_p *axis, Vec3f_p *origin, f *scale, f *ratio )

PURPOSE Get texture space projection information associated with the patch.
PARAMETERS
np npatch*: Pointer to the patch
center Vec3f_p:
axis Vec3f_p:
origin Vec3f_p:
scale f*:
ratio f*:

RETURNS e_tsxUV_xxxx: e_tsxUV_NONE, e_tsxUV_PLANE, e_tsxUV_CUBE, e_tsxUV_CYLINDER, or e_tsxUV_SPHERE
MethodAViewGetViewModee_tsxVM_xxxx AViewGetViewMode()

PURPOSE Get the view mode for the active view.
PARAMETERS
None

RETURNS e_tsxVM_xxxx
MethodNCurveGetKnotsf *NCurveGetKnots( ncurve *nc )

PURPOSE Get pointer to array of knots of the curve.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS f*: pointer to array of knots
MethodNCurveGetWeightsf *NCurveGetWeights( ncurve *nc )

PURPOSE Get pointer to array of weights of control points of rational curve.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS f*: pointer to array of weights
MethodNPatchGetUKnotsf *NPatchGetUKnots( npatch *np )

PURPOSE Get pointer to array of patch knots in U direction.
PARAMETERS
np npatch*: pointer to the patch

RETURNS f*: pointer to array of knots
MethodNPatchGetVKnotsf *NPatchGetVKnots( npatch *np );

(no description)
MethodNPatchGetWeightsf *NPatchGetWeights( npatch *np )

PURPOSE Get pointer to array of weights of control points of rational patch. Weights are stored in V-major order, as control points.
PARAMETERS
np npatch*: pointer to the patch

RETURNS f*: pointer to array of weights
MethodAngleBtwVecs3ff AngleBtwVecs3f( const Vec3f_p u,const Vec3f_p v, Vec3f_p axis )

PURPOSE Signed angle from vector 'u' to 'v' about the axis 'axis'. 'axis' gets the (unnormalized) cross-product (axis = u x v). Angle in radians.
PARAMETERS
u const Vec3f_p: a 3-D vector
v const Vec3f_p: a 3-D vector
axis Vec3f_p: cross product u x v

RETURNS f: angle in radians
MethodAnimGetActiveTimef AnimGetActiveTime( void )

PURPOSE Get the active frame number.
PARAMETERS
None

RETURNS f
MethodAnimGetBaseFrameratef AnimGetBaseFramerate( void )

PURPOSE Get base framerate (frame per second).
PARAMETERS
None

RETURNS f
MethodAudioGetDiffuseRangef AudioGetDiffuseRange( audio* pAudio );

(no description)
MethodAudioGetDirectRangef AudioGetDirectRange( audio* pAudio );

(no description)
MethodAudioGetIntensityf AudioGetIntensity( audio* pAudio );

(no description)
MethodAudioSetDiffuseRangef AudioSetDiffuseRange( audio* pAudio, f fNew );

(no description)
MethodAudioSetDirectRangef AudioSetDirectRange( audio* pAudio, f fNew );

(no description)
MethodAudioSetIntensityf AudioSetIntensity( audio* pAudio, f fNew );

(no description)
MethodAViewGetBankAnglef AViewGetBankAngle()

PURPOSE Get the Bank angle in radians
PARAMETERS
None

RETURNS f: bank angle in radians
MethodAViewGetViewAspectRatiof AViewGetViewAspectRatio( void )

PURPOSE Get the image aspect ration of the current view (width/height)
PARAMETERS
None

RETURNS f: the image aspect ratio (width/height)
MethodAViewGetZoomf AViewGetZoom()

PURPOSE Get the Zoom factor
PARAMETERS
None

RETURNS f: zoom factor
MethodAViewSetZoomf AViewSetZoom( f newzoom )

PURPOSE Change the active view's zoom (clamped to allowed min/max values). Return the new zoom value.
PARAMETERS
newzoom f: desired zoom value

RETURNS f: desired zoom value
MethodBevelGetBevelf BevelGetBevel( void )

PURPOSE Get a value of bevel.
PARAMETERS

RETURNS f: a value of bevel
MethodContractorGetFallofff ContractorGetFalloff( joint* pJoint )

PURPOSE Get a falloff of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a falloff of contraction by specified joint.
MethodContractorGetLengthf ContractorGetLength( joint* pJoint )

PURPOSE Get a length of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a length of contraction by specified joint.
MethodContractorGetStrengthf ContractorGetStrength( joint* pJoint )

PURPOSE Get a strength of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a strength of contraction by specified joint.
MethodContractorGetWidthf ContractorGetWidth( joint* pJoint )

PURPOSE Get a width of contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a width of contraction by specified joint.
MethodDistanceToLine3ff DistanceToLine3f( const Vec3f_p p,const Vec3f_p line_point,const Vec3f_p line_unitvec )

PURPOSE Distance from a point 'p' to a line containing point 'line_point' and with unit direction vector 'line_unitvec'.
PARAMETERS
p const Vec3f_p: test point
line_point const Vec3f_p: line origin
line_unitvec const Vec3f_p: line direction

RETURNS f
MethodDistanceToPlane3ff DistanceToPlane3f( const Vec3f_p p,const Vec3f_p plane_norm,const Vec3f_p plane_point )

PURPOSE Distance from a Point 'p' to a Plane with normal 'plane_norm' and containing Point 'plane_point'. This distance is positive only if 'plane_norm' points towards 'p'.
PARAMETERS
p const Vec3f_p: test point
plane_norm const Vec3f_p: plane normal
plane_point const Vec3f_p: plane origin

RETURNS f
MethodDistanceToPoint3ff DistanceToPoint3f( const Vec3f_p p,const Vec3f_p q )

PURPOSE Distance between 2 points 'p', 'q'.
PARAMETERS
p const Vec3f_p: the coordinates of a 3-D point
q const Vec3f_p: the coordinates of a 3-D point

RETURNS f
MethodDProdVec3ff DProdVec3f( const Vec3f_p u,const Vec3f_p v )

PURPOSE u . v (Dot Product, a.k.a. interior product)
PARAMETERS
u const Vec3f_p: a 3-D vector
v const Vec3f_p: a 3-D vector

RETURNS f
MethodExtensorGetFallofff ExtensorGetFalloff( joint* pJoint )

PURPOSE Get a falloff of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a falloff of extensor contraction by specified joint.
MethodExtensorGetLengthf ExtensorGetLength( joint* pJoint )

PURPOSE Get a length of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a length of extensor contraction by specified joint.
MethodExtensorGetStrengthf ExtensorGetStrength( joint* pJoint )

PURPOSE Get a strength of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a strength of extensor contraction by specified joint.
MethodExtensorGetWidthf ExtensorGetWidth( joint* pJoint )

PURPOSE Get a width of extensor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a width of extensor contraction by specified joint.
MethodFlexorGetFallofff FlexorGetFalloff( joint* pJoint )

PURPOSE Get a falloff of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a falloff of flexor contraction by specified joint.
MethodFlexorGetLengthf FlexorGetLength( joint* pJoint )

PURPOSE Get a length of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a length of flexor contraction by specified joint.
MethodFlexorGetStrengthf FlexorGetStrength( joint* pJoint )

PURPOSE Get a strength of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a strength of flexor contraction by specified joint.
MethodFlexorGetWidthf FlexorGetWidth( joint* pJoint )

PURPOSE Get a width of flexor contraction by specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: a width of flexor contraction by specified joint.
MethodFrameGetTimef FrameGetTime( keyframe* pKFrame )

PURPOSE Get frame number (time) of Keyframe.
PARAMETERS
pKFrame keyframe*: a pointer to the queried keyframe

RETURNS f: the keyframe time
MethodGetNormalized2ff GetNormalized2f( Vec2f_p norm,const Vec2f_p vec )

PURPOSE norm = vec/|vec|
PARAMETERS
norm Vec2f_p: a normalized vector aligned with vec
vec const Vec2f_p: a 2-D vector

RETURNS f: original length of vec
MethodGetNormalized3ff GetNormalized3f( Vec3f_p norm,const Vec3f_p vec )

PURPOSE norm = vec/|vec|
PARAMETERS
norm Vec3f_p: a normalized vector aligned with vec
vec const Vec3f_p: a 3-D vector

RETURNS f
MethodJointGetLimitsf JointGetLimits( joint* pJoint, i dof )

PURPOSE Test whether specified degree of freedom is limited or not.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_... )

RETURNS BOOL: TRUE active limits,
MethodJointGetMaxLimitf JointGetMaxLimit( joint* pJoint, i dof )

PURPOSE Get a upper limit of specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_... )

RETURNS f: an angle in radians for rotational DoF,
MethodJointGetMinLimitf JointGetMinLimit( joint* pJoint, i dof )

PURPOSE Get a lower limit of specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_... )

RETURNS f: an angle in radians for rotational DoF,
MethodJointGetStiffnessf JointGetStiffness( joint* pJoint, i dof )

PURPOSE Get a stiffness of specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_... )

RETURNS f: stiffness (0.0 - 1000.0)
MethodJointGetTendonRatef JointGetTendonRate( joint* pJoint )

PURPOSE Get a rate between tendon and neigboring muscles.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS f: tendon rate for skinning. Rate is a number from range ( 0.0 , 1.0 ).
MethodJointGetValuef JointGetValue( joint* pJoint, i dof )

PURPOSE Get a value of specified degree of freedom.
PARAMETERS
pJoint joint*: joint
dof i: flag for one degree of freedom ( see flags tsxJOINT_DOF_... )

RETURNS f: an angle in radians for rotational DoF,
MethodLatheGetHelixf LatheGetHelix( void )

PURPOSE Get a value of lathing helix.
PARAMETERS

RETURNS f: a value of lathing helix
MethodLatheGetRadiusf LatheGetRadius( void )

PURPOSE Get a value of lathing radius.
PARAMETERS

RETURNS f: a value of lathing radius
MethodLightGetColorTemperaturef LightGetColorTemperature( light* pLight )

PURPOSE To get the color temperature for a particular light.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: color temperature ( in Kelvins ) for a particular light
MethodLightGetFalloffCoefff LightGetFalloffCoeff( light* pLight )

PURPOSE Get the light intensity falloff coefficient.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: light intensity falloff coefficient
MethodLightGetIBLLightCutofff LightGetIBLLightCutoff( light* pLight )

PURPOSE Returns the light cutoff value ( minimum texture average to spawn a light), 0.-1.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: light cutoff value
MethodLightGetIBLSampleFuzzinessf LightGetIBLSampleFuzziness( light* pLight )

PURPOSE Returns the amount of jitter used for texture lookups, from 0 to 1.0f
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: sample fuzziness
MethodLightGetIBLShadowCutofff LightGetIBLShadowCutoff( light* pLight )

PURPOSE Returns the shadow cutoff value (minimum texture average to turn shadow-casting on for each light), 0.-1.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: shadow cutoff value
MethodLightGetIntensityf LightGetIntensity( light* pLight )

PURPOSE Get the light intensity. Returns -1 if not a light.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f
MethodLightGetMaxSubdivisionf LightGetMaxSubdivision( light* pLight )

PURPOSE Get the maximum subdivision quality parameter of the light ( are, object, sky )
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: a value of the parameter
MethodLightGetMinSubdivisionf LightGetMinSubdivision( light* pLight )

PURPOSE Get the minimal subdivision quality parameter of the light ( are, object, sky )
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: a value of the parameter
MethodLightGetProjectorAnglef LightGetProjectorAngle( light* pLight )

PURPOSE Get the cone angle (in radians). This is the solid angle of the lit area subtended at the light source. Return -1.0 if not a spotlight.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: the cone angle in radians, -1 if the light is not a projector light
MethodLightGetSpotAnglef LightGetSpotAngle( light* pLight )

PURPOSE Get the cone angle (in radians). This is the solid angle of the lit area subtended at the light source. Return -1.0 if not a spotlight.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f: the cone angle in radians, -1 if the light is not a spotlight
MethodLightGetSpotRatiof LightGetSpotRatio( light* pLight )

PURPOSE Get the hot-spot ratio. The hot-spot in a spotlight is the inner circle of even bright light. In the lit ring outside the hot-spot, the light intensity decreases towards the outer edge. The hot-spot ratio is the ratio of the hot-spot cone solid angle to the entire spotlight cone solid angle. Return the ratio in [0.0, 1.0], -1.0 if the light is not a spotlight.
PARAMETERS
pLight light*: a pointer to the light

RETURNS f
MethodLightSetIntensityf LightSetIntensity( light* pLight,f fNewIntens )

PURPOSE Set the light intensity. Returns new intensity, -1.0 if not a light.
PARAMETERS
pLight light*: a pointer to the light
fNewIntens f:

RETURNS f
MethodLightSetProjectorAnglef LightSetProjectorAngle( light* pLight,f newAngle )

PURPOSE Set the projector light cone angle (in radians). ). This is the solid angle of the lit area subtended at the light source. Return the new angle, -1 if not a projector light.
PARAMETERS
pLight light*: a pointer to the light
newAngle f: the new projector angle, in radians

RETURNS f: the new angle, -1 if the light is not a projector light
MethodLightSetSpotAnglef LightSetSpotAngle( light* pLight,f newAngle )

PURPOSE Set the spotlight cone angle (in radians). ). This is the solid angle of the lit area subtended at the light source. Return the new angle, -1 if not a spotlight.
PARAMETERS
pLight light*: a pointer to the light
newAngle f: the new spot angle, in radians

RETURNS f: the new angle, -1 if the light is not a spotlight
MethodLightSetSpotRatiof LightSetSpotRatio( light* pLight,f newRatio )

PURPOSE Set the hot-spot ratio . The hot-spot in a spotlight is the inner circle of even bright light. In the lit ring outside the hot-spot, the light intensity decreases towards the outer edge. The hot-spot ratio is the ratio of the hot-spot cone solid angle to the entire spotlight cone solid angle. It is a value in [0.0, 1.0]. Return the new value, -1.0 if not the light is not a spotlight, or the new Ratio is invalid.
PARAMETERS
pLight light*: a pointer to the light
newRatio f: the new ratio, a value in [0.0, 1.0]

RETURNS f: the new value, -1.0 if the ratio is invalid or the light not a spotlight
MethodMagnitude2ff Magnitude2f( const Vec2f_p vec )

PURPOSE |vect|
PARAMETERS
vec const Vec2f_p: a 2-D vector

RETURNS f
MethodMagnitude3ff Magnitude3f( const Vec3f_p vec )

PURPOSE |vect|
PARAMETERS
vec const Vec3f_p: a 3-D vector

RETURNS f
MethodMaterialGetIorf MaterialGetIor( mate* pMatrl )

PURPOSE Get the index of refraction : [1.0 - 2.0], 0 on error
PARAMETERS
pMatrl mate*: a pointer to the material

RETURNS f: the index of refraction [1.0-2.0], 0.0 on error
MethodMNodeGetRadiosityMaxAreaf MNodeGetRadiosityMaxArea( mnode* pMNode )

PURPOSE Get the max area radiosity parameter of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS f: the max area radiosity parameter of the MNode
MethodMNodeGetRadiosityMinAreaf MNodeGetRadiosityMinArea( mnode* pMNode )

PURPOSE Get the min area radiosity parameter of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS f: the min area radiosity parameter of the MNode
MethodNormalize2ff Normalize2f( Vec2f_p vec )

PURPOSE Normalizing ... returns the length of the original vector vec.
PARAMETERS
vec Vec2f_p: a 2-D vector

RETURNS f
MethodNormalize3ff Normalize3f( Vec3f_p vec )

PURPOSE Normalizing ... returns the length of the original vector vec.
PARAMETERS
vec Vec3f_p: a 3-D vector

RETURNS f
MethodPhysCollNormalf PhysCollNormal( sobj *sobj, Vec3f_p *direction, Vec3f_p *point, Vec3f_p *norm )

PURPOSE Returns the normal vector of collision event
PARAMETERS
pObj sobj*: Pointer to the object
direction Vec3f_p: direction vector of the collision
point Vec3f_p: point of the collision event
norm: Vec3f_p: normal vector of the collision event

RETURNS f: collision distance
MethodPhysSimGetAdhesionf PhysSimGetAdhesion( sobj *pObj )

PURPOSE Get adhesion strength of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS f: Adhesion strength.
MethodPhysSimGetChargef PhysSimGetCharge( sobj *pObj )

PURPOSE Get charge of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS f: Charge.
MethodPhysSimGetCoarsenessf PhysSimGetCoarseness( sobj *pObj )

PURPOSE Get coarseness of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS f: Friction or -1 if object has no physical properties.
MethodPhysSimGetElasticityf PhysSimGetElasticity( sobj *pObj )

PURPOSE Get elasticity of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS f: Elasticity or -1 if object has no physical properties.
MethodPhysSimGetFrictionf PhysSimGetFriction( sobj *pObj )

PURPOSE Get friction of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS f: Friction or -1 if object has no physical properties.
MethodPhysSimGetGravf PhysSimGetGrav()

PURPOSE Get global gravition settings
PARAMETERS
None

RETURNS f: gravitation
MethodPhysSimGetResistancef PhysSimGetResistance( sobj *pObj )

PURPOSE Get environmental resistance of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS f: Resistance or -1 if object has no physical properties.
MethodPhysSimGetSpeedf PhysSimGetSpeed( sobj *pObj,Vec3f_p cog, Vec3f_p *speed, Vec3f_p *rotation, Vec3f_p *acc, Vec3f_p *angacc )

PURPOSE Gets the momentary speeds of phys. object during simulation
PARAMETERS
pObj sobj*: Pointer to the object
cog Vec3f_p: center of gravity
speed Vec3f_p: motion vector
rotation Vec3f_p: rotation vector
acc Vec3f_p: acceleration
angacc Vec3f_p: angular acceleration

RETURNS f: weight of the object, -1 if no physical animation data are available
MethodPhysSimGetWeightf PhysSimGetWeight( sobj *pObj )

PURPOSE Get weight of the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS f: Weight or -1 if object has no physical properties.
MethodSobjGetFirstTimef SobjGetFirstTime( sobj* pSobj,e_tsxKFT_xxxx keyfType )

PURPOSE Get time of the first frame for specified attribute if it exists (otherwise -1).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired attribute

RETURNS f: time of the first frame, -1 if none
MethodSobjGetLastTimef SobjGetLastTime( sobj* pSobj,e_tsxKFT_xxxx keyfType )

PURPOSE Get time of the last frame for specified attribute if it exists (otherwise -1).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired attribute

RETURNS f: time of the last frame, -1 if none
MethodSobjGetNextTimef SobjGetNextTime( sobj* pSobj,e_tsxKFT_xxxx keyfType, f time )

PURPOSE Get time of the next frame for specified attribute if it exists (otherwise -1).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx:
time f: current time

RETURNS f: time of the next frame, -1 if none
MethodSobjGetPrevTimef SobjGetPrevTime( sobj* pSobj, e_tsxKFT_xxxx keyfType, f time )

PURPOSE Get time of the previous frame for specified attribute if it exists (otherwise -1).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired attribute
time f: current time

RETURNS f: time of the previous frame, -1 if none
MethodSobjTreeGetNextTimef SobjTreeGetNextTime( sobj* pSobj,e_tsxKFT_xxxx keyfType, f time )

PURPOSE Get time of the closest next frame for specified attribute for whole tree if it exists (otherwise -1).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired attribute
time f: current time

RETURNS f: time of the next frame, -1 if none
MethodSobjTreeGetPrevTimef SobjTreeGetPrevTime( sobj* pSobj,e_tsxKFT_xxxx keyfType, f time )

PURPOSE Get time of the closest previous frame for specified attribute for whole tree if it exists (otherwise -1).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired attribute
time f: current time

RETURNS f: time of the previous frame, -1 if none
MethodtsxClipsGetClipStartEnd f tsxClipsGetClipStartEnd ( sobj* pSobj , char *name, FLOAT *start, FLOAT *end, bool *Toggle, bool *Loop )

PURPOSE Get attributes of the clip.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
name char*: name of the clip
start FLOAT*: starting time (in frames) [optional - can be NULL]
end FLOAT*: ending time (in frames) [optional - can be NULL]
Toggle bool*: Toggle flag [optional - can be NULL]
Loop bool*: Loop flag [optional - can be NULL]

RETURNS f: length of the clip (in frames)
MethodPolyhGetFaceptrArrayFace PolyhGetFaceptrArray( polyh* pPolyh )

PURPOSE Get a pointer to the array of Face-ptrs (0 if not a Polyhedron).
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS Face_p*
MethodFaceAllocFace_p FaceAlloc()

PURPOSE Allocate a new face structure
PARAMETERS
None

RETURNS Face_p
MethodNURBSCylinderCreategnode *NURBSCylinderCreate( bool one_piece, f bot_radius, f top_radius, f height, f start_ang, f end_ang, bool closed_arc, i lat_div, i long_div, i cap_div, bool bot_cap, bool top_cap )

PURPOSE Create NURBS cylinder (or its part). Cylinder will be centered at (0,0,0).
PARAMETERS
one_piece bool: Create the cylinder from one patch, or use three patches: bottom cap, cloak and top cap.
bot_radius f: Bottom Radius
top_radius f: Top radius
height f: Height
start_ang f: Start angle of the arc from [0, 360)
end_ang f: End angle of the arc from (0, 360]
closed_arc bool: Circular arc making the XY profile of the cylinder can be closed by two lines from its center to beginning and to end of the arc.
lat_div i: Control mesh density: latitude division
long_div i: Control mesh density: longitude division
cap_div i: Control mesh density: cap division
bot_cap bool: Create bottom cap
top_cap bool: Create top cap

RETURNS gnode*: Single patch (polyhedron/patch hierarchy) or group of patches, depending on parameters
MethodNURBSPlaneCreategnode *NURBSPlaneCreate( i u_div, i v_div )

PURPOSE Create NURBS plane. It will be centered at (0,0,0).
PARAMETERS
u_div i: Control mesh density: division in U direction
v_div i: Control mesh density: division in V direction

RETURNS gnode*: Polyhedron/patch hierarchy
MethodNURBSSphereCreategnode *NURBSSphereCreate( bool one_piece, f radius, f start_ang, f end_ang, bool closed_arc, f side_start_ang, f side_end_ang, i lat_div, i long_div, i cap_div, bool bot_cap, bool top_cap )

PURPOSE Create NURBS sphere (or its part). Sphere will be centered at (0,0,0).
PARAMETERS
one_piece bool: Create the sphere from one patch, or use three patches: bottom cap, cloak and top cap.
radius f: Radius
start_ang f: Start angle of the arc from [0, 360)
end_ang f: End angle of the arc from (0, 360]
closed_arc bool: Circular arc making the XY profile of the sphere can be closed by two lines from its center to beginning and to end of the arc.
side_start_ang f: Side start angle from [0, 180)
side_end_ang f: Side end angle from (0, 180]
lat_div i: Control mesh density: latitude division
long_div i: Control mesh density: longitude division
cap_div i: Control mesh density: cap division
bot_cap bool: Create bottom cap
top_cap bool: Create top cap

RETURNS gnode*: Single patch (polyhedron/patch hierarchy) or group of patches, depending on parameters
MethodBoneGetFirstObjectgnode* BoneGetFirstObject( bone* pBone )

PURPOSE Get the first object attached to specified bone.
PARAMETERS
pBone bone*: a pointer to Bone object
pGNode gnode*: a pointer to object

RETURNS gnode*: a pointer to object or NULL
MethodBoneGetNextObjectgnode* BoneGetNextObject( bone* pBone, gnode* pGNode )

PURPOSE Get the next object attached to specified bone.
PARAMETERS
pBone bone*: a pointer to Bone object
pGNode gnode*: a pointer to object

RETURNS gnode*: a pointer to object or NULL
MethodGNodeGetFirstChildgnode* GNodeGetFirstChild( gnode* pGNode )

PURPOSE Get the first child of a Group or LOD object.
PARAMETERS
pGNode gnode*: a pointer to a GNode

RETURNS gnode*
MethodGNodeGetNextgnode* GNodeGetNext( gnode* pGNode )

PURPOSE Get the next node of valid tsx Type
PARAMETERS
pGNode gnode*: a pointer to a GNode

RETURNS gnode*
MethodGNodeGetParentgnode* GNodeGetParent( gnode* pGNode )

PURPOSE Get the parent node in the scene graph.
PARAMETERS
pGNode gnode*: Node whose parent is looked for

RETURNS gnode*
MethodGNodeGetPrevgnode* GNodeGetPrev( gnode* pGNode )

PURPOSE Get the previous node of valid tsx Type
PARAMETERS
pGNode gnode*: a pointer to a GNode

RETURNS gnode*
MethodGNodeGetRootgnode* GNodeGetRoot( gnode* pGNode )

PURPOSE Returns:
0 if pGNode is the Scene object;
pGNode if parent of pGNode is the Scene object, or pGNode has no parent;
else ptr to highest gnode ancestor of pGNode below Scene.
PARAMETERS
pGNode gnode*:

RETURNS gnode*
MethodGroupRemoveCurrobjgnode* GroupRemoveCurrobj()

PURPOSE This is the same function as used in the [Unglue] button. Currobj is removed from its parent Group and added as a top level object to the scene. Current selection is updated to next available sibling. Side Effect: If the Currobj has only one sibling before calling this function, then the parent GROUP object is removed and the sibling takes the place in the scene graph of the removed GROUP object. Thus this function never results in a Group object with just one child. (Parent = parent GROUP of Currobj before calling this function ) Returns: 0 on failure (e.g. No Currobj, Currobj not part of group), else ptr to oject that takes the place of Parent in the scene graph: Parent if it had more than 2 children before this function, else the sibling that replaces Parent.
PARAMETERS
None

RETURNS gnode*
MethodRenderMaterialSampleGetIIRObjectgnode* RenderMaterialSampleGetIIRObject( void );

(no description)
MethodSceneGetFirstNodegnode* SceneGetFirstNode()

PURPOSE Get the first top level GNode. The rest can be accessed using 'tsxGNodeGetNext'.
PARAMETERS
None

RETURNS gnode*
MethodSizeTextCreategnode* SizeTextCreate( char *text, char* family, double size, double *direction, double *pt, SHORT style );

(no description)
MethodTextCreategnode* TextCreate( char *text, char* family, SHORT style )

PURPOSE Create polygonal text string.
PARAMETERS
text char*: Text string
family char*: String that specifies the facetype name of the font
style SHORT: One or combination of following styles:
TEXT_STYLE_NONE
TEXT_STYLE_BOLD
TEXT_STYLE_ITALIC

RETURNS gnode*: Group object of polygons representing the text string
MethodGroupAtCurrobjgroup* GroupAtCurrobj( gnode* pGNode )

PURPOSE This is the same function as used in the [Glue as Sibling] button. (Currobj = currently selected object)
IF Currobj is a Group node,
THEN pGNode is added to it as another child;
ELSE Makes pGNode and Currobj children of a new Group obj, and the Group obj is placed where Currobj was in the Scene Graph. The new Group obj becomes the current selection, and acquires the previous Currobj's axes position and orientation.

The animation timeline window is updated. pGNode and Currobj must have different Roots ('tsxGNodeGetRoot'). pGNode must be a top level object (no parent groups above it). Return: 0 if no pGNode or Currobj, or not valid GNodes, or if pGNode is same as Currobj (no grouping done), else ptr to the (new or Currobj) Group obj.
PARAMETERS
pGNode gnode*: a node to group at currobj

RETURNS group*
MethodGroupNewWithCurrobjgroup* GroupNewWithCurrobj( gnode* pGNode )

PURPOSE This is the same function as used in the [Glue as Child] button. (Currobj = currently selected object) Makes pGNode and Currobj children of a new Group obj, and the Group obj is placed where Currobj was in the Scene Graph. The new Group obj becomes the current selection, and acquires the previous Currobj's axes position and orientation. The animation timeline window is updated. pGNode and Currobj must have different Roots ('tsxGNodeGetRoot'). Return: 0 if no pGNode or Currobj, or not valid GNodes, or if pGNode is same as Currobj (no grouping done), else return a ptr to the new Group obj.
PARAMETERS
pGNode gnode*: a node to group under currobj

RETURNS group*
MethodFaceGetHoleptrArrayHole FaceGetHoleptrArray( Face_p pFace )

PURPOSE Get a pointer to the array of hole-arrays
PARAMETERS
pFace Pointer to the face

RETURNS pointer to the array which contains pointers to hole-arrays
MethodHoleAllocHole_p HoleAlloc()

PURPOSE Allocate a new hole
PARAMETERS
none

RETURNS Ptr to the allocated hole
MethodAViewGetHwndHWND AViewGetHwnd()

PURPOSE Return a handle to the active view's window
PARAMETERS
None

RETURNS HWND a window handle
MethodGetMainViewHwndHWND GetMainViewHwnd( void )

PURPOSE Return a handle to the main view window.
PARAMETERS
None

RETURNS HWND
MethodNotebookGetHandleHWND NotebookGetHandle( void )

PURPOSE Retrieves notebook's handle.
PARAMETERS

RETURNS HWND: Notebook's handle
MethodAViewGetDrawingModei AViewGetDrawingMode( void )

PURPOSE Get the drawing mode of the active view.
PARAMETERS
None

RETURNS i: drawing mode as bitflags (see drawing mode constants above)
MethodBevelGetAnglei BevelGetAngle( void )

PURPOSE Get a value of beveling angle.
PARAMETERS

RETURNS i: a value of beveling angle
MethodBoneGetNbrJointsi BoneGetNbrJoints( bone* pBone )

PURPOSE Get a number of joints that link specified bone to other bones.
PARAMETERS
pBone bone*: a pointer to Bone object

RETURNS i: a number of joints
MethodBooleanGetIdentityi BooleanGetIdentity( void )

PURPOSE Get currently active identity value for Booleans.
PARAMETERS

RETURNS i: active identity value ( in 1/1000 of unit )
MethodBooleanGetOptionsi BooleanGetOptions( void )

PURPOSE Get currently active options for Booleans.
PARAMETERS

RETURNS i: flags for currently active options ( see above )
MethodDataDefinei DataDefine( i tsxid, char* name, tsxDataCallbackFP* dataCallback, long dataLength )

PURPOSE Register a new type of external data.
PARAMETERS
tsxid i: eXtension id
name char*: name of the data ( max 16 characters )
dataCallback tsxDataCallbackFP*: callback functions for the data
dataLength long: length of data (may be 0L)

RETURNS i: type of the data
MethodFaceGetNbrHolesi FaceGetNbrHoles( Face_p pFace )

PURPOSE Get the number of holes i the face
PARAMETERS
pFace Pointer to the face

RETURNS number of holes or 0 if the face is not valid
MethodFILEerrori FILEerror( tsxFILE *fd )

PURPOSE Get a file error.
PARAMETERS
fd tsxFILE*: a pointer to file descriptor

RETURNS i: file error
MethodFILEgetci FILEgetc( tsxFILE *fd )

PURPOSE Get the next character from the input stream.
PARAMETERS
fd tsxFILE*: a pointer to file descriptor

RETURNS i: character
MethodFILEprintfi FILEprintf( tsxFILE *fd, const char *fmt,... );

(no description)
MethodFILEputci FILEputc( i ch, tsxFILE *fd )

PURPOSE Put the character to the output stream.
PARAMETERS
ch i: the character
fd tsxFILE*: a pointer to file descriptor

RETURNS i: a number of charcters passed into output
MethodFILEputsi FILEputs( const char *buf, tsxFILE *fd )

PURPOSE Put the string to the output stream.
PARAMETERS
buf char*: a pointer to the string
fd tsxFILE*: a pointer to file descriptor

RETURNS i: a number of characters passed into output
MethodFILEreadi FILEread( void *buf, i size, i count, tsxFILE *fd )

PURPOSE Read from the input stream into the buffer.
PARAMETERS
buf char*: a pointer to the buffer
size i: a size of one element in the buffer
count number of elements in the buffer
fd tsxFILE*: a pointer to file descriptor

RETURNS i: a number of read bytes
MethodFILEscanfi FILEscanf( tsxFILE *fd, const char *fmt,... );

(no description)
MethodFILEseeki FILEseek( tsxFILE *fd, long offset, i where )

PURPOSE Change a position of I/O head..
PARAMETERS
fd tsxFILE*: a pointer to file descriptor
offset long: offset from a place specified in "where"
where i:

RETURNS i:
MethodFILEwritei FILEwrite( const void *buf, i size, i count, tsxFILE *fd )

PURPOSE Write the buffer into output stream.
PARAMETERS
buf char*: a pointer to the buffer
size i: a size of one element in the buffer
count number of elements in the buffer
fd tsxFILE*: a pointer to file descriptor

RETURNS i: a number of written bytes
MethodGetInvisibleLayersi GetInvisibleLayers( mate* mat, tsxSHCLASS_xxxx tsxShclass )

PURPOSE Get bit-mask of invisible layers ( 0 - all visible).
PARAMETERS
mat mate*: a pointer to the material
tsxShclass tsxSHCLASS_xxxx: class of shaders to get the bit-mask for.

RETURNS i: bit-mask of the invisible layers
MethodGetScriptMDataTypei GetScriptMDataType();

(no description)
MethodGetShadingTypeFromShaderi GetShadingTypeFromShader( shader* pShader )

PURPOSE Get the reflection shading type from shader
PARAMETERS
shader shader*: shader to query

RETURNS i: tsxSHADER_PHONG if phong shading is used, tsxSHADER_METAL if metal shading is used, tsxSHADER_FLAT if flat shading is used, tsxSHADER_UNDEFINED otherwise
MethodGNodeGetDrawingModei GNodeGetDrawingMode( gnode* pGNode )

PURPOSE Get the drawing mode for the object
PARAMETERS
pGNode gnode*: object

RETURNS i: drawing mode as bitflags ( see drawing mode constants above )
MethodGNodeGetFullNamei GNodeGetFullName( gnode* pGNode, gnode* pParent, char* pName, i iNameSz )

PURPOSE Get the full name of a Gnode including names of all parent nodes up to specified top node ( pParent ). If no top node specified, returns the full name in the scene.
PARAMETERS
pGNode gnode*: a pointer to a GNode
pParent gnode*: a pointer to a top node in which the full name should be created,
or NULL if the full name in the scene should be created.
pName char*: buffer where the name is copied
iNameSz i: Size of the pName buffer

RETURNS i: length of the name. (0 if not valid request or null name)
MethodGNodeGetLookingAtThisi GNodeGetLookingAtThis( gnode* pGNode, gnode** ppLookingAt )

PURPOSE Get the list of objects which look-at the specified object
PARAMETERS
pGNode gnode*: a pointer to a GNODE
ppLookingAt gnode**: NULL(to get the number of objects) or a pointer to an array for all objects

RETURNS i: number of objects looking at the particular object
MethodGNodeGetNamei GNodeGetName( gnode* pGNode,char* pName,i iNameSz )

PURPOSE Get the Name of a Gnode.
PARAMETERS
pGNode gnode*: a pointer to a GNode
pName char*: buffer where the name is copied
iNameSz i: Size of the pName buffer

RETURNS i: length of the name. (0 if not valid request or null name)
MethodJointGetDoFi JointGetDoF( joint* pJoint )

PURPOSE Get a set of degrees of freedom.
PARAMETERS
pJoint joint*: joint

RETURNS i: set of active degrees of freedom ( see flags tsxJOINT_DOF_... )
MethodLatheGetAnglei LatheGetAngle( void )

PURPOSE Get a value of lathing angle.
PARAMETERS

RETURNS i: a value of lathing angle
MethodLatheGetRotationi LatheGetRotation( void )

PURPOSE Get a value of lathing orientation.
PARAMETERS

RETURNS i: a value of lathing orientation
MethodLatheGetSegmentsi LatheGetSegments( void )

PURPOSE Get a number of segments for Lathe.
PARAMETERS

RETURNS i: a number of segments
MethodLatticeGetSelectedPointsi LatticeGetSelectedPoints( lattice* pLattice, LatticeVector_p pPoints )

PURPOSE Get a number and/or a list of selected control points.
PARAMETERS
pLattice lattice*: lattice
pPoints LatticeVector_p: an array for coordinates of selected control points

RETURNS i: number of selected control points
MethodLightGetIBLNbrSamplesi LightGetIBLNbrSamples( light* pLight )

PURPOSE Returns the number of samples used for texture lookups, from 1 to 100
PARAMETERS
pLight light*: a pointer to the light

RETURNS i: number of samples
MethodLightGetIBLSphereResolutioni LightGetIBLSphereResolution( light* pLight )

PURPOSE Returns the resolution of the sphere representing an IBL light.
PARAMETERS
pLight light*: a pointer to the light

RETURNS i: sphere resolution for an IBL light (range 1-10)
MethodLightGetIBLURepsi LightGetIBLUReps( light* pLight )

PURPOSE Returns the number of u repeats for IBL light.
PARAMETERS
pLight light*: a pointer to the light

RETURNS i: number of u repeats
MethodLightGetIBLVRepsi LightGetIBLVReps( light* pLight )

PURPOSE Returns the number of v repeats for IBL light.
PARAMETERS
pLight light*: a pointer to the light

RETURNS i: number of v repeats
MethodMaterialGetAutofacetAnglei MaterialGetAutofacetAngle( mate* pMatrl )

PURPOSE Get the autofacet angle in degrees (0 - 120)
PARAMETERS
pMatrl mate*: a pointer to a material

RETURNS i: The angle in degrees (0 - 120)
MethodMaterialGetEnvrFlagsi MaterialGetEnvrFlags( mate* pMatrl )

PURPOSE Return tsxENVR_* (0 on error)
PARAMETERS
pMatrl mate*: a pointer to the material

RETURNS i: tsxENVR_* flags
MethodMaterialGetFacetingTypei MaterialGetFacetingType( mate* pMatrl )

PURPOSE Surface faceting (tsxFACET_*, 0 on error)
PARAMETERS
pMatrl mate*: a pointer to a material

RETURNS i one of tsxFACET_FACETED, tsxFACET_AUTO, tsxFACET_SMOOTH
MethodMaterialGetIdi MaterialGetId( mate* pMatrl )

PURPOSE Get the material ID (0-64K, -1 if not material)
PARAMETERS
pMatrl mate*: a pointer to a material

RETURNS i an ID between 0-64K, -1 if not a material
MethodMaterialGetShaderParametersNumberi MaterialGetShaderParametersNumber( mate* mat, tsxSHCLASS_xxxx tsxShclass );

(no description)
MethodMaterialGetShadingTypei MaterialGetShadingType( mate* pMatrl )

PURPOSE Get Reflection shading (tsxSHADER_*, 0 on error)
PARAMETERS
pMatrl mate*: a pointer to a material

RETURNS i: one of tsxSHADER_FLAT, tsxSHADER_PHONG, tsxSHADER_METAL
MethodMaterialGetTextureTypei MaterialGetTextureType( mate* pMatrl )

PURPOSE Return tsxTEXTURE_*
PARAMETERS
pMatrl mate*: a pointer to the material

RETURNS i
MethodMNodeGetRadiosityMeshAccuracyi MNodeGetRadiosityMeshAccuracy( mnode* pMNode )

PURPOSE Get the mesh accuracy radiosity parameter of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS i: the mesh accuracy radiosity parameter of the MNode
MethodMNodeGetRadiosityQualityi MNodeGetRadiosityQuality( mnode* pMNode )

PURPOSE Return quality setting (range 0-9 ) to be used for MNode during the radiosity computations
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS i: quality setting (0 if not set, -1 if not MNode)
MethodMuscleGetVerticesi MuscleGetVertices( lattice* pMuscle, polyh* pPolyh, i* pVertexIndices )

PURPOSE Get a number and a list of vertices of specified polyhedron that are part of specified muscle.
PARAMETERS
pMuscle lattice*: a pointer to muscle's lattice
pPolyh polyh*: a pointer to polyhedron.
pVertexIndices i*: an array for indices. If pVertexIndices is NULL pointer, it returns only the number of vertices, otherwise pVertexIndices has to be a valid pointer to sufficently long memory.

RETURNS i: a number of vertices
MethodNCurveGetNumCntlPtsi NCurveGetNumCntlPts( ncurve *nc )

PURPOSE Get number of control points of the curve.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS i: number of control points
MethodNCurveGetNumKnotsi NCurveGetNumKnots( ncurve *nc )

PURPOSE Get number of knots of the curve. There's no complementary Set function, because number of knots always equals to number of control points plus order and they are set by tsxNCurveSetNumCntlPts and tsxNCurveSetOrder.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS i: number of knots
MethodNCurveGetOrderi NCurveGetOrder( ncurve *nc )

PURPOSE Get order of the curve. Order is degree - 1.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS i: order
MethodNCurveRemoveKnoti NCurveRemoveKnot( ncurve *nc, f u, i num, f tol )

PURPOSE Remove knot from the curve knot vector (one knot removal results in one control point removal), but preserve the shape of the curve within given tolerance.
PARAMETERS
nc ncurve*: pointer to the curve
u f: knot to be removed (must be internal knot, not end knot)
num i: how many times to remove this (multiple) knot
tol f: how much the new curve is allowed to deviate from old curve (world distance) after one knot removal

RETURNS i: how many times the knot u was removed (0 if can't remove)
MethodNCurveRemoveMaxKnotsi NCurveRemoveMaxKnots( ncurve *nc, f tol )

PURPOSE Remove as many knots from the curve as possible (one knot removal results in one control point removal), but preserve the shape of the curve within given tolerance.
PARAMETERS
nc ncurve*: pointer to the curve
tol f: how much the new curve is allowed to deviate from old curve (world distance) after one knot removal

RETURNS i: how many knots were removed
MethodNPatchGetNumUCntlPtsi NPatchGetNumUCntlPts( npatch *np )

PURPOSE Get number of control points of the path in U direction.
PARAMETERS
np npatch*: pointer to the patch

RETURNS i: number of control points
MethodNPatchGetNumUKnotsi NPatchGetNumUKnots( npatch *np )

PURPOSE Get number of patch knots in U direction. There's no complementary Set function, because number of knots always equals to number of control points plus order (in U direction) and they are set by tsxNPatchSetNumUCntlPts and tsxNPatchSetUOrder.
PARAMETERS
np npatch*: pointer to the patch

RETURNS i: number of knots
MethodNPatchGetNumVCntlPtsi NPatchGetNumVCntlPts( npatch *np );

(no description)
MethodNPatchGetNumVKnotsi NPatchGetNumVKnots( npatch *np );

(no description)
MethodNPatchGetUOrderi NPatchGetUOrder( npatch *np )

PURPOSE Get order of the patch in U direction.
PARAMETERS
np npatch*: pointer to the patch

RETURNS i: order
MethodNPatchGetVOrderi NPatchGetVOrder( npatch *np );

(no description)
MethodPhysSimGetFixationPointsi PhysSimGetFixationPoints( sobj *pObj, Vec3f_p *vecFx1, Vec3f_p *vecFx2, Vec3f_p *vecFx3 )

PURPOSE Gets fixation points of specified phys sim object.
PARAMETERS
pObj sobj*: Pointer to the object
vecFx1 Vec3f_p *: the first fixation point
vecFx2 Vec3f_p *: the second fixation point
vecFx3 Vec3f_p *: the third fixation point

RETURNS i: number of valid fixation points (0..3) or -1 if an error
MethodPolyhGetFirstMaterialIdxi PolyhGetFirstMaterialIdx( polyh* pPolyh );

(no description)
MethodPolyhGetNbrFacesi PolyhGetNbrFaces( polyh* pPolyh )

PURPOSE Get the number of Faces (0 if not a Polyhedron).
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS i
MethodPolyhGetNbrHolesi PolyhGetNbrHoles( polyh* pPolyh )

PURPOSE Get the number of holes in the polyhedron.
PARAMETERS
pPolyh Pointer to the polyhedron

RETURNS Number of holes
MethodPolyhGetNbrMaterialsi PolyhGetNbrMaterials( polyh* pPolyh );

(no description)
MethodPolyhGetNbrUVi PolyhGetNbrUV( polyh* pPolyh )

PURPOSE Get the number of entries in UV-array (0 if not a Polyhedron).
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS i
MethodPolyhGetNbrVxsi PolyhGetNbrVxs( polyh* pPolyh )

PURPOSE Get the number of vertices (0 if not a Polyhedron).
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS i: number of vertices
MethodPolyhGetNextMaterialIdxi PolyhGetNextMaterialIdx( polyh* pPolyh, i iIdx );

(no description)
MethodPolyhGetSelectedEdgesi PolyhGetSelectedEdges( polyh* pPolyh, EdgeArray_p pEdges )

PURPOSE Get a number of selected edges and ( optionly ) a list of selected edges.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pEdges EdgeArray_p: fills an array of selected edges

RETURNS i: a number of selected edges
MethodPolyhGetSelectedFacesi PolyhGetSelectedFaces( polyh* pPolyh, i* pFaceIndices )

PURPOSE Get a number of selected faces and ( optionly ) a list of selected faces.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pFaceIndices i*: fills an array of indices of selected faces (optional)

RETURNS i: a number of selected faces
MethodPolyhGetSelectedVerticesi PolyhGetSelectedVertices( polyh* pPolyh, i* pVertexIndices )

PURPOSE Get a number of selected vertices and ( optionly ) a list of selected vertices.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pVertexIndices i*: fills an array of indices of selected vertices (optional)

RETURNS i: a number of selected vertices
MethodPolyhGetUserSelectedEdgesi PolyhGetUserSelectedEdges( polyh* pPolyh, EdgeArray_p pEdges )

PURPOSE Get a number of selected edges and ( optionally ) a list of selected edges. In contrary to tsxPolyhGetSelectedEdges, this functions works with selections active in point-edit mode.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pEdges EdgeArray_p: fills an array of selected edges

RETURNS i: a number of selected edges
MethodPolyhGetUserSelectedFacesi PolyhGetUserSelectedFaces( polyh* pPolyh, i* pFaceIndices )

PURPOSE Get a number of selected faces and ( optionally ) a list of selected faces. In contrary to tsxPolyhGetSelectedFaces, this functions works with selections active in point-edit mode.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pFaceIndices i*: fills an array of indices of selected faces (optional)

RETURNS i: a number of selected faces
MethodPolyhGetUserSelectedVerticesi PolyhGetUserSelectedVertices( polyh* pPolyh, i* pVertexIndices )

PURPOSE Get a number of selected vertices and ( optionally ) a list of selected vertices. In contrary to tsxPolyhGetSelectedVertices, this functions works with selections active in point-edit mode.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pVertexIndices i*: fills an array of indices of selected vertices (optional)

RETURNS i: a number of selected vertices
MethodSceneGetShaderIndexParametersNumberi SceneGetShaderIndexParametersNumber( tsxSHCLASS_xxxx tsxShclass, i shader_index );

(no description)
MethodSceneGetShaderParametersNumberi SceneGetShaderParametersNumber( tsxSHCLASS_xxxx tsxShclass );

(no description)
MethodShaderGetIDi ShaderGetID( shader* shader )

PURPOSE Return a session-unique shader identifier
PARAMETERS
shader input shader

RETURNS ID of the shader. It can be stored for later usage.
MethodShaderInfoGetParameterIDi ShaderInfoGetParameterID( shinfo* shinfo, i param_index )

PURPOSE Get shader parameter ID
PARAMETERS
shinfo pointer to shinfo
param_index 0-based shader parameter index

RETURNS shader parameter ID
MethodShaderInfoGetParametersNumberi ShaderInfoGetParametersNumber( shinfo* shinfo )

PURPOSE Returns number of shader parameters
PARAMETERS
shinfo pointer to shinfo

RETURNS number of shader parameters
MethodShaderInfoGetSeedi ShaderInfoGetSeed( shinfo* shinfo )

PURPOSE Shaders random values support. It returns random value for the shader info, by which Lightworks random numbers generator should be initialised before corresponding Lightworks shader is created. Return value -1 indicates, that generator shouldn't be set.
PARAMETERS
shinfo shinfo*: pointer to shader info

RETURNS i: seed value for random number generator
MethodSmoothDivGetAnglei SmoothDivGetAngle( void )

PURPOSE Get a value of SmoothDiv angle.
PARAMETERS

RETURNS i: a value of SmoothDiv angle
MethodSubDivActiveCageGetEdgesi SubDivActiveCageGetEdges( mnode* pMNode, SubDivEdgeArray_p pEdges )

PURPOSE Get information about edges of subdivision surface: start/end vertex, sharpness and infinity flag for every edge (for the active control cage).
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
pEdges SubDivEdgeArray_p: Pointer to array of SubDivEdgeArray_p. Can be NULL.

RETURNS i: Number of edges
MethodSubDivGetActiveLeveli SubDivGetActiveLevel( mnode* pMNode )

PURPOSE Returns active level for SDS object (range 0..tsxSubDivGetDivision())
PARAMETERS
pMNode mnode*: Pointer to subdivision surface

RETURNS i: Active level number
MethodSubDivGetDivisioni SubDivGetDivision( mnode* pMNode )

PURPOSE Returns division degree of given pMNode object (0 if oMNode is not a subdiv object).
(let division = number of cages - 1)
PARAMETERS
pMNode mnode*: Pointer to subdivision surface

RETURNS i: Division degree
MethodSubDivGetEdgesi SubDivGetEdges( mnode* pMNode, SubDivEdgeArray_p pEdges )

PURPOSE Get information about edges of subdivision surface: start/end vertex, sharpness and infinity flag for every edge.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
pEdges SubDivEdgeArray_p: Pointer to array of SubDivEdgeArray_p. Can be NULL.

RETURNS i: Number of edges
MethodSubDivGetFinestEditedLeveli SubDivGetFinestEditedLevel( mnode* pMNode )

PURPOSE Get finest edited (i.e using PE) level number.
NOTE: You can alter this level without harming other finer levels changes
PARAMETERS
pMNode mnode*: Pointer to subdivision surface

RETURNS i: finest edited level number
MethodSweepGetFloori SweepGetFloor( void )

PURPOSE Get a number of active floor of swept part.
PARAMETERS

RETURNS i: a number of active floor
MethodSweepGetSegmentsi SweepGetSegments( void )

PURPOSE Get a number of segments for Sweep and Tip.
PARAMETERS

RETURNS i: a number of segments
MethodTendonGetVerticesi TendonGetVertices( lattice* pTendon, polyh* pPolyh, i* pVertexIndices )

PURPOSE Get a number and a list of vertices of specified polyhedron that are part of specified tendon.
PARAMETERS
pTendon lattice*: a pointer to tendon's lattice
pPolyh polyh*: a pointer to polyhedron.
pVertexIndices i*: an array for indices. If pVertexIndices is NULL pointer, it returns only the number of vertices, otherwise pVertexIndices has to be a valid pointer to sufficently long memory.

RETURNS i: a number of vertices
MethodtsxClipsGetClipNames i tsxClipsGetClipNames ( sobj* pSobj , char **names[] )

PURPOSE Get a list of names of all clips of specified object.
PARAMETERS
pSobj sobj*: a pointer to the Sobj
names (char[])**: a pointer to an array of pointers to names of clips.
It's filled by the function. No need to allocate or deallocate memory.

RETURNS number of clips of the object
MethodCreateImageImage* CreateImage( void )

PURPOSE Create an empty image data structure ( doesn't allocate memory for image data)
PARAMETERS

RETURNS Image*: a pointer to the newly created image
Methodlong ScriptMGetTimeDelayinline long ScriptMGetTimeDelay();

(no description)
MethodBoneGetFirstJointjoint* BoneGetFirstJoint( bone* pBone )

PURPOSE Get the first joint that links specified bone to other bone.
PARAMETERS
pBone bone*: a pointer to Bone object

RETURNS joint*: a pointer to Joint
MethodBoneGetNextJointjoint* BoneGetNextJoint( bone* pBone, joint* pJoint )

PURPOSE Get the next joint that links specified bone to other bone.
PARAMETERS
pBone bone*: a pointer to Bone object
pJoint joint*: a pointer to Joint object

RETURNS joint*: a pointer to Joint or NULL
MethodFrameGetNextFramekeyframe* FrameGetNextFrame( keyframe* pKFrame )

PURPOSE Get closest next (to specified keyframe) keyframe.
PARAMETERS
pKFrame keyframe*: reference keyframe

RETURNS keyframe*: keyframe next to reference, if it exists
MethodFrameGetPrevFramekeyframe* FrameGetPrevFrame( keyframe* pKFrame )

PURPOSE Get closest previous (to specified keyframe) keyframe.
PARAMETERS
pKFrame keyframe*: reference keyframe

RETURNS keyframe*: keyframe previous to reference, if it exists
MethodSobjGetFirstFramekeyframe* SobjGetFirstFrame( sobj* pSobj, e_tsxKFT_xxxx keyfType,long segment )

PURPOSE Get first Keyframe of obj, for specified attribute (and optional segment).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the animatable attribute
segment long: an optional segment of the attribute (0 if not used)

RETURNS keyframe*
MethodSobjGetFramekeyframe* SobjGetFrame( sobj* pSobj,e_tsxKFT_xxxx keyfType,long segment,f time )

PURPOSE Get Keyframe at specified time for specified attribute (and optional segment) if it exists.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx:
segment long: an optional segment of the attribute (0 if not used)
time f: the time of the keyframe

RETURNS keyframe*: a pointer to the desired keyframe, if it exists
MethodSobjGetLastFramekeyframe* SobjGetLastFrame( sobj* pSobj, e_tsxKFT_xxxx keyfType,long segment )

PURPOSE Get last Keyframe of obj, for specified attribute (and optional segment).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the desired attribute
segment long: an optional segment of the attribute (0 if not used)

RETURNS keyframe*
MethodSobjGetLeftFramekeyframe* SobjGetLeftFrame( sobj* pSobj, e_tsxKFT_xxxx keyfType, long segment,f time )

PURPOSE Get closest previous (to specified time) keyframe of object, for specified attribute (and optional segment).
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the attribute looked for
segment long: an optional segment of the attribute (0 if not used)
time f: current time

RETURNS keyframe* a pointer to the desired keyframe, if it exists
MethodBoneGetMusclelattice* BoneGetMuscle( bone* pBone, joint* pJoint )

PURPOSE Get a pointer to muscle's lattice around the specified bone near specified joint.
PARAMETERS
pBone bone*: a pointer to Bone object
pJoint joint*: a pointer to Joint. If the bone is linked by one or two joints, the pJoint can be NULL.

RETURNS lattice*: a pointer to muscle's lattice
MethodJointGetTendonlattice* JointGetTendon( joint* pJoint )

PURPOSE Get a pointer to tendon's lattice around the specified joint.
PARAMETERS
pJoint joint*: a pointer to joint

RETURNS lattice*: a pointer to tendon's lattice
MethodMaterialGetEmissionlight* MaterialGetEmission( mate* pMatrl )

PURPOSE Get emission properties of the material ( in a form of a light source )
PARAMETERS
pMatrl mate*: a pointer to a material

RETURNS light*: pointer to a valid light source specification - light source acts as an object/material light thus the light is emitted from the whole surface of the object.
MethodFILEtelllong FILEtell( tsxFILE *fd )

PURPOSE Get a position of I/O head.
PARAMETERS
fd tsxFILE*: a pointer to file descriptor

RETURNS long:
MethodFrameGetDatalong FrameGetData( keyframe* pKFrame,void* pData,long length )

PURPOSE Get Keyframe data.
PARAMETERS
pKFrame keyframe*: a pointer to the source keyframe
pData void*: a pointer to the memory area to be filled with the Data
length long: the length of the data

RETURNS long: the length of the data
MethodFrameGetDataDescriptionlong FrameGetDataDescription( keyframe* pKFrame,short** ppDescr )

PURPOSE Get description of Keyframe data. Returns size of description.
PARAMETERS
pKFrame keyframe*: a pointer to the source keyframe
ppDescr short**: a pointer to the start of the description

RETURNS long: size of the description
MethodFrameGetDataLengthlong FrameGetDataLength( keyframe* pKFrame )

PURPOSE Get the length of Keyframe data.
PARAMETERS
pKFrame keyframe*: a pointer to the source keyframe

RETURNS long: length of keyframe data
MethodFrameSetDatalong FrameSetData( keyframe* pKFrame,void* pData,long length )

PURPOSE Set Keyframe data.
PARAMETERS
pKFrame keyframe*: a pointer to the target keyframe
pData void*: a pointer to a memory area containing the data to set
length long: the length of the data

RETURNS long: the length of the data
MethodScriptMGetTimelong ScriptMGetTime();

(no description)
MethodSobjGetAttrDatalong SobjGetAttrData( sobj* pSobj,e_tsxKFT_xxxx keyfType, void* pData,long length )

PURPOSE Get Attribute data.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: queried attribute
pData void*: attribute block
length long: length of the attribute block

RETURNS long
MethodSobjGetAttrDataLengthlong SobjGetAttrDataLength( sobj* pSobj,e_tsxKFT_xxxx keyfType )

PURPOSE Get length of Attribute data.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: queried attribute

RETURNS long: length of attribute data
MethodSobjGetFirstSegmentlong SobjGetFirstSegment( sobj* pSobj,e_tsxKFT_xxxx keyfType )

PURPOSE Get the first segment of attribute of Sobj.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: attribute queried

RETURNS long: segment id
MethodSobjGetInterpolatedDatalong SobjGetInterpolatedData( sobj* pSobj,e_tsxKFT_xxxx keyfType,long segment,f time,void* pData,long length )

PURPOSE Get interpolated data for specified attribute (and optional segment) at specified time.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: the specified attribute
segment long: an optional segment of the specified attribute (0 in none)
time f: time of the requested interpolation
pData void*: pointer to the memory area containing the interpolated data
length long: size of the memory area containing the interpolated data

RETURNS long
MethodSobjGetNextSegmentlong SobjGetNextSegment( sobj* pSobj,e_tsxKFT_xxxx keyfType,long segment )

PURPOSE Get the next segment of attribute of Sobj.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx:
segment long: current segment

RETURNS long: id of the next segment
MethodSobjSetAttrDatalong SobjSetAttrData( sobj* pSobj,e_tsxKFT_xxxx keyfType, void* pData,long length )

PURPOSE Set Attribute data.
PARAMETERS
pSobj sobj*: a pointer to the SObj
keyfType e_tsxKFT_xxxx: target attribute
pData void*: attribute data block
length long: length of attribute data

RETURNS long
MethodtsxPolyhFaceTriangulate long tsxPolyhFaceTriangulate ( polyh* pPolyh, Face_p pFace, long* pBuffer, long bufferSize )

PURPOSE Takes a polyhedron and its face and returns triangulation in a given buffer; each three entries are the vertices of a triangle. Each triangle vertex represents an index in the combined list of vertices for this face including all holes. Note, the buffer size has to be 3*(v-2+2*h) long where v is the total number of vertices, and h is the number of holes.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pFace Face_p: a face to be triangulated
pBuffer long*: a pointer to the buffer to hold the results of the triangulation
bufferSize long: size of the buffer to be used for triangulation

RETURNS long: number of triangles created
MethodLightGetMaterialmate* LightGetMaterial( light* pLight )

PURPOSE Return material of the area light
PARAMETERS
pLight light*: a pointer to the light

RETURNS mate: material associated with the given area light
MethodMaterialGetActivemate* MaterialGetActive()

PURPOSE Return a ptr to the Active Material (may be NULL )
PARAMETERS
None

RETURNS mate* the active material, NULL if none
MethodMatRectGetMaterialmate* MatRectGetMaterial( matrect* pMatRect )

PURPOSE Get material associate with the material rectangle
PARAMETERS
pMatRect matrect*: a pointer to the Material rectangle

RETURNS mate*: a pointer to the Material associated with the material rectangle
MethodPolyhGetIndexedMaterialmate* PolyhGetIndexedMaterial( polyh* pPolyh, i iIdx );

(no description)
MethodRenderMaterialSampleGetIIRMatmate* RenderMaterialSampleGetIIRMat( void );

(no description)
MethodBoneGetNailnail* BoneGetNail( bone* pBone )

PURPOSE Get the nail if it nails specified bone.
PARAMETERS
pBone bone*: a pointer to Bone object

RETURNS nail*: a pointer to Nail or NULL if the bone is not nailed.
MethodIKgroupGetNailnail* IKgroupGetNail( ikg* pIKgroup )

PURPOSE Get a nail of IKgroup.
PARAMETERS
pIKgroup ikg*: IK Group object

RETURNS nail*: nail
MethodIKgroupGetNextNailnail* IKgroupGetNextNail( ikg* pIKgroup, nail* pNail )

PURPOSE Get another nail of IKgroup ( if IKgroup consists of more independent branches )
PARAMETERS
pIKgroup ikg*: IK Group object
pNail nail*: nail

RETURNS nail*: another nail
MethodNURBSCircularArcCreatencurve *NURBSCircularArcCreate( f radius, f start_ang, f end_ang, i nint_pts, bool closed_arc )

PURPOSE Create NURBS circle or circular arc. It will lay in XY plane, centered at (0,0,0).
PARAMETERS
radius f: Radius
start_ang f: Start angle of the arc from [0, 360)
end_ang f: End angle of the arc from (0, 360]
nint_pts i: Number of interpolative points to use. 6 should be enough for almost perfect circular shape.
closed_arc bool: Circular arc can be closed by two lines from its center to beginning and to end of the arc.

RETURNS ncurve
MethodUVTrimCurveTo3Dncurve *UVTrimCurveTo3D( npatch *np, ncurve *uv_nc, f curv_angle, f break_angle )

PURPOSE Make 3D curve corresponding to UV trimming curve.
PARAMETERS
np npatch: pointer to patch to which UV trimming curve belongs
uv_nc tsxNCurve*: pointer to UV trimming curve
curv_angle f: Precision of reconstruction (how much the tangent must change to emit new control point). -1 means default.
break_angle f: Sharp corner threshold (min angle of two adjacent tangents). -1 means default.

RETURNS ncurve
MethodNPatchPolyhGetNPatchnpatch *NPatchPolyhGetNPatch( polyh *polyh )

PURPOSE Get npatch object that is attached to polyh as a child. Parent polyhedron of the patch is ordinary polyh object with the following exception: tsxSobjGetType will identify it as e_tsxNPATCH_POLYH instead of e_tsxPOLYHEDRON.
PARAMETERS
polyh polyh*: parent polyhedron

RETURNS npatch*: patch
MethodPathCreatepath* PathCreate( void )

PURPOSE Create an empty Path. The Model-Axes are set to the World Axes. The Transformation Matrix is set to the identity matrix with no translation.
PARAMETERS

RETURNS path*
MethodCreateWdgPolyhpolyh *CreateWdgPolyh( Vec3f_p vects[], i facelist[], i numvects, i numfaces, Txmx3f_p *pPosCorrection )

PURPOSE Function create the widget's polyhedron.
PARAMETERS
vects[] Vec3f_p: list of the object's vectors
facelist[] i: list of the polyhedron's faces and holes
numvects i: number of the vectors
numfaces i: number of the faces
pPosCorrection Txmx3f_p *: pointer to a matrix that will be applied to the vectors. Can be NULL.

RETURNS polyh *: return the polyhedron if successful
MethodGetWdgDrawObjectpolyh *GetWdgDrawObject( widget *lpWidget )

PURPOSE To get a polyhedron that currently represents the widget.
PARAMETERS
lpWidget widget *: widget object

RETURNS polyh *: polyhedron that represents the widget
MethodNCurveConvertToPolyhedronpolyh *NCurveConvertToPolyhedron( ncurve *nc )

PURPOSE Convert NURBs curve to polyhedron - the curve object is not replaced in the scene tree
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS polyh*: pointer to the polyhedron created by the conversion from a curve.
MethodNPatchGetPolyhpolyh *NPatchGetPolyh( npatch *np )

PURPOSE Get parent polyhedron of npatch object. If npatch is going to be a part of the scene graph, it must have polyh as a parent.
PARAMETERS
np npatch*: pointer to the patch

RETURNS polyh*: parent polyhedron
MethodCreateConepolyh* CreateCone( i NbrLongitudes,i NbrLattitudes, f botRadius, f height )

PURPOSE Create a Cone (really a cylinder with a very very small top) with the base in the XY plae, and Z as the vertical axis.
PARAMETERS
NbrLongitudes i: # Longitudes (Min = 3)
NbrLattitudes i: # Lattitudes (Min = 2)
botRadius f: Base radius
height f: height of the cone

RETURNS polyh*
MethodCreateCubepolyh* CreateCube( i nbrSections,f x,f y,f z )

PURPOSE Create a cube aligned with the World axes.
PARAMETERS
nbrSections i: resolution
x f: X dimension
y f: Y dimension
z f: Z dimension

RETURNS polyh*
MethodCreateCylinderpolyh* CreateCylinder( i NbrLongitudes,i NbrLattitudes, f topRadius,f botRadius,f height )

PURPOSE Create a Cylinder with the base in the XY plane and Z as the vertical axis.
PARAMETERS
NbrLongitudes i: # Longs (Min = 3)
NbrLattitudes i: # Latts (Min = 2)
topRadius f: Top radius
botRadius f: Base radius
height f: height of the cylinder

RETURNS polyh*
MethodCreatePlanepolyh* CreatePlane( i nbrXrects,i nbrYrects )

PURPOSE Create rectangular plane in XY plane.
PARAMETERS
nbrXrects i: # rects in X direction (Min = 1)
nbrYrects i: # rects in Y direction (Min = 1)

RETURNS polyh*
MethodCreateSpherepolyh* CreateSphere( i NbrLongitudes,i NbrLattitudes, f radius )

PURPOSE Create a sphere sitting on the XY plane, with Z as the vertical axis.
PARAMETERS
NbrLongitudes i: # Longs (Min = 3)
NbrLattitudes i: # Latts (Min = 2)
radius f: radius of the sphere

RETURNS polyh*
MethodCreateToruspolyh* CreateTorus( i NbrLongitudes,i NbrLattitudes, f innerRadius )

PURPOSE Create a torus with Z as the axis.
PARAMETERS
NbrLongitudes i: # Longitudes (Min = 3)
NbrLattitudes i: # Lattitudes (Min = 3)
innerRadius f: Inner radius (0 < radius < 1.0)

RETURNS polyh*
MethodMNodeGetPolyhedronpolyh* MNodeGetPolyhedron( mnode* pMNode )

PURPOSE Returns representative polyhedron of the MNode object
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS Ptr to the representative polyhedron
MethodMNodeGetRenderingPolyhedronpolyh* MNodeGetRenderingPolyhedron( mnode* pMNode )

PURPOSE Returns polyhedron used for subsequent realistic rendering of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS Ptr to the polyhedron used for rendering
MethodMNodeGetTriangulatedPolyhedronpolyh* MNodeGetTriangulatedPolyhedron( mnode* pMNode )

PURPOSE Returns triangulated representative polyhedron of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS Ptr to the triangulated representative polyhedron
MethodSubDivGetActiveCagePtrpolyh* SubDivGetActiveCagePtr( mnode* pMNode )

PURPOSE Get pointer to the active control mesh of subdivision surface.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface

RETURNS polyh*: Pointert to control mesh, NULL if invalid
MethodSubDivGetCagePtrpolyh* SubDivGetCagePtr( mnode* pMNode )

PURPOSE Get pointer to control mesh of subdivision surface.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface

RETURNS polyh*: Pointert to control mesh
MethodInvertMx3fret InvertMx3f( Txmx3f_p Minv,const Txmx3f_p M )

PURPOSE Minv = Inverse of M. Return e_tsxFAILURE if result is not reliable.
PARAMETERS
Minv Txmx3f_p:
M const Txmx3f_p:

RETURNS ret
MethodMaterialGetShaderNameret MaterialGetShaderName( mate* mat, tsxSHCLASS_xxxx tsxShclass, char* name );

(no description)
MethodMaterialGetShaderParameterNameret MaterialGetShaderParameterName( mate* mat, tsxSHCLASS_xxxx tsxShclass, i param_index, char* name );

(no description)
MethodSceneGetShaderIndexNameret SceneGetShaderIndexName( tsxSHCLASS_xxxx tsxShclass, i shader_index, char* name );

(no description)
MethodSceneGetShaderIndexParameterNameret SceneGetShaderIndexParameterName( tsxSHCLASS_xxxx tsxShclass, i shader_index, i param_index, char* name );

(no description)
MethodSceneGetShaderIndexParameterTypedValueret SceneGetShaderIndexParameterTypedValue( tsxSHCLASS_xxxx tsxShclass, i shader_index , i param_index, tsxSHPARAM_xxxx type, void* dest );

(no description)
MethodSceneGetShaderNameret SceneGetShaderName( tsxSHCLASS_xxxx tsxShclass, char* name );

(no description)
MethodSceneGetShaderParameterNameret SceneGetShaderParameterName( tsxSHCLASS_xxxx tsxShclass, i param_index, char* name );

(no description)
MethodSceneGetShaderParameterTypedValueret SceneGetShaderParameterTypedValue( tsxSHCLASS_xxxx tsxShclass, i param_index, tsxSHPARAM_xxxx type, void* dest );

(no description)
MethodSceneSetShaderIndexParameterValueret SceneSetShaderIndexParameterValue( tsxSHCLASS_xxxx tsxShclass, i shader_index, i param_index, void* value );

(no description)
MethodSceneSetShaderParameterValueret SceneSetShaderParameterValue( tsxSHCLASS_xxxx tsxShclass, i param_index, void* value );

(no description)
MethodShaderInfoGetParameterNameret ShaderInfoGetParameterName( shinfo* shinfo, i param_index, char* name )

PURPOSE Get shader parameter name
PARAMETERS
shinfo pointer to shinfo
param_index 0-based shader parameter index
name output shader name buffer

RETURNS e_tsxSUCCESS if everything OK, otherwise e_tsxFAILURE
MethodShaderInfoGetShaderNameret ShaderInfoGetShaderName( shinfo* shinfo, char* name )

PURPOSE Get the name of the shader attached to this shaderinfo
PARAMETERS
shinfo pointer to shinfo
name output string storing the shader name

RETURNS e_tsxSUCCESS if the name was successfuly retrieved, otherwise e_tsxFAILURE
MethodGetScenescene* GetScene()

PURPOSE Get the trueSpace scene.
PARAMETERS
None

RETURNS scene*
MethodShaderInfoGetShadershader* ShaderInfoGetShader( shinfo* shinfo )

PURPOSE Get shader associated with shader info.
PARAMETERS
shinfo pointer to shinfo

RETURNS pointer to the shader
MethodShaderGetActiveshader* ShaderGetActive( tsxSHCLASS_xxxx shclass )

PURPOSE Get active shader of the specified shader class (the shader selected in the shader panel)
PARAMETERS
shclass shader class

RETURNS active shader
MethodShaderGetFirstshader* ShaderGetFirst()

PURPOSE To obtain first shader in the shader list
PARAMETERS

RETURNS first shader in the shader list
MethodShaderGetNextshader* ShaderGetNext( shader* shader )

PURPOSE Trace through the shader list
PARAMETERS
shader the shader of which descendant is asked for

RETURNS descendant of the input shader or NULL if input shader is last in the list
MethodMaterialGetShaderInfoshinfo* MaterialGetShaderInfo( mate* mat, tsxSHCLASS_xxxx shclass )

PURPOSE Get material shader information of the specified shader class (see shinfo)
PARAMETERS
mat mate*: a pointer to the material
shclass shader class

RETURNS pointer to shinfo object which contains desired information
MethodParameterValueGetShaderInfoshinfo* ParameterValueGetShaderInfo( shparamval* value )

PURPOSE Get shader info pointer if parameter points to the shader info. Used for layered shaders and can be called only if tsxParameterValueIsShaderInfo returns e_tsxTRUE.
PARAMETERS
value input abstract value

RETURNS poniter to sub-shader info or NULL if invalid
MethodSceneGetGlobalShaderInfoshinfo* SceneGetGlobalShaderInfo( void* pGBox, tsxSHCLASS_xxxx tsxShclass );

(no description)
MethodShaderInfoCreateshinfo* ShaderInfoCreate()

PURPOSE Create shader info. The tsxShaderInfoSetShader must be called to make shader info valid. Shader info created by this sunction must be deleted by tsxShaderInfoDestroy. The usual mechanism of setting up the material is:

shinfo* si = tsxShaderInfoCreate( )
... get shader sh ...
tsxShaderInfoSetShader( sh )
... set up shader info parameters ...
tsxMaterialSetShaderInfo( mat, si )
tsxShaderInfoDestroy( si )

PARAMETERS none

RETURNS pointer to created shader info
MethodGetActiveLayerIndexshort GetActiveLayerIndex()

PURPOSE Function returns active layer index.
PARAMETERS
none

RETURNS short: index of the active layer
MethodGetLayerIndexByNameshort GetLayerIndexByName( const char* pName )

PURPOSE Function returns index of the layer with given name.
PARAMETERS
pName char *: name of the layer

RETURNS short: index of the layer.
MethodGetLayerIndexByNumbershort GetLayerIndexByNumber( short number )

PURPOSE Function returns index of the layer with given number.
PARAMETERS
number short: number associated with the layer

RETURNS short: the index of the layer with given number on success, -1 otherwise.
MethodGetLayerNumbershort GetLayerNumber( short index )

PURPOSE Function returns number of the layer with given index.
PARAMETERS
index short: index of the layer

RETURNS short: the number of the layer with given index on success, -1 otherwise.
MethodGetNumberOfLayerObjectsshort GetNumberOfLayerObjects( short index )

PURPOSE Function returns the number of root objects belonging to the layer with given index.
PARAMETERS
index short: index of the layer to count objects in

RETURNS short: object count.
MethodGetNumberOfLayersshort GetNumberOfLayers()

PURPOSE Function returns the number of layers including the removed ones (invalid ).
PARAMETERS
none

RETURNS short: number of layers.
MethodGetNumberOfValidLayersshort GetNumberOfValidLayers()

PURPOSE Function returns the number of valid layers.
PARAMETERS
none

RETURNS short: number of valid layers.
MethodGetObjectLayerIndexshort GetObjectLayerIndex( sobj* pObject )

PURPOSE Function returns the layer index of given object.
PARAMETERS
pObject sobj*: object to request layer number for.

RETURNS short: The layer index of given object on success, -1 otherwise.
MethodLightGetShadowMapResolutionshort LightGetShadowMapResolution( light* pLight )

PURPOSE Get shadow-map resolution.
PARAMETERS
pLight light*: a pointer to the light

RETURNS short: shadowmap resolution is pixels
MethodLightGetShmapQualityCustomshort LightGetShmapQualityCustom( light* pLight );

(no description)
MethodLightGetShmapSharpnessCustomshort LightGetShmapSharpnessCustom( light* pLight )

PURPOSE Get custom setting for shadowmap sharpness.
PARAMETERS
pLight light*: a pointer to the light

RETURNS short: sharpness setting for shadowmap - range 1. - 10.
MethodShaderInfoGetParameterValueshparamval* ShaderInfoGetParameterValue( shinfo* shinfo, i param_index )

PURPOSE Get shader parameter name
PARAMETERS
shinfo pointer to shinfo
param_index 0-based shader parameter index

RETURNS pointer to the parameter value (see shparamval section)
MethodObjectGetNotesize_t ObjectGetNote( gnode* pObject, char *note, size_t noteLength )

PURPOSE Get length of attached note.
PARAMETERS
pObject gnode*: Tested node
note char*: Pointer to buffer for attached note data if exists
noteLength size_t: Length of note buffer

RETURNS size_t: Length of attached note
MethodObjectGetNoteLengthsize_t ObjectGetNoteLength( gnode* pObject )

PURPOSE Get length of attached note.
PARAMETERS
pObject gnode*: Tested node

RETURNS size_t: Length of attached note
MethodGenericHeadLoadsobj *GenericHeadLoad( char *name );

(no description)
MethodObjectLoadsobj *ObjectLoad( char *name )

PURPOSE Load object. If an object is successfully loaded, it is selected as the current object.
PARAMETERS
name char*: a name of the file with the object
if name == NULL, load dialog will appear (new for 4.1)

RETURNS sobj*: a pointer to the Sobj
MethodAViewGetCameraObjsobj* AViewGetCameraObj()

PURPOSE Get pointer to the object that the active view is currently constrained to look through, if any.
PARAMETERS
None

RETURNS sobj*
MethodGetCurrentSelectionsobj* GetCurrentSelection()

PURPOSE Get pointer to the currently selected object. Note: trueSpace may select objects that are not currently supported in TSX.
PARAMETERS
None

RETURNS sobj*
MethodGetNextSelectionsobj* GetNextSelection( sobj* pSobj );

(no description)
MethodObjectCreatesobj* ObjectCreate( tsxSOBJTYPE objType )

PURPOSE Create a new object of specified type of external object.
PARAMETERS
objType tsxSOBJTYPE: a type of external object

RETURNS sobj*: a pointer to a new object
MethodSobjGetFirstChildsobj* SobjGetFirstChild( sobj* pSobj )

PURPOSE Get the first child of an object.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS sobj*: a pointer to the first child
MethodSobjGetLastChildsobj* SobjGetLastChild( sobj* pSobj )

PURPOSE Get the last child of an object.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS sobj*: a pointer to the last child
MethodSobjGetNextsobj* SobjGetNext( sobj* pSobj )

PURPOSE Get the next node of valid tsx Sobj Type
pSobj is any Calobj
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS sobj*: a pointer to the next node of valid type
MethodSobjGetParentsobj* SobjGetParent( sobj* pSobj )

PURPOSE Get the parent of an object.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS sobj*: a pointer to the parent
MethodSobjGetPrevsobj* SobjGetPrev( sobj* pSobj )

PURPOSE Get the prev node of valid tsx Sobj Type
pSobj is any Calobj
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS sobj*: a pointer to the previous node of valid type
MethodSubDivActiveCageGetSubdivideFacesSubDivFaceArray_p SubDivActiveCageGetSubdivideFaces( mnode* pMNode )

PURPOSE Get subdivide faces array for the active cage.
NOTE: size of the array is equall to size of vertex array (or could be larger but extra fields are unused)
PARAMETERS
pMNode mnode*: Pointer to subdivision surface

RETURNS SubDivFaceArray_p: subdivide faces array
Methodbool LightIsLensFlaresSYNTAX bool LightIsLensFlares( light* pLight )

PURPOSE Return true if the light should create lens flares effect
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool
Methodbool LightIsVolumetricSYNTAX bool LightIsVolumetric( light* pLight )

PURPOSE Return true if the light should create volumetric effect
PARAMETERS
pLight light*: a pointer to the light

RETURNS bool
Methodbool LightSetShadowMapResolutionSYNTAX bool LightSetShadowMapResolution( light* pLight, short resolution )

PURPOSE Set shadow-map resolution numerically.
PARAMETERS
pLight light*: a pointer to the light
resolution short: resolution of the shadowmap in pixels

RETURNS bool: e_tsxFALSE if not light, e_tsxTRUE otherwise
Methodbool MetaballIsPrimitiveSYNTAX bool MetaballIsPrimitive( mnode* pPrim, mball** pMetaball )

PURPOSE Tests whether object is a metaball primitive
PARAMETERS
pPrim mnode*: pointer to an object to be tested for metaball primitive
pMetaball mball **: pointer to a metaball object containing the primitive will be returned here

RETURNS bool:
Methoderr MetaballCreateSYNTAX err MetaballCreate( mball** ppMetaball )

PURPOSE Create an empty (no primitives) metaball object in the scene
PARAMETERS
ppMetaball mball**: pointer to the created metaball object will be returned here

RETURNS err:
Methoderr MetaballPrimitiveCreateSYNTAX err MetaballPrimitiveCreate( mball* pMetaball, mnode** ppPrim, e_tsxMETABALL_xxxx mbType )

PURPOSE Adds metaball primitive to metaball object. Primitive is placed into "default" position: location (0,0,1), no rotation, default size. The position/rotation/scaling of the object can be manipulated afterwards by tsxGNode functions such as tsxGNodeSetLocation, tsxGNodeSetRotation, tsxGNodeSetSize. Metaball "skin" and display are NOT refreshed automatically - the refresh needs to be performed manually by calling tsxMetaballRefresh function
PARAMETERS
pMetaball mball *: pointer to a metaball object
ppPrim mnode**: pointer to the added metaball primitive will be returned here
mbType e_tsxMETABALL_xxxx: type of the primitive to create

RETURNS err:
Methoderr MetaballPrimitiveGetParamSYNTAX err MetaballPrimitiveGetParam( mball* pMetaball, mnode* pPrim, bool *positive, f *volume )

PURPOSE Queries parameters of a metaball primitive
PARAMETERS
pMetaball mball *: pointer to a metaball object
pPrim mnode*: pointer to a metaball primitive
positive bool*: returns e_tsxTRUE if primitive is positive, e_tsx_FALSE if negative
volume f*: volume of influence will be returned here (must be > 1.25)

RETURNS err:
Methoderr MetaballPrimitiveSetParamSYNTAX err MetaballPrimitiveSetParam( mball* pMetaball, mnode* pPrim, bool *positive, f *volume )

PURPOSE Sets parameters of a metaball primitive
PARAMETERS
pMetaball mball *: pointer to a metaball object
pPrim mnode*: pointer to a metaball primitive
positive bool*: e_tsxTRUE if primitive is positive, e_tsx_FALSE if negative
volume f*: volume of influence to set (must be > 1.25)

RETURNS err:
Methoderr MetaballRefreshSYNTAX err MetaballRefresh( mball* pMetaball, e_tsxMETABALL_REFRESH_xxxx type, bool refreshDisplay )

PURPOSE Refreshes the metaball "skin" (based on the parameter refresh type) and refreshes metaball object in real time renderer (if refreshDisplay is TRUE)
PARAMETERS
pMetaball mball *: pointer to a metaball object to refresh
type e_tsxMETABALL_REFRESH_xxxx: type of the refresh (render or display)
refreshDisplay bool: e_tsxTRUE if display of the metaball object should be refreshed in real time renderer, e_tsxFALSE otherwise

RETURNS err:
Methoderr RenderAViewSYNTAX err RenderAView()

PURPOSE render a particular view using photorealistic rendering
PARAMETERS
none

RETURNS err:
MethodFaceSetHolesSYNTAX FaceSetHoles( polyh* pPolyh, Face_p pFace, i iNbrHoles, Hole_p pHoles[] )

PURPOSE Assign a new hole-ptr array to the face of the polyhedron. The corresponding field in pFace is set to pHoles. Clears old holes and array and frees memory, if any.
Note: Use the TSXAPI memory routines ( tsxMisc.h ) to allocate the memory area (pHoles) for the hole array.
PARAMETERS
pPolyh Face to assign holes to
pFace Pointer to the face
iNbrHoles Number of holes (>=0)
pHoles Ptr to the array of holes (may be NULL)

RETURNS void
MethodHBITMAP RenderGNodePreviewSYNTAX HBITMAP RenderGNodePreview( gnode *obj, i width, i height )

PURPOSE render a thumbnail image of a particular object using photorealistic rendering
PARAMETERS
obj object to render the thumbnail for
width width of the thumbnail
height height of the thumbnail

RETURNS HBITMAP: handle to thumbnail bitmap - plugin is responsible for deleting the bitmap afterwards.
MethodNPatchCntlPointIdxSYNTAX NPatchCntlPointIdx( nu, i, j )

PURPOSE This macro computes index to array of patch control points from indices in U and V direction.
PARAMETERS
nu number of control points in U direction
i U index
j V index

RETURNS index to array of control points
MethodNPatchCntlPointUVIdcsSYNTAX NPatchCntlPointUVIdcs( nu, idx, i, j )

PURPOSE This macro computes indices in U and V direction from index to array of patch control points.
PARAMETERS
nu number of control points in U direction
idx index to array of control points
i U index
j V index

RETURNS void
MethodSceneRefreshObjectSYNTAX SceneRefreshObject( sobj* obj )

PURPOSE Refresh the given object in all the views of the scene
PARAMETERS
obj sobj object to be refreshed

RETURNS void
Methodshinfo* LayeredMaterialGetVisibleShaderInfoSYNTAX shinfo* LayeredMaterialGetVisibleShaderInfo( mate* mat, tsxSHCLASS_xxxx tsxShclass )

PURPOSE Get shader info for a particular shader class masked by the visibility information
PARAMETERS
mat mate*: a pointer to the material
tsxShclass tsxSHCLASS_xxxx: class of shaders to get the bit-mask for.

RETURNS shinfo*: resulting shader info
Methodvoid FixMatListSYNTAX void FixMatList( gnode* pNode )

PURPOSE Fix all materials associated with the object. All corresponding files are verified for existence (if not existent the filename is replaced).
PARAMETERS
pNode gnode*: a pointer to the object to fix materials for

RETURNS void
MethodActiveTimeChangedCBtsxBasicCallbackFP ActiveTimeChangedCB( i tsxid, tsxBasicCallbackFP func )

PURPOSE Specify the callback function called for a change of the active frame number. The function 'func' will get called each time there is a change in the frame number, made by the normal trueSpace animation panels or through a call to one of the above functions for setting active time. Use 0 (NULL) to remove an installed callback. Returns the previous callback function pointer (or 0 if none).
PARAMETERS
tsxid i: Id of this eXtn (see tsxGetData).
func tsxBasicCallbackFP: This function gets installed as the callback.

RETURNS tsxBasicCallbackFP: previous callback function pointer
MethodSelectionChangedCBtsxBasicCallbackFP SelectionChangedCB( i tsxid,tsxBasicCallbackFP func )

PURPOSE The function `func' will get called each time there is a change in the current selection, made by the normal trueSpace mouse tool or through a call to one of the above functions for making/changing a selection, while an eXtension is active. Use 0 (NULL) to remove an installed callback. Installation and callback works only while an eXtension is active. Returns the previous callback function pointer (or 0 if none).
PARAMETERS
tsxid i: Id of this eXtn (see tsxGetData).
func tsxBasicCallbackFP: This function gets installed as the callback.

RETURNS tsxBasicCallbackFP
MethodLightGetFallofftsxLIGHT_FALLOFF LightGetFalloff( light* pLight )

PURPOSE Get the light intensity falloff type with distance.
PARAMETERS
pLight light*: a pointer to the light

RETURNS tsxLIGHT_FALLOFF
MethodLightSetFallofftsxLIGHT_FALLOFF LightSetFalloff( light* pLight, tsxLIGHT_FALLOFF NewFo )

PURPOSE Set the light intensity falloff type with distance. Returns the new value, or tsxLF_UNDEF for invalid request.
PARAMETERS
pLight light*: a pointer to the light
NewFo tsxLIGHT_FALLOFF: new fallof type

RETURNS tsxLIGHT_FALLOFF
MethodShaderGetClasstsxSHCLASS_xxxx ShaderGetClass( shader* shader )

PURPOSE Return shader class
PARAMETERS
shader input shader

RETURNS shader class to which shader belongs
MethodShaderInfoGetClasstsxSHCLASS_xxxx ShaderInfoGetClass( shinfo* shinfo )

PURPOSE Returns class of the appended shader (see tsxSHCLASS_xxxx)
PARAMETERS
shinfo pointer to shinfo

RETURNS shader class to which shaderinfo belongs
MethodParameterValueGetTypetsxSHPARAM_xxxx ParameterValueGetType( shparamval* value )

PURPOSE Get parameter value type identifier
PARAMETERS
value input abstract value

RETURNS code of the parameter value type
MethodSceneGetShaderIndexParameterTypetsxSHPARAM_xxxx SceneGetShaderIndexParameterType( tsxSHCLASS_xxxx tsxShclass,i shader_index, i param_index );

(no description)
MethodSceneGetShaderParameterTypetsxSHPARAM_xxxx SceneGetShaderParameterType( tsxSHCLASS_xxxx tsxShclass, i param_index );

(no description)
MethodObjectDefinetsxSOBJTYPE ObjectDefine( i tsxid, char* name, tsxObjectCallbackFP* objCallback, long objDataLength )

PURPOSE Register a new type of external object.
PARAMETERS
tsxid i: eXtension id
name char*: name of the object ( max 16 characters )
objCallback tsxObjectCallbackFP*: callback functions for the object
objDataLength long: length of data (may be 0L)

RETURNS tsxSOBJTYPE: type of the object
MethodObjectIsArraytsxSOBJTYPE ObjectIsArray( gnode* pObject, gnode** ppItem, gnode** ppInfo )

PURPOSE Checks if given pObject is an array or a part of array.
PARAMETERS
pObject gnode*: Tested node
ppItem gnode**: Pointer of pointer to array item Node, may be NULL
ppInfo gnode**:Pointer of pointer to array info Node, may be NULL

RETURNS tsxSOBJTYPE: Type of array - e_tsxXXX_ARRAY_INFO
MethodSobjGetTypetsxSOBJTYPE SobjGetType( sobj* pSobj )

PURPOSE Return the Sobj Type. One of these:
enum tsxSOBJTYPE {
e_tsxUNDEFINED = 0, //Not a TSX-supported SOBJ type
// SOBJ types
e_tsxMATERIAL = 1,
e_tsxSCENE,
e_tsxPLUGIN_FILTER,
e_tsxPHYS_WIND,
e_tsxMATRECT,
// Selectable objects
e_tsxSELECTABLE = 50, //(Not a legal SOBJ type)
e_tsxAXES,
// GNODE types
e_tsxGNODETYPES = 100, //(Not a legal SOBJ type)
e_tsxCAMERA,
e_tsxLIGHT,
e_tsxJOINT,
e_tsxNAIL,
e_tsxLATTICE,
e_tsxPATH,
// MNODE types
e_tsxMNODETYPES = 200, //(Not a legal SOBJ type)
e_tsxPOLYHEDRON,
e_tsxGROUP,
e_tsxLODGROUP, //Levels of Detail
e_tsxMBALLOBJ, //Object with meta-balls
e_tsxSADEF, // Free-standing deformation
e_tsxIKGROUP, //Object with joints (Inverse Kinematics)
e_tsxMETANURBS,
e_tsxMETANURBS_MESH,
e_tsxOPARTICLE,
e_tsxSKELETON,
e_tsxPARAMOBJECT, // Object behaves like group object even it is not, but it has children.
e_tsxHTMLBUTTON, // *IH* March 1999, special object for iSpace, a kind of group object
e_tsxNPATCH_POLYH, // patch representation for real-time display
e_tsxNPATCH, // mesh of patch's control points
e_tsxNURBOBJ, // meta NURB object
e_tsxNCURVE,
e_tsxSUBDIV, // subdivision surface
e_tsxSUBDIV, // subdivision surface
e_tsxSUBDIV_MESH, // subdivision control mesh
e_tsxGRID_ARRAY_INFO, // Grid array info object
e_tsxRADIAL_ARRAY_INFO, // Radial array info object
e_tsxSPLINE_ARRAY_INFO, // Spline array info object
e_tsxSOBJEND //(Not a legal SOBJ type)
};
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS tsxSOBJTYPE
MethodGetWdgIntAcstsxWDGINTACS_xxxx GetWdgIntAcs( widget *lpWidget )

PURPOSE To get current interface access flags of the widget.
PARAMETERS
lpWidget widget *: widget object

RETURNS tsxWDGINTACS_xxxx: current interface access flags
MethodAddMxTranslation3fTxmx3f_p AddMxTranslation3f( Txmx3f_p Txmx,const Vec3f_p trvec )

PURPOSE Add translation vector 'trvec' to Txmx
PARAMETERS
Txmx Txmx3f_p: the target transformation matrix
trvec const Vec3f_p: the desired translation increment

RETURNS Txmx3f_p
MethodAViewGetEye2WorldTxmxTxmx3f_p AViewGetEye2WorldTxmx( Txmx3f_p pTxmx )

PURPOSE Get the matrix for transforming view's Eye coordinates to world coordinates (inverse of the World-to-Eye matrix).
PARAMETERS
pTxmx Txmx3f_p: a pointer to the transformation matrix

RETURNS Txmx3f_p: a pointer to the transformation matrix
MethodAViewGetWorld2EyeTxmxTxmx3f_p AViewGetWorld2EyeTxmx( Txmx3f_p pTxmx )

PURPOSE Get the matrix for transforming world coordinates to view's Eye coordinates.
PARAMETERS
pTxmx Txmx3f_p: a pointer to the transformation matrix

RETURNS Txmx3f_p: a pointer to the transformation matrix
MethodAViewGetWorld2VportTxmxTxmx3f_p AViewGetWorld2VportTxmx( Txmx3f_p pTxmx )

PURPOSE Get the matrix for transforming world coordinates to viewport (screen) coordinates.
PARAMETERS
pTxmx Txmx3f_p: a pointer to the transformation matrix

RETURNS Txmx3f_p: a pointer to the transformation matrix
MethodGNodeGetPureTransformTxmx3f_p GNodeGetPureTransform( gnode* pGNode,Txmx3f_p pTxmx )

PURPOSE Return the transformation matrix representation of the GNode's axes, with only Rotation and Translation elements, and no Scaling/Shearing factors. 0 if not GNode
PARAMETERS
pGNode gnode*: a pointer to the GNode
pTxmx Txmx3f_p: a pointer to the transformation matrix

RETURNS Txmx3f_p: The pure transform, 0 if not GNode
MethodGNodeGetTransformTxmx3f_p GNodeGetTransform( gnode* pGNode, Txmx3f_p pTxmx );

(no description)
MethodMakeMxFromXZO3fTxmx3f_p MakeMxFromXZO3f( const Vec3f_p xAxis,const Vec3f_p zAxis,const Vec3f_p origin,Txmx3f_p pTxmx,Txmx3f_p pInvTxmx = 0 )

PURPOSE Make a Transformation Matrix from specified X and Z axes and Origin. pTxmx points to the matrix where the result Transformation Matrix is stored. If pInvTxmx is specified, the inverted Transform is stored there. Returns reference to Txmx.
PARAMETERS
xAxis const Vec3f_p: X Axis of the desired transformation
zAxis const Vec3f_p: Y Axis of the desired transformation
origin const Vec3f_p: Origin of the desired transformation
pTxmx Txmx3f_p: the result transformation
pInvTxmx Txmx3f_p : a matrix to store the inverse transformation, computed if a non-NULL pointer is given as argument

RETURNS Txmx3f_p
MethodMakePureRotMx3fTxmx3f_p MakePureRotMx3f( const Vec3f_p axis,f angle, Txmx3f_p pTxmx,Txmx3f_p pInvTxmx = 0 )

PURPOSE Build a pure rotation matrix, leaving other cells untouched. The rotation is about a (unit) vector 'axis'.
PARAMETERS
axis const Vec3f_p: Axis of the desired rotation
angle f: Angle of the desired rotation in radians
pTxmx Txmx3f_p: the result transformation (only the rotational part has been modified)
Txmx3f_p pInvTxmx: a matrix to store the inverse transformation, computed if a non-NULL pointer is given as argument

RETURNS Txmx3f_p
MethodMakeRotMx3fTxmx3f_p MakeRotMx3f( const Vec3f_p cent,const Vec3f_p axis,f angle,Txmx3f_p pTxmx,Txmx3f_p pInvTxmx = 0 )

PURPOSE Makes a transformation matrix for a rotation by 'angle' about a line defined by the center point 'cent' and the normalized axis vector 'axis', using the "Right Hand" convention. Return reference to Txmx.
PARAMETERS
cent const Vec3f_p: Center of the desired rotation
axis const Vec3f_p: Axis of the desired rotation
angle f: Angle of the desired rotation in radians
pTxmx Txmx3f_p: the result transformation
Txmx3f_p pInvTxmx: a matrix to store the inverse transformation, computed if a non-NULL pointer is given as argument

RETURNS Txmx3f_p
MethodPolyhGetVxTxmxTxmx3f_p PolyhGetVxTxmx( polyh* pPolyh, Txmx3f_p pTxmx )

PURPOSE Get the Vertex Transformation Matrix. Returns pTxmx, if valid operation. Note: This matrix includes scaling and shearing terms, so it is not guaranteed to be orthogonal. Use `tsxUnMatrix3f' before inverting.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pTxmx Txmx3f_p: ptr to Txmx where result is copied.

RETURNS Txmx3f_p
MethodSetMxTranslation3fTxmx3f_p SetMxTranslation3f( Txmx3f_p Txmx,const Vec3f_p trvec )

PURPOSE Set the translation components of a Txmx
PARAMETERS
Txmx Txmx3f_p: the target transformation matrix
trvec const Vec3f_p: the desired translation vector

RETURNS Txmx3f_p
MethodSubMxTranslation3fTxmx3f_p SubMxTranslation3f( Txmx3f_p Txmx,const Vec3f_p trvec )

PURPOSE Subtract translation vector 'trvec' from Txmx
PARAMETERS
Txmx Txmx3f_p: the target transformation matrix
trvec const Vec3f_p: the desired translation decrement

RETURNS Txmx3f_p
MethodXProdMx3fTxmx3f_p XProdMx3f( Txmx3f_p A,const Txmx3f_p B , const Txmx3f_p C )

PURPOSE A = B x C Matrix Multiplication. A may be the same as B or C.
PARAMETERS
A Txmx3f_p: a transformation matrix to store the result
B const Txmx3f_p: a transformation matrix
C const Txmx3f_p: a transformation matrix

RETURNS Txmx3f_p
MethodGetWdgFlagsulong GetWdgFlags( widget *lpWidget )

PURPOSE To get current widget's flags.
PARAMETERS
lpWidget widget *: widget object

RETURNS ulong: current widget's flags
MethodNPatchDetectPolesUSHORT NPatchDetectPoles( npatch *np )

PURPOSE Detect patch poles (edges collapsed to one point).
PARAMETERS
np npatch*: pointer to the patch

RETURNS USHORT: combination of following pole flags:
MethodPolyhGetUVArrayUV_p PolyhGetUVArray( polyh* pPolyh )

PURPOSE Get pointer to the UV-array (0 if not a Polyhedron).
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS UV_p
MethodNCurveGetCntlPtsVec3f_p *NCurveGetCntlPts( ncurve *nc )

PURPOSE Get pointer to array of control points of the curve.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS Vec3f_p: pointer to array of control points
MethodNPatchGetCntlPtsVec3f_p *NPatchGetCntlPts( npatch *np )

PURPOSE Get pointer to array of control points of the patch. Number of points is nu * nv. Points are stored in V-major order, i.e. index in U direction changes faster than index in V direction.
PARAMETERS
np npatch*: pointer to the patch

RETURNS Vec3f_p: pointer to array of control points
MethodAddScalar3fVec3f_p AddScalar3f( Vec3f_p vec,const f uu )

PURPOSE vec = vec + s, where s = (uu, uu, uu). 'vec' is modified and returned
PARAMETERS
vec Vec3f_p: a 3-D vector, to be modified
uu const f: a constant to be added to each coordinate

RETURNS Vec3f_p
MethodAddToVec3fVec3f_p AddToVec3f( const Vec3f_p u,const Vec3f_p v, Vec3f_p x )

PURPOSE x = u + v
PARAMETERS
u const Vec3f_p: a 3-D vector, 1st addend
v const Vec3f_p: a 3-D vector, 2nd addend
x Vec3f_p: a 3-D vector, will store the result

RETURNS Vec3f_p
MethodAddVec3fVec3f_p AddVec3f( Vec3f_p u,const Vec3f_p v )

PURPOSE u = u + v
PARAMETERS
u Vec3f_p: a 3-D vector, will store the result
v const Vec3f_p: added 3-D vector, unmodified

RETURNS Vec3f_p
MethodGetMxTranslation3fVec3f_p GetMxTranslation3f( Vec3f_p trvec,const Txmx3f_p Txmx )

PURPOSE Get the translation components {x, y, z} into 'trvec'.
PARAMETERS
trvec Vec3f_p: the resulting translation vector
Txmx const Txmx3f_p: the source transformation matrix

RETURNS Vec3f_p
MethodGNodeGetAxesPositionVec3f_p GNodeGetAxesPosition( gnode* pGNode, Vec3f_p posn )

PURPOSE Get the GNode's position in World coordinates.
PARAMETERS
pGNode gnode*: a pointer to a GNode
posn Vec3f_p: a pointer to a 3-vector

RETURNS Vec3f_p: 0 if not GNODE, else posn.
MethodGNodeGetLocationVec3f_p GNodeGetLocation( gnode* pGNode, Vec3f_p loc ).

PURPOSE Returns the location of a given GNode.
PARAMETERS
pGNode gnode*: a pointer to a GNODE
loc Vec3f_p: a pointer to a location vector

RETURNS 0 if pGNode isn't a GNODE; otherwise, a pointer to a location vector
MethodGNodeGetRotationVec3f_p GNodeGetRotation( gnode* pGNode, Vec3f_p rot ).

PURPOSE Returns the euler angles of the given GNode's orientation.
PARAMETERS
pGNode gnode*: a pointer to a GNODE
rot Vec3f_p *: a pointer to an orientation vector

RETURNS 0 if pGNode isn't a GNODE; otherwise, a pointer to a location vector
MethodGNodeGetSizeVec3f_p GNodeGetSize( gnode* pGNode, Vec3f_p size ).

PURPOSE Returns the size of a given GNode.
PARAMETERS
pGNode gnode*: a pointer to a GNODE
size Vec3f_p: a pointer to a size vector

RETURNS 0 if pGNode isn't a GNODE; otherwise, a pointer to a location vector
MethodLatticePointGetLocationVec3f_p LatticePointGetLocation( lattice* pLattice, LatticeVector_p pPoint, Vec3f_p loc )

PURPOSE Get a local position of specified control point.
PARAMETERS
pLattice lattice*: lattice
pPoint LatticeVector_p: pointer to coordinates of the control point
loc Vec3f_p: pointer to a 3-vector

RETURNS err
MethodLatticePointSetLocationVec3f_p LatticePointSetLocation( lattice* pLattice, LatticeVector_p pPoint, Vec3f_p loc )

PURPOSE Set a local position of specified control point.
PARAMETERS
pLattice lattice*: lattice
pPoint LatticeVector_p: pointer to coordinates of the control point
loc Vec3f_p: pointer to a 3-vector

RETURNS err
MethodMulScalar3fVec3f_p MulScalar3f( Vec3f_p vec,const f s )

PURPOSE vec = vec * s
PARAMETERS
vec Vec3f_p: a 3-D vector
s const f: scalar

RETURNS Vec3f_p
MethodPhysSimGetAccelMotionVectorVec3f_p PhysSimGetAccelMotionVector( sobj *pObj, Vec3f_p *vec )

PURPOSE Get motion acceleration vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
vec Vec3f_p: Place to store the motion acceleration vector

RETURNS Vec3f_p: 'vec' or NULL if object has no physical properties.
MethodPhysSimGetCenterOfGravityVec3f_p PhysSimGetCenterOfGravity( sobj *pObj, Vec3f_p *cog )

PURPOSE Get center of gravity of the object.
PARAMETERS
pObj sobj*: Pointer to the object
cog Vec3f_p: Place to store the center of gravity

RETURNS Vec3f_p: 'cog' or NULL if object has no physical properties.
MethodPhysSimGetInitialMotionVectorVec3f_p PhysSimGetInitialMotionVector( sobj *pObj, Vec3f_p *vec )

PURPOSE Get initial motion vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
vec Vec3f_p: Place to store the initial motion vector

RETURNS Vec3f_p: 'vec' or NULL if object has no physical properties.
MethodPolyhGetVxArrayVec3f_p PolyhGetVxArray( polyh* pPolyh )

PURPOSE Get a pointer to the array of vertices (0 if not a Polyhedron). The Vertex coordinates are in the frame defined by the Vertex Transformation Matrix.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS Vec3f_p
MethodPolyhGetVxNormalsArrayVec3f_p PolyhGetVxNormalsArray( polyh* pPolyh );

(no description)
MethodSubToVec3fVec3f_p SubToVec3f( const Vec3f_p u,const Vec3f_p v, Vec3f_p x )

PURPOSE x = u - v
PARAMETERS
u const Vec3f_p: a 3-D vector, minuend
v const Vec3f_p: a 3-D vector, subtrahend
x Vec3f_p: a 3-D vector, will store the result

RETURNS Vec3f_p
MethodSubVec3fVec3f_p SubVec3f( Vec3f_p u,const Vec3f_p v )

PURPOSE u = u - v
PARAMETERS
u Vec3f_p: a 3-D vector, will store the result
v const Vec3f_p: substracted 3-D vector, unmodified

RETURNS Vec3f_p
MethodXProdVec3fVec3f_p XProdVec3f( Vec3f_p uxv,const Vec3f_p u,const Vec3f_p v )

PURPOSE u x v (Cross Product, a.k.a. exterior product)
PARAMETERS
uxv Vec3f_p: a 3-D vector, will store the result
u const Vec3f_p: a 3-D vector
v const Vec3f_p: a 3-D vector

RETURNS Vec3f_p
MethodGetWdgUsersDatavoid *GetWdgUsersData( widget *lpWidget )

PURPOSE To get the pointer to user's data.
PARAMETERS
lpWidget widget *: widget object

RETURNS void *: pointer to user's data
MethodScriptGetDataPtrvoid *ScriptGetDataPtr( sobj* obj );

(no description)
MethodAddMemBlockMarkvoid AddMemBlockMark( char* mark );

(no description)
MethodAllViewRefreshSelObjectvoid AllViewRefreshSelObject()

PURPOSE Use this function to refresh the selected object in the all views
PARAMETERS

RETURNS void
MethodAllViewsRefreshvoid AllViewsRefresh()

PURPOSE Use this function to refresh all views of the scene simultaneously
PARAMETERS

RETURNS void
MethodAnimGetPlayRangesvoid AnimGetPlayRanges( f* start, f* end );

(no description)
MethodAnimRecordSelectionKeyframesvoid AnimRecordSelectionKeyframes()

PURPOSE Record keyframes for a currently selected object (equivalent to hitting record button within tS ).
PARAMETERS
none

RETURNS none
MethodAnimSetActiveFramevoid AnimSetActiveFrame( gnode* pGNode, f frameNbr );

(no description)
MethodAnimSetActiveTimevoid AnimSetActiveTime( f frameNbr )

PURPOSE Set the active frame number. It updates whole scene according the new frame number. If there is an animated object in the scene, it may be changed to correspond its keyframes. So if an eXtension is animating the Sobj, it should repeat the following three steps:
1/ set the active frame number,
2/ change the animated attribute of Sobj (i.e. its position),
3/ create a keyframe of the attribute in active frame number (see tsxSobjSetFrame)
PARAMETERS
frameNbr f:

RETURNS void
MethodAnimSetActiveTimeObjectvoid AnimSetActiveTimeObject( sobj* pSobj, f frameNbr )

PURPOSE Put the object into a frame number without the screen refresh
PARAMETERS
pSobj sobj*: object to change the frame number for
frameNbr f:

RETURNS void
MethodAnimSetActiveTimeScenevoid AnimSetActiveTimeScene( f frameNbr )

PURPOSE Put the scene into a frame number without the screen refresh.
PARAMETERS
frameNbr f:

RETURNS void
MethodAnimSetAutoRecordvoid AnimSetAutoRecord( bool value )

PURPOSE Get the status of the auto-record button.
PARAMETERS
value bool - e_tsxTRUE if the autorecord should be switched ON, e_tsxFALSE otherwise

RETURNS bool - e_tsxTRUE if the autorecord is ON, e_tsxFALSE otherwise
MethodAnimSetPlayModevoid AnimSetPlayMode( e_tsxPLAY_xxxx mode )

PURPOSE Set mode for playback.
PARAMETERS
mode e_tsxPLAY_xxxx:

RETURNS void
MethodAnimSetPlayRangesvoid AnimSetPlayRanges( f start,f end )

PURPOSE Set ranges for playback.
PARAMETERS
start f: start time
end f: end time

RETURNS void
MethodArrayObjectHideWidgetvoid ArrayObjectHideWidget( gnode* pObject, bool hide )

PURPOSE Checks if widget is hidden for given array
PARAMETERS
pObject gnode*: Tested node
hide bool: e_tsxTRUE to hide widget

RETURNS
MethodAViewGetDirectionvoid AViewGetDirection( Vec3f_p dirn )

PURPOSE Get the direction in which the view is pointed, as a normalized vector relative to its position (copied into 'dirn')
PARAMETERS
dirn Vec3f_p: the direction in which the view points

RETURNS void
MethodAViewGetDrawportSizevoid AViewGetDrawportSize( long* width, long* height )

PURPOSE Get size of the screen drawport
PARAMETERS
width, height output drawport sizes

RETURNS void
MethodAviewGetEyeToRenderTxmxvoid AviewGetEyeToRenderTxmx( long dpw, long dph, long rw, long rh, f par, Txmx2f_p pm )

PURPOSE Get transformation matrix from the viewport to rendered output
PARAMETERS
dpw, dph drawport width and height - can be obtained by calling tsxAViewGetDrawportSize
rw, rh output resolution width and height
par used pixel aspect ratio
pm output 2D transformation matrix

RETURNS void
MethodAViewGetMouseRayvoid AViewGetMouseRay( short mousePtX, short mousePtY, Vec3f_p pRayOrigin, Vec3f_p pRayDirn )

PURPOSE Compute a ray pointing from the eye's viewpoint through the mouse point. The ray is returned in pRayOrigin and pRayDirn, the latter giving the direction as a normalized vector pointing from pRayOrigin. Any of the output arguments may be NULL, if that value is not desired.
PARAMETERS
mousePtX short: IN: mouse X coordinate (in screen space)
mousePtY short: IN: mouse Y coordinate
pRayOrigin Vec3f_p: OUT: Eye location for active view
pRayDirn Vec3f_p: OUT: Normalized direction from pRayOrigin

RETURNS void
MethodAViewGetPositionvoid AViewGetPosition( Vec3f_p posn )

PURPOSE Get the eye position (copied into 'posn') in world coordinates
PARAMETERS
posn Vec3f_p: the position of the eye in world coordinates

RETURNS void
MethodAViewGetScreenPointvoid AViewGetScreenPoint( Vec3f_p pWorldPt, short* pScreenPtX, short* pScreenPtY )

PURPOSE Compute screen cordinates of the point in the active view
PARAMETERS
pWorldPt input world coordinates
pScreenPtX output screen x-coordinate in pixels
pScreenPtY output screen y-coordinate in pixels

RETURNS void
MethodAViewRefreshvoid AViewRefresh()

PURPOSE Refresh the active view of the scene after changing the view's attributes.
PARAMETERS
None

RETURNS void
MethodAViewSetBankvoid AViewSetBank( f bankAngle )

PURPOSE Change the bank angle between the view's horizontal axis and the world X axis.
PARAMETERS
bankAngle f: the bank angle in radians

RETURNS void
MethodAViewSetDrawingModevoid AViewSetDrawingMode( i mode )

PURPOSE Set the drawing mode of the active view.
PARAMETERS
mode i: drawing mode represented as bitflags (see drawing mode constants above)

RETURNS void
MethodAViewSetPenvoid AViewSetPen( e_tsxPEN_xxxx pen )

PURPOSE Set a color of a pen for wireframe drawing ( for external type of object ).
PARAMETERS
Pen e_tsxPEN_xxxx: a color for the wireframe drawing

RETURNS void
MethodAViewSetViewvoid AViewSetView( Vec3f_p pEyePosn, Vec3f_p pLookAt, bool bLevelIt )

PURPOSE Change the position and direction of the active view's "eye". A NULL value for 'pEyePosn' or 'pLookAt' indicates no change in that parameter.
PARAMETERS
pEyePosn Vec3f_p: New position of eye, in world coordinates
pLookAt Vec3f_p: New point at which eye should point, in world coordinates
bLevelIt bool: e_tsxTRUE if eye's horizontal axis should be made parallel to world X, otherwise current bank with world-X maintained.

RETURNS void
MethodAViewUnsetCameraModevoid AViewUnsetCameraMode()

PURPOSE Turn off the camera mode, removing the constraint on the active view to look through an object. The current view of the scene is not changed.
PARAMETERS
None

RETURNS void
MethodAxesToEulervoid AxesToEuler( Axes3f_p *axes, Vec3f_p *angles )

PURPOSE Get euler angles representing the rotation defined by the axes position.
PARAMETERS
axes CtsxAxes3F*: axes position
angles Vec3f_p: euler angles in radians representing the same rotation

RETURNS void
MethodBBoxInitvoid BBoxInit( BBox3f_p pBBox )

PURPOSE Initialize BBox to a negative volume.
PARAMETERS
pBBox BBox3f_p: the initialized bounding box

RETURNS void
MethodBevelSetAnglevoid BevelSetAngle( i angle )

PURPOSE Set a new value of beveling angle.
PARAMETERS
angle i: a new value of beveling angle

RETURNS void
MethodBevelSetBevelvoid BevelSetBevel( f bevel )

PURPOSE Set a new value of bevel.
PARAMETERS
bevel f: a new value of bevel

RETURNS void
MethodBooleanSetIdentityvoid BooleanSetIdentity( i identity )

PURPOSE Set new active identity value for Booleans.
PARAMETERS
identity i: active identity value (in 1/1000 of unit )
REUTURNS void

identity i: active identity value (in 1/1000 of unit)
MethodBooleanSetOptionsvoid BooleanSetOptions( i options )

PURPOSE Set new active options for Booleans.
PARAMETERS
Options i: flags for new active options (see above )
REUTURNS void

Options i: flags for new active options (see above)
MethodCloseNotebookvoid CloseNotebook( void )

PURPOSE Close Notebook editor.
PARAMETERS

RETURNS
MethodCreateWidgetMaterialvoid CreateWidgetMaterial( polyh *polyh, Color_p colors[], long num_colors, i facelist[] )

PURPOSE Function creates the object's materials and assign it to the faces.
PARAMETERS
polyh polyh *: the polyhedron
colors[] Color_p: table of the object's color
num_colors long: number of the colors
facelist[] i: the face list of the polyhedron

RETURNS
MethodCurrobjDrawvoid CurrobjDraw()

PURPOSE Draw the curr selection
PARAMETERS
None

RETURNS void
MethodCurrobjEditToolvoid CurrobjEditTool()

PURPOSE Start the default edit tool (based on the object type ) for the current object.
PARAMETERS
None

RETURNS void
MethodCurrobjPhrendervoid CurrobjPhrender()

PURPOSE Photo-render the current object in the active view.
PARAMETERS
None

RETURNS void
MethodCurrobjRefreshvoid CurrobjRefresh()

PURPOSE Refresh the current selection. This function is equivalent but more efficient than tsxCurrobjDraw
PARAMETERS
None

RETURNS void
MethodCurrobjReplacevoid CurrobjReplace( gnode* pNewGNode,bool bNoDraw )

PURPOSE Removes the current object and substitutes it with pNewGNode. If the selected part of the current object does not include it's children, the children are moved to the new object and removed from the current object, leaving the children non-selected. pNewGNode is installed in Currobj's location, and becomes the new Currobj. The old Currobj is deleted.
PARAMETERS
pNewGNode gnode*: a pointer to the Gnode that should become Currobj
bNoDraw bool: TRUE if View displays should not be refreshed.

RETURNS void
MethodCurrobjToggleAxesvoid CurrobjToggleAxes()

PURPOSE Toggles (On/Off ) the display of the current object's axes, if applicable.
PARAMETERS
None

RETURNS void
MethodDerivCurvesDeletevoid DerivCurvesDelete( DerivCurves_p *der_curves )

PURPOSE Delete the structure that keeps derivative curves and free all data allocated by tsxNCurveDerivCurves.
PARAMETERS
der_curves DerivCurves_p: pointer to structure keeping derivative curves

RETURNS void
MethodDisableLayersLockSwitchUsingvoid DisableLayersLockSwitchUsing()

PURPOSE Function resets the flag of the mass locked-visible direct switch's using.
PARAMETERS
none

RETURNS none
MethodEnableLayersLockSwitchUsingvoid EnableLayersLockSwitchUsing()

PURPOSE Function sets the flag of the mass locked-visible direct switch's using.
PARAMETERS
none

RETURNS none
MethodEulerToAxesvoid EulerToAxes( Vec3f_p *angles, Axes3f_p *axes )

PURPOSE Get axes representing the rotation defined by 3 euler angles.
PARAMETERS
angles Vec3f_p: euler angles in radians
axes CtsxAxes3F*: axes position representing the same rotation

RETURNS void
MethodFaceDeletevoid FaceDelete( Face_p pFace )

PURPOSE Delete's pFace and all related structures.
PARAMETERS
pFace Face_p: the face to delete

RETURNS void
MethodFindSNormsvoid FindSNorms( Vec3f_p pVxs, Face_p pFace );

(no description)
MethodFrameDeletevoid FrameDelete( keyframe* pKFrame )

PURPOSE Delete Keyframe.
PARAMETERS
pKFrame keyframe*: a pointer to the keyframe to delete

RETURNS void
MethodFrameRemovevoid FrameRemove( keyframe* pKFrame )

PURPOSE Remove Keyframe from whatever list it is in.
PARAMETERS
pKFrame keyframe*: a pointer to the Keyframe to be removed

RETURNS void
MethodFreevoid Free( void* memblock )

PURPOSE Free a block
PARAMETERS
memblock void*: the block to free

RETURNS voidOther functions
MethodFreeCollisionReportvoid FreeCollisionReport( struct ColRpt_p **CollReport, long *ReportCount )

PURPOSE Function free the collision report generated by the previous two functions.
PARAMETERS
CollReport ColRpt_p **: the collision report array
reportCount long *: number of the reports

RETURNS void
MethodGetGlobalShadersDirvoid GetGlobalShadersDir( char* path )

PURPOSE Get root directory for the material custom shaders.
PARAMETERS
path returned path

RETURNS void
MethodGetMaterialShadersDirvoid GetMaterialShadersDir( char* path )

PURPOSE Get root directory for the material custom shaders.
PARAMETERS
path returned path

RETURNS void
MethodGetShaderDefaultDirvoid GetShaderDefaultDir( tsxSHCLASS_xxxx shclass, char* path )

PURPOSE Return default directory for the shaders of the specified shader class.
PARAMETERS
shclass shader class
path returned path

RETURNS void
MethodGetTsVersionNbrsvoid GetTsVersionNbrs( short* pMajor,short* pMinor )

PURPOSE Accessing an installed trueSpace's TSX Version Info. Values placed in the arguments.
PARAMETERS
pMajor short*: Major version nbr
pMinor short*: Minor version nbr

RETURNS void
MethodGNodeDrawvoid GNodeDraw( gnode* pGNode )

PURPOSE Draw pGNode in the current view, in the current view's rendering mode.
PARAMETERS
pGNode gnode*:

RETURNS void
MethodGNodeRotatevoid GNodeRotate( gnode* pGNode,Vec3f_p pCenter,Vec3f_p pAxis,f fAngle,e_tsxXxxxFrame frameid )

PURPOSE Rotate by fAngle radians about pAxis passing thru pCenter, in the specified reference frame.
PARAMETERS
pGNode gnode*: a pointer to a GNode
pCenter Vec3f_p: Center of rotation.
pAxis Vec3f_p: Rotation axis passing thru pCenter.
fAngle f: Radians. Rotation angle.
frameid e_tsxXxxxFrame:

RETURNS void
MethodGNodeScalevoid GNodeScale( gnode* pGNode,Vec3f_p pScaleFacs,e_tsxXxxxFrame frameid )

PURPOSE Scale by factors along each axis, in the specified reference frame. Scale factors must be non-zero.
PARAMETERS
pGNode gnode*: a pointer to a GNode
pScaleFacs Vec3f_p: x, y, z scale factors (non-zero)
frameid e_tsxXxxxFrame: Reference frame for the scaling axes

RETURNS void
MethodGNodeScaleUniformvoid GNodeScaleUniform( gnode* pGNode,f fScaleFac, e_tsxXxxxFrame frameid ).

PURPOSE Scale by factor UNIFORMLY along each axis, in the specified reference frame. Scale factor must be non-zero.
PARAMETERS
pGNode gnode*: a pointer to a GNode
fScaleFac f: uniform scaling factor
frameid e_tsxXxxxFrame: Reference frame for the scaling axes

RETURNS void
MethodGNodeSetDrawingModevoid GNodeSetDrawingMode( gnode* pGNode, i mode )

PURPOSE Set the drawing mode for the object
PARAMETERS
GNode gnode*: object
mode i: drawing mode represented as bitflags ( see drawing mode constants above )

RETURNS void
MethodGNodeSetLocationvoid GNodeSetLocation( gnode* pGNode, Vec3f_p loc ).

PURPOSE Sets the location of the given GNode.
PARAMETERS
pGNode gnode*: a pointer to a GNODE
loc Vec3f_p: a pointer to a location vector

RETURNS void
MethodGNodeSetRotationvoid GNodeSetRotation( gnode* pGNode, Vec3f_p rot ).

PURPOSE // Set the euler angles of GNode's orientation.
PARAMETERS
pGNode gnode*: a pointer to a GNODE
rot Vec3f_p *: a pointer to an orientation vector

RETURNS void
MethodGNodeSetSizevoid GNodeSetSize( gnode* pGNode, Vec3f_p size ).

PURPOSE // Set the size of GNode.
PARAMETERS
pGNode gnode*: a pointer to a GNODE
size Vec3f_p: a pointer to a size vector

RETURNS void
MethodGNodeSetUnitsvoid GNodeSetUnits( gnode* pGNode, e_tsxUNITS_xxxx units )

PURPOSE Sets the units type of a given GNode.
PARAMETERS
pGNode gnode*: a pointer to a GNODE
unita e_tsxUNITS_xxxx: units type (see units types constants)

RETURNS void
MethodGNodeTranslatevoid GNodeTranslate( gnode* pGNode,Vec3f_p pVec,e_tsxXxxxFrame frameid )

PURPOSE Translate GNode by pVec, in the specified reference frame.
PARAMETERS
pGNode gnode*: a pointer to a GNode
pVec Vec3f_p: translation vector
frameid e_tsxXxxxFrame: Reference frame for pVec

RETURNS void
MethodHideWidgetvoid HideWidget( bool hide )

PURPOSE Hide or show the selection widget.
PARAMETERS
hide bool: TRUE to hide selection widget, FALSE to show it

RETURNS None
MethodHoleDeletevoid HoleDelete( Hole_p pHole )

PURPOSE Delete the hole and all related structures
PARAMETERS
pHole Ptr to the hole

RETURNS void
MethodInitRenderDatavoid InitRenderData( RenderData *r_data );

(no description)
MethodLatheSetAnglevoid LatheSetAngle( i angle )

PURPOSE Set a new value of lathing angle.
PARAMETERS
angle i: a new value of lathing angle

RETURNS void
MethodLatheSetHelixvoid LatheSetHelix( f helix )

PURPOSE Set a new value of lathing helix.
PARAMETERS
helix f: a new value of lathing helix

RETURNS void
MethodLatheSetRadiusvoid LatheSetRadius( f radius )

PURPOSE Set a new value of lathing radius.
PARAMETERS
radius f: a new value of lathing radius

RETURNS void
MethodLatheSetRotationvoid LatheSetRotation( i rotation )

PURPOSE Set a new value of lathing orientation.
PARAMETERS
rotation i: a new value of lathing orientation

RETURNS void
MethodLatheSetSegmentsvoid LatheSetSegments( i iNbrSeg )

PURPOSE Set a number of segments for Lathe.
PARAMETERS
iNbrSeg i: a number of segments

RETURNS void
MethodLightAreaSetShowGeometryvoid LightAreaSetShowGeometry( light* pLight, bool value );

(no description)
MethodLightAreaSetUseColorShadervoid LightAreaSetUseColorShader( light* pLight, bool value )

PURPOSE Use color shader for area light?
PARAMETERS
pLight light*: a pointer to the light
value bool: e_tsxTRUE to use color shader, e_tsxFALSE otherwise

RETURNS none
MethodLightGetColorvoid LightGetColor( light* pLight,Color_p pColor )

PURPOSE Get Light color (copied into pColor).
PARAMETERS
pLight light*: a pointer to the light
pColor Color_p: a pointer to a color structure, updated upon return

RETURNS void
MethodLightGetGoniometricDataFilenamevoid LightGetGoniometricDataFilename( light* pLight, char* szFilename, i iFilenameSize )

PURPOSE Get the filename of the goniometric data for a goniometric light
PARAMETERS
pLight light*: a pointer to the light
szFilename char*: a pointer to the string containing the filename of the goniometric data
iFilenameSize i: the length of the string

RETURNS void
MethodLightGetProjectorFilenamevoid LightGetProjectorFilename( light* pLight, char* szFilename, i iFilenameSize )

PURPOSE Get the filename of the image projected by the light
PARAMETERS
pLight light*: a pointer to the light
szFilename char*: file name copied here, if any
iFilenameSize i: size of szFilename buffer

RETURNS None
MethodLightSetColorvoid LightSetColor( light* pLight,Color_p pColor )

PURPOSE Set Light color (copied from pColor).
PARAMETERS
pLight light*: a pointer to the light
pColor Color_p: a pointer to a color structure to be used for the light

RETURNS void
MethodLightSetColorTemperaturevoid LightSetColorTemperature( light* pLight, f colorTemperature );

(no description)
MethodLightSetFalloffCoeffvoid LightSetFalloffCoeff( light* pLight,f value )

PURPOSE Set the light intensity falloff coefficient.
PARAMETERS
pLight light*: a pointer to the light
value f: light intensity falloff coefficient to set

RETURNS void
MethodLightSetGoniometricDataFilenamevoid LightSetGoniometricDataFilename( light* pLight, char* szFilename )

PURPOSE Set the filename of the goniometric data for a goniometric light
PARAMETERS
pLight light*: a pointer to the light
szFilename char*: a pointer to the string containing the filename of the goniometric data

RETURNS void
MethodLightSetIBLLightCutoffvoid LightSetIBLLightCutoff( light* pLight, f newLightCutoff )

PURPOSE Sets the light cutoff value (minimum texture average to spawn a light), 0.-1.
PARAMETERS
pLight light*: a pointer to the light
newLightCutoff f: a new light cutoff value (range 0.f - 1.f)

RETURNS void
MethodLightSetIBLLightsBelowGroundvoid LightSetIBLLightsBelowGround( light* pLight, bool newValue )

PURPOSE Sets whether or not lights are created below the ground plane.
PARAMETERS
pLight light*: a pointer to the light

RETURNS void
MethodLightSetIBLNbrSamplesvoid LightSetIBLNbrSamples( light* pLight, i newSamples )

PURPOSE Sets the number of samples used for texture lookups, from 1 to 100
PARAMETERS
pLight light*: a pointer to the light
newSamples i: a new number of samples

RETURNS void
MethodLightSetIBLSampleFuzzinessvoid LightSetIBLSampleFuzziness( light* pLight, f newFuzziness )

PURPOSE Sets the amount of jitter used for texture lookups, from 0 to 1.0f
PARAMETERS
pLight light*: a pointer to the light
newFuzziness f: a new sample fuziness

RETURNS void
MethodLightSetIBLShadowCutoffvoid LightSetIBLShadowCutoff( light* pLight, f newShadowCutoff )

PURPOSE Sets the shadow cutoff value (minimum texture average to turn shadow-casting on for each light ), 0.-1.
PARAMETERS
pLight light*: a pointer to the light
newShadowCutoff f: a new shadow cutoff value (range 0.f - 1.f)

RETURNS void
MethodLightSetIBLShowEnvironmentvoid LightSetIBLShowEnvironment( light* pLight, bool newValue )

PURPOSE Sets whether or not the environment sphere is rendered
PARAMETERS
pLight light*: a pointer to the light
newValue bool: e_tsxTRUE if the environment sphere is to be rendered, e_tsxFALSE otherwise

RETURNS void
MethodLightSetIBLSphereResolutionvoid LightSetIBLSphereResolution( light* pLight, i newResolution )

PURPOSE Sets the resolution of the sphere representing an IBL light (range 1-10 )
PARAMETERS
pLight light*: a pointer to the light
newResolution i: a new resolution for IBL light sphere (range 1-10)

RETURNS void
MethodLightSetIBLURepsvoid LightSetIBLUReps( light* pLight, f newReps )

PURPOSE Sets the number of u repeats for IBL light.
PARAMETERS
pLight light*: a pointer to the light
newReps f: number of u repeats

RETURNS void
MethodLightSetIBLVRepsvoid LightSetIBLVReps( light* pLight, f newReps )

PURPOSE Sets the number of u repeats for IBL light.
PARAMETERS
pLight light*: a pointer to the light
newReps f: number of v repeats

RETURNS void
MethodLightSetIntensityUnitsvoid LightSetIntensityUnits( light* pLight, e_tsxIU_xxxx units );

(no description)
MethodLightSetLensFlaresvoid LightSetLensFlares( light* pLight, bool value )

PURPOSE Set light as generating lens-flares
PARAMETERS
pLight light*: a pointer to the light
value e_tsxTRUE/ e_tsxFALSE to set/unset the light to generate lens-flares

RETURNS void
MethodLightSetPhysicallyBasedvoid LightSetPhysicallyBased( light* pLight, bool value )

PURPOSE To set a particular light to use physically based intensity units.
PARAMETERS
pLight light*: a pointer to the light
value bool: e_tsx_TRUE to set as physically based light, e_tsxFALSE otherwise

RETURNS void
MethodLightSetProjectorFilenamevoid LightSetProjectorFilename( light* pLight, char* szFilename );

(no description)
MethodLightSetShmapQualityvoid LightSetShmapQuality( light* pLight, e_tsxSMQ_xxxx quality );

(no description)
MethodLightSetSkyTypevoid LightSetSkyType( light* pLight, e_tsxSKY_xxxx type );

(no description)
MethodLightSetSubdivisionvoid LightSetSubdivision( light* pLight, f min, f max )

PURPOSE Set the subdivision quality parameters of the light ( are, object, sky)
PARAMETERS
pLight light*: a pointer to the light
min f: min. subdivision
max f: max. subdivision

RETURNS none
MethodLightSetTypevoid LightSetType( light* pLight, e_tsxLT_xxxx type );

(no description)
MethodLightSetVolumetricvoid LightSetVolumetric( light* pLight, bool value )

PURPOSE Set light as volumetric
PARAMETERS
pLight light*: a pointer to the light
value e_tsxTRUE/ e_tsxFALSE to set/unset the light as volumentric

RETURNS void
MethodLoadPluginSettingsvoid LoadPluginSettings( const char *chunkName, char **data, i *size )

PURPOSE Load a chunk of configuration data from tS configuration file ( truespace.cfg).
PARAMETERS
chunkName const char*: name of the data chunk - used for identification
data const char**: data to load
size i: size of the data to load

RETURNS None
MethodMaterialCopyActivevoid MaterialCopyActive( mate* pMatrl )

PURPOSE Copy Active Material's (if any) attributes into pMatrl.
PARAMETERS
pMatrl mate*:

RETURNS void
MethodMaterialCreateShaderBoxvoid MaterialCreateShaderBox( mate* mat )

PURPOSE Crete shader information contained in the material
PARAMETERS
mat mate*: a pointer to the material

RETURNS void
MethodMaterialCreateShadersFromPropsvoid MaterialCreateShadersFromProps( mate* mat );

(no description)
MethodMaterialDestroyvoid MaterialDestroy( mate* pMatrl )

PURPOSE Destroy a material object. If assigned to faces, the corresponding material entries in matlist are set to null.
PARAMETERS
pMatrl mate*: a pointer to the material to destroy

RETURNS void
MethodMaterialFixColorvoid MaterialFixColor( mate* mat )

PURPOSE Set up material color by used color shader. If shader uses more than one color then one of them is used. Should be called after setting the material shaders to update the information for real time renderers.
PARAMETERS
mat mate*: a pointer to the material

RETURNS void
MethodMaterialFixReflectancevoid MaterialFixReflectance( mate* mat )

PURPOSE Set up material reflectance parameters by used reflectance shader. Should be called after setting the material shaders to update the information for real time renderers.
PARAMETERS
mat mate*: a pointer to the material

RETURNS void
MethodMaterialFixTexturevoid MaterialFixTexture( mate* mat );

(no description)
MethodMaterialFixTransparencyvoid MaterialFixTransparency( mate* mat );

(no description)
MethodMaterialGetBumpFilenamevoid MaterialGetBumpFilename( mate* pMatrl,char* szFilename,i iFilenameSize )

PURPOSE Get the name of the file file used as bump map image.
PARAMETERS
pMatrl mate*: a pointer to the material
szFilename char*: File name copied here, if any
iFilenameSize i: size of szFilename buffer

RETURNS void
MethodMaterialGetBumpPropsvoid MaterialGetBumpProps( mate* pMatrl,BumpProps_p pBumpProps )

PURPOSE Get the bump mapping parameters
PARAMETERS
pMatrl mate*: a pointer to the material
pBumpProps BumpProps_p: a pointer to a bump map properties data structure, filled upon return

RETURNS void
MethodMaterialGetColorvoid MaterialGetColor( mate* pMatrl,Color_p pColor )

PURPOSE Color
PARAMETERS
pMatrl mate*:
pColor Color_p:

RETURNS void
MethodMaterialGetEnvrFilenamevoid MaterialGetEnvrFilename( mate* pMatrl, char* szFilename, i iFilenameSize );

(no description)
MethodMaterialGetProcTexturevoid MaterialGetProcTexture( mate* pMatrl,ProTexXxxx* pPrTxt )

PURPOSE Fill the pointer to a procedural texture with the current data. If the texture is not procedural, the type is set to tsxTEXTURE_NONE.
PARAMETERS
pMatrl mate*: a pointer to the material
pPrTxt ProTexXxxx*: a pointer to a procedural texture structure

RETURNS void
MethodMaterialGetReflectionPropsvoid MaterialGetReflectionProps( mate* pMatrl, f& ambient, f& specular, f& diffuse, f& exponent )

PURPOSE Gets reflection (surface ) properties
PARAMETERS
pMatrl mate*: a pointer to the material
ambient f&: ambient coefficient
specular f&: specular coefficient
diffuse f&: diffuse coefficient
exponent f&: specular exponent

RETURNS void
MethodMaterialGetSurfacePropsvoid MaterialGetSurfaceProps( mate* pMatrl, SurPro_p pSprops )

PURPOSE Get Surface properties
PARAMETERS
pMatrl mate*: a pointer to a material
pSprops SurPro_p: a pointer to a SurPro_p structure, updated upon return

RETURNS void
MethodMaterialGetTextureFilenamevoid MaterialGetTextureFilename( mate* pMatrl, char* szFilename, i iFilenameSize )

PURPOSE Return the file used as a texture map image.
PARAMETERS
pMatrl mate*: a pointer to the material
szFilename char*: file name copied here, if any
iFilenameSize i: size of szFilename buffer

RETURNS void
MethodMaterialGetTexturePropsvoid MaterialGetTextureProps( mate* pMatrl,TextureProps_p pTxtrProps )

PURPOSE Get texture mapping parameters
PARAMETERS
pMatrl mate*: a pointer to the mterial
pTxtrProps TextureProps_p: a pointer to a texture properties structure, filled upon return

RETURNS void
MethodMaterialSetActivevoid MaterialSetActive( mate* pNewActive )

PURPOSE Set the active material to pNewActive (may be NULL).
PARAMETERS
pNewActive mate*: a pointer to a material to be activated

RETURNS void
MethodMaterialSetAutofacetAnglevoid MaterialSetAutofacetAngle( mate* pMatrl,i angleDegrees )

PURPOSE Set the autofacet angle in degrees [0, 120]
PARAMETERS
pMatrl mate*: a pointer to the material
angleDegrees i: autofacet angle in degrees [0, 120]

RETURNS void
MethodMaterialSetBumpFilenamevoid MaterialSetBumpFilename( mate* pMatrl,char* szFilename )

PURPOSE Set the file used as bump map image.
PARAMETERS
pMatrl mate*: a pointer to the material
szFilename char*:File name

RETURNS void
MethodMaterialSetBumpPropsvoid MaterialSetBumpProps( mate* pMatrl,BumpProps_p pBumpProps )

PURPOSE Set the bump mapping parameters
PARAMETERS
pMatrl mate*: a pointer to the material
pBumpProps BumpProps_p: a pointer to a bump map properties structures, initialized to the desired values

RETURNS void
MethodMaterialSetColorvoid MaterialSetColor( mate* pMatrl,Color_p pColor )

PURPOSE Set the material's color
PARAMETERS
pMatrl mate*: a pointer to the material
pColor Color_p: a color data structure, initialized to the desired values

RETURNS void
MethodMaterialSetEnvrFilenamevoid MaterialSetEnvrFilename( mate* pMatrl,char* szFilename )

PURPOSE Set the file used as environment map image.
PARAMETERS
pMatrl mate*: a pointer to the material
szFilename char*:File name

RETURNS void
MethodMaterialSetEnvrFlagsvoid MaterialSetEnvrFlags( mate* pMatrl,i flags )

PURPOSE Set the Environment map flags (tsxENVR_*)
PARAMETERS
pMatrl mate*: a pointer to the material
flags i: flags to be set (tsxENVR_*)

RETURNS void
MethodMaterialSetFacetingTypevoid MaterialSetFacetingType( mate* pMatrl,i faceting )

PURPOSE Set surface faceting type (tsxFACET_*)
PARAMETERS
pMatrl mate*: a pointer to the material
faceting i: a faceting type, tsxFACET_*

RETURNS void
MethodMaterialSetIorvoid MaterialSetIor( mate* pMatrl,f ior )

PURPOSE Set the index of refraction [1.0, 2.0]
PARAMETERS
pMatrl mate*: a pointer to the material
ior f: the desired index of refraction, [1.0, 2.0]

RETURNS void
MethodMaterialSetProcTexturevoid MaterialSetProcTexture( mate* pMatrl, ProTexXxxx* pPrTxt )

PURPOSE Set the parameters of a procedural texture for the material. If the material's texture is not procedural, the type of pPrTxt is set to tsxTEXTURE_NONE.
PARAMETERS
pMatrl mate*: a pointer to the material
pPrTxt ProTexXxxx*: a procedural texture structure, initialized to the desired values

RETURNS void
MethodMaterialSetReflectionPropsvoid MaterialSetReflectionProps( mate* pMatrl, f ambient, f specular, f diffuse, f exponent )

PURPOSE Sets reflection (surface ) properties
PARAMETERS
pMatrl mate*: a pointer to the material
ambient f: ambient coefficient
specular f: specular coefficient
diffuse f: diffuse coefficient
exponent f: specular exponent

RETURNS void
MethodMaterialSetShaderInfovoid MaterialSetShaderInfo( mate* mat, shinfo* shinfo )

PURPOSE Set material shader information
PARAMETERS
mat mate*: a pointer to the material
shinfo shader info to set

RETURNS void
MethodMaterialSetShadingTypevoid MaterialSetShadingType( mate* pMatrl,i shading )

PURPOSE Set the reflection shading (tsxSHADER_*)
PARAMETERS
pMatrl mate*: a pointer to the material
shading i: a shading type, tsxSHADER_*

RETURNS void
MethodMaterialSetSurfacePropsvoid MaterialSetSurfaceProps( mate* pMatrl, SurPro_p pSprops )

PURPOSE Set the surface properties
PARAMETERS
pMatrl mate*: a pointer to the material
pSprops SurPro_p: a surface properties data structure, initialized to the desired values

RETURNS void
MethodMaterialSetTextureFilenamevoid MaterialSetTextureFilename( mate* pMatrl,char* szFilename )

PURPOSE Set the file used as texture map image.
PARAMETERS
pMatrl mate*: a pointer to the material
szFilename char*: File name

RETURNS void
MethodMaterialSetTexturePropsvoid MaterialSetTextureProps( mate* pMatrl, TextureProps_p pTxtrProps )

PURPOSE Set the texture mapping parameters
PARAMETERS
pMatrl mate*: a pointer to the material
pTxtrProps TextureProps_p: a texture properties structure, initialized to the desired values

RETURNS void
MethodMaterialSetTextureTypevoid MaterialSetTextureType( mate* pMatrl,i txtype )

PURPOSE Set the texture type (tsxTEXTURE_*)
PARAMETERS
pMatrl mate*: a pointer to the material
txtype i: the desired texture type (tsxTEXTURE_*)

RETURNS void
MethodMatRectGetPropsvoid MatRectGetProps( matrect* pMatRect, MatRectProps_p pMatRectProps )

PURPOSE Get the properties (UV extents) of the material rectangle
PARAMETERS
pMatRect matrect*: a pointer to the Material rectangle
pMatRectProps MatRectProps_p: a pointer to the Material rectangle properties structire to be filled in

RETURNS None
MethodMNodeSetAxesOrientationvoid MNodeSetAxesOrientation( mnode* pMNode,Axes3f_p axes )

PURPOSE Set the orientation of MNode's axes. 'axes' must point to valid (orthogonal, unit) axes. Does not update views.
PARAMETERS
pMNode mnode*: a pointer to the MNode
axes Axes3f_p: the desired axes orientation

RETURNS void
MethodMNodeSetAxesPositionvoid MNodeSetAxesPosition( mnode* pMNode, Vec3f_p posn )

PURPOSE Set the position of MNode's axes. Does not update views.
PARAMETERS
pMNode mnode*: a pointer to the MNode
posn Vec3f_p:

RETURNS void
MethodMNodeSetCastShadowsvoid MNodeSetCastShadows( mnode* pMNode, bool cast )

PURPOSE Set cast shadows flag for MNode
PARAMETERS
pMNode mnode*: a pointer to the Mnode
cast bool: e_tsxTRUE if object casts shadows, e_tsxFALSE otherwise

RETURNS void
MethodMNodeSetInvisiblevoid MNodeSetInvisible( mnode* pMNode )

PURPOSE Makes pMNode Invisible. Becomes effective on the next Draw operation.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS void
MethodMNodeSetRadiosityExcludedvoid MNodeSetRadiosityExcluded( mnode* pMNode, bool excluded )

PURPOSE Set radiosty excluded flag for Mnode - object will be ignored during radiosity processing
PARAMETERS
pMNode mnode*: a pointer to the Mnode
excluded bool: e_tsxTRUE if object is excluded from radiosity, e_tsxFALSE otherwise

RETURNS void
MethodMNodeSetRadiosityMaxAreavoid MNodeSetRadiosityMaxArea( mnode* pMNode, f maxarea )

PURPOSE Set the max area radiosity parameter of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the Mnode
maxarea f: the max area radiosity parameter

RETURNS void
MethodMNodeSetRadiosityMeshAccuracyvoid MNodeSetRadiosityMeshAccuracy( mnode* pMNode, i accuracy )

PURPOSE Set the mesh accuracy radiosity parameter of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the Mnode
accuracy i: the mesh accuracy radiosity parameter

RETURNS void
MethodMNodeSetRadiosityMinAreavoid MNodeSetRadiosityMinArea( mnode* pMNode, f minarea )

PURPOSE Set the min area radiosity parameter of the MNode.
PARAMETERS
pMNode mnode*: a pointer to the Mnode
minarea f: the min area radiosity parameter

RETURNS void
MethodMNodeSetRadiosityQualityvoid MNodeSetRadiosityQuality( mnode* pMNode, i quality )

PURPOSE Set radiosty quality for Mnode
PARAMETERS
pMNode mnode*: a pointer to the Mnode
quality i: value from range 0-9 specifying the quality ( see trueSpace manual for details on quality values)

RETURNS void
MethodMNodeSetReceiveShadowsvoid MNodeSetReceiveShadows( mnode* pMNode, bool receive )

PURPOSE Set receive shadows flag for MNode
PARAMETERS
pMNode mnode*: a pointer to the Mnode
receive bool: e_tsxTRUE if object receives shadows, e_tsxFALSE otherwise

RETURNS void
MethodMNodeSetVisiblevoid MNodeSetVisible( mnode* pMNode )

PURPOSE Makes pMNode Visible. Becomes effective on the next Draw operation.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS void
MethodMtoolRemovevoid MtoolRemove( i tsxid )

PURPOSE Removes the mouse-tool installed by this extension, if any. Extension must be active.
PARAMETERS
tsxid i: extension-id

RETURNS void
MethodNCurveBuildVisRepvoid NCurveBuildVisRep( ncurve *nc )

PURPOSE Build visual representation of the curve. If the curve is in edit mode (see tsxNCurveSetEditMode), its control points and handles will be highlighted.
PARAMETERS
nc ncurve*: pointer to the curve

RETURNS void
MethodNCurveSetClosedvoid NCurveSetClosed( ncurve *nc, bool closed )

PURPOSE Set 'closed' flag of the curve.
PARAMETERS
nc ncurve*: pointer to the curve
closed bool: 'closed' flag

RETURNS void
MethodNCurveSetCntlPtsvoid NCurveSetCntlPts( ncurve *nc, Vec3f_p *cntl_pts )

PURPOSE Assign new array of control points to the curve. Corresponding field in the curve object is set to passed pointer (data are not copyed). If the curve already has control points, they are freed. To allocate memory for control points, use TSXAPI memory routines.
PARAMETERS
nc ncurve*: pointer to the curve
cntl_pts Vec3f_p: pointer to array of control points

RETURNS void
MethodNCurveSetEditModevoid NCurveSetEditMode( ncurve *nc, bool edit_mode )

PURPOSE Set 'edit mode' flag of the curve. After setting the flag, tsxNCurveBuildVisRep must be called.
PARAMETERS
nc ncurve*: pointer to the curve
edit_mode bool: 'edit mode' flag

RETURNS void
MethodNCurveSetKnotsvoid NCurveSetKnots( ncurve *nc, f *knots )

PURPOSE Assign new array of knots to the curve. Corresponding field in the curve object is set to passed pointer (data are not copied). If the curve already has knots, they are freed. To allocate memory for knots, use TSXAPI memory routines.
PARAMETERS
nc ncurve*: pointer to the curve
knots f*: pointer to array of knots

RETURNS void
MethodNCurveSetNumCntlPtsvoid NCurveSetNumCntlPts( ncurve *nc, i n )

PURPOSE Set number of control points of the curve.
PARAMETERS
nc ncurve*: a pointer to the curve
n i: number of control points

RETURNS void
MethodNCurveSetOrdervoid NCurveSetOrder( ncurve *nc, i order )

PURPOSE Set order of the curve.
PARAMETERS
nc ncurve*: pointer to the curve
order i: order of the curve

RETURNS void
MethodNCurveSetRationalvoid NCurveSetRational( ncurve *nc, bool rational )

PURPOSE Set 'rational' flag of the curve.
PARAMETERS
nc ncurve*: pointer to the curve
rational bool: 'rational' flag

RETURNS void
MethodNCurveSetSnappedEndvoid NCurveSetSnappedEnd( ncurve *nc, bool snapped );

(no description)
MethodNCurveSetSnappedStartvoid NCurveSetSnappedStart( ncurve *nc, bool snapped );

(no description)
MethodNCurveSetTemporaryvoid NCurveSetTemporary( ncurve *nc, bool temporary )

PURPOSE Set 'temporary' flag of the curve.
PARAMETERS
nc ncurve*: pointer to the curve
temporary bool: 'temporary' flag

RETURNS void
MethodNCurveSetTrimvoid NCurveSetTrim( ncurve *nc, bool trim );

(no description)
MethodNCurveSetUVTrimvoid NCurveSetUVTrim( ncurve *nc, bool uvtrim )

PURPOSE Set 'UV trim' flag of the curve.
PARAMETERS
nc ncurve*: pointer to the curve
uvtrim bool: 'UV trim' flag

RETURNS void
MethodNCurveSetWeightsvoid NCurveSetWeights( ncurve *nc, f *weights )

PURPOSE Assign new array of weights of control points to rational curve. Corresponding field in the curve object is set to passed pointer (data are not copied). If the curve already has weights, they are freed. To allocate memory for weights, use TSXAPI memory routines.
PARAMETERS
nc ncurve*: pointer to the curve
weights f*: pointer to array of weights

RETURNS void
MethodNotebookUpdateByCurrentObjectvoid NotebookUpdateByCurrentObject( void )

PURPOSE Update notebook by current selected Node.
PARAMETERS

RETURNS
MethodNPatchSetCntlPtsvoid NPatchSetCntlPts( npatch *np, Vec3f_p *cntl_pts )

PURPOSE Assign new array of control points to the patch. Corresponding field in the patch object is set to passed pointer (data are not copied). If the patch already has control points, they are freed. To allocate memory for control points, use TSXAPI memory routines.
PARAMETERS
np npatch*: pointer to the patch
cntl_pts Vec3f_p: pointer to array of control points

RETURNS void
MethodNPatchSetNumUCntlPtsvoid NPatchSetNumUCntlPts( npatch *np, i nu )

PURPOSE Set number of control points of the patch in U direction.
PARAMETERS
np npatch*: a pointer to the patch
nu i: number of control points

RETURNS void
MethodNPatchSetNumVCntlPtsvoid NPatchSetNumVCntlPts( npatch *np, i nv );

(no description)
MethodNPatchSetRationalvoid NPatchSetRational( npatch *np, bool rational )

PURPOSE Set 'rational' flag of the patch
PARAMETERS
np npatch*: pointer to the patch
rational bool: 'rational' flag

RETURNS void
MethodNPatchSetUClosedvoid NPatchSetUClosed( npatch *np, bool u_closed )

PURPOSE Set 'U closed' flag of the patch.
PARAMETERS
np npatch*: pointer to the patch
u_closed bool: 'U closed' flag

RETURNS void
MethodNPatchSetUKnotsvoid NPatchSetUKnots( npatch *np, f *u_knots )

PURPOSE Assign new array of knots in U direction to the patch. Corresponding field in the curve object is set to passed pointer (data are not copied). If the patch already has U knots, they are freed. To allocate memory for knots, use TSXAPI memory routines.
PARAMETERS
np npatch*: pointer to the patch
u_knots f*: pointer to array of knots

RETURNS void
MethodNPatchSetUOrdervoid NPatchSetUOrder( npatch *np, i u_order )

PURPOSE Set order of the patch in U direction.
PARAMETERS
np npatch*: pointer to the patch
u_order i: order

RETURNS void
MethodNPatchSetVClosedvoid NPatchSetVClosed( npatch *np, bool v_closed );

(no description)
MethodNPatchSetVKnotsvoid NPatchSetVKnots( npatch *np, f *v_knots );

(no description)
MethodNPatchSetVOrdervoid NPatchSetVOrder( npatch *np, i v_order );

(no description)
MethodNPatchSetWeightsvoid NPatchSetWeights( npatch *np, f *weights )

PURPOSE Assign new array of weights of control points to rational patch. Corresponding field in the patch object is set to passed pointer (data are not copied). If the patch already has weights, they are freed. To allocate memory for weights, use TSXAPI memory routines.
PARAMETERS
np npatch*: pointer to the patch
weights f*: pointer to array of weights

RETURNS void
MethodNURBDestroyvoid NURBDestroy( mnode* pMNode, bool ask, bool what )

PURPOSE Extract NURB surface or control mesh from NURB structure to MNode.
PARAMETERS
pMNode mnode*: a pointer to the NURB object
bool ask: if e_tsxTRUE then the user is prompted what will be extracted
otherwise third parameter says what will be extracted
bool what: if e_tsxTRUE then NURB surface is extracted
otherwise control mesh is extracted

RETURNS void
MethodNURBMakevoid NURBMake( mnode* pMNode )

PURPOSE Convert MNode to NURB structure.
PARAMETERS
pMNode mnode*: a pointer to the MNode

RETURNS void
MethodObjectNoteUpdateByNotebookvoid ObjectNoteUpdateByNotebook( gnode* pObject )

PURPOSE Updates assigned Node's note by data in notebook.
PARAMETERS

RETURNS
MethodObjectSetNotevoid ObjectSetNote( gnode* pObject, char *note )

PURPOSE Set new Note to given Node.
PARAMETERS
pObject gnode*: Tested node
note char*: Pointer to the new Note

RETURNS
MethodParameterValueSetDatavoid ParameterValueSetData( shparamval* value, void* src )

PURPOSE Set parameter value data. src is supposed to be castable to the data type retured by tsxParameterValueGetType
PARAMETERS
value input abstract value
src void pointer storing input data. It is supposed to be castable to desired basic type

RETURNS void
MethodPhysSimAddDefaultPropertiesvoid PhysSimAddDefaultProperties( sobj *pObj )

PURPOSE Assign default physical properties to the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS void
MethodPhysSimClearEnviroPropertiesvoid PhysSimClearEnviroProperties( sobj *pObj )

PURPOSE Delete local environment attributes from gived object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS void
MethodPhysSimClearPropertiesvoid PhysSimClearProperties( sobj *pObj )

PURPOSE Remove all physical properties from the object.
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS void
MethodPhysSimGetAccelRotationVectorvoid PhysSimGetAccelRotationVector( sobj *pObj, Vec3f_p *orig, Vec3f_p *dir )

PURPOSE Get rotation acceleration vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
orig Vec3f_p: Origin
dir Vec3f_p: Direction

RETURNS void
MethodPhysSimGetInitialRotationVectorvoid PhysSimGetInitialRotationVector( sobj *pObj, Vec3f_p *orig, Vec3f_p *dir )

PURPOSE Get initial rotation vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
orig Vec3f_p: Origin
dir Vec3f_p: Direction

RETURNS void
MethodPhysSimSetAccelMotionVectorvoid PhysSimSetAccelMotionVector( sobj *pObj, Vec3f_p vec )

PURPOSE Set motion acceleration vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
vec Vec3f_p: Motion acceleration vector

RETURNS void
MethodPhysSimSetAccelRotationVectorvoid PhysSimSetAccelRotationVector( sobj *pObj, Vec3f_p orig, Vec3f_p dir )

PURPOSE Set rotation acceleration vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
orig Vec3f_p: Origin
dir Vec3f_p: Direction

RETURNS void
MethodPhysSimSetAccVectsRotvoid PhysSimSetAccVectsRot( sobj *pObj, bool value )

PURPOSE Sets for specified phys sim object to rotate its acceleration vectors.
PARAMETERS
pObj sobj*: Pointer to the object
value bool: e_tsxTRUE = rotate, e_tsx_FALSE = do not rotate

RETURNS void
MethodPhysSimSetAdhesionvoid PhysSimSetAdhesion( sobj *pObj, f value )

PURPOSE Set adhesion strength of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value f: Adhesion strength.

RETURNS void
MethodPhysSimSetAdhesionUnLimvoid PhysSimSetAdhesionUnLim( sobj *pObj, bool value )

PURPOSE Set adhesion state of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value bool: e_tsxTRUE = no limits, e_tsxFALSE = only first collision

RETURNS void
MethodPhysSimSetBuoyancyvoid PhysSimSetBuoyancy( sobj *pObj, bool value )

PURPOSE Set the object flag telling whether the buoyancy is simulated or not.
PARAMETERS
pObj sobj*: Pointer to the object
value bool: 'buoyancy' flag

RETURNS void
MethodPhysSimSetCenterOfGravityvoid PhysSimSetCenterOfGravity( sobj *pObj, Vec3f_p cog )

PURPOSE Set center of gravity of the object.
PARAMETERS
pObj sobj*: Pointer to the object
cog Vec3f_p: Center of gravity

RETURNS void
MethodPhysSimSetChargevoid PhysSimSetCharge( sobj *pObj, f value )

PURPOSE Set charge of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value f: Charge.

RETURNS void
MethodPhysSimSetChargeStatevoid PhysSimSetChargeState( sobj *pObj, bool value )

PURPOSE Set charge state of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value bool: e_tsxTRUE = conductor, e_tsx_FALSE = insulator

RETURNS void
MethodPhysSimSetCoarsenessvoid PhysSimSetCoarseness( sobj *pObj, f value )

PURPOSE Set coarseness of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value f: Friction.

RETURNS void
MethodPhysSimSetCollidevoid PhysSimSetCollide( sobj *pObj, bool value )

PURPOSE Set the object flag telling whether the object bounces from the other objects during simulation or if it ignores them.
PARAMETERS
pObj sobj*: Pointer to the object
value bool: 'collide' flag

RETURNS void
MethodPhysSimSetElasticityvoid PhysSimSetElasticity( sobj *pObj, f value )

PURPOSE Set elasticity of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value f: Elasticity. Predefined elasticity values for some materials are in tsxPhysSim.h (PHYSSIM_ELASTIC_*).

RETURNS void
MethodPhysSimSetEnviroPropertiesvoid PhysSimSetEnviroProperties( sobj *pObj, const PhysEnvir *peProperties )

PURPOSE Set local physical environment properties for gived object (for more details please see tsxPhysSim.h).
PARAMETERS
pObj sobj*: Pointer to the object
peProperties const PhysEnvir *: local environment parameters

RETURNS void
MethodPhysSimSetFrictionvoid PhysSimSetFriction( sobj *pObj, f value )

PURPOSE Set friction of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value f: Friction. Predefined friction values for some materials are in tsxPhysSim.h (PHYSSIM_FRICTION_*).

RETURNS void
MethodPhysSimSetFxMovevoid PhysSimSetFxMove( sobj *pObj, bool value )

PURPOSE Sets for specified phys sim object to move its fixation points with object.
PARAMETERS
pObj sobj*: Pointer to the object
value bool: e_tsxTRUE = move, e_tsx_FALSE = do not move

RETURNS void
MethodPhysSimSetInitialMotionVectorvoid PhysSimSetInitialMotionVector( sobj *pObj, Vec3f_p vec )

PURPOSE Set initial motion vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
vec Vec3f_p: Initial motion vector

RETURNS void
MethodPhysSimSetInitialRotationVectorvoid PhysSimSetInitialRotationVector( sobj *pObj, Vec3f_p orig, Vec3f_p dir )

PURPOSE Set initial rotation vector of the object.
PARAMETERS
pObj sobj*: Pointer to the object
orig Vec3f_p: Origin
dir Vec3f_p: Direction

RETURNS void
MethodPhysSimSetInitSpeedsRotvoid PhysSimSetInitSpeedsRot( sobj *pObj, bool value )

PURPOSE Sets for specified phys sim object to rotate its initial speeds vectors (only while editing).
PARAMETERS
pObj sobj*: Pointer to the object
value bool: e_tsxTRUE = rotate, e_tsx_FALSE = do not rotate

RETURNS void
MethodPhysSimSetParticleAttributevoid PhysSimSetParticleAttribute( sobj *pObj, f weight, f elasticity, f resistance, f friction )

PURPOSE Sets the attributes of TrueParticle's objects with physics
PARAMETERS
pObj sobj*: Pointer to the object
weight f: weight of the object
elasticity f: elasticity of the object
resistance f: resistance of the object
friction f: friction of the object

RETURNS void
MethodPhysSimSetResistancevoid PhysSimSetResistance( sobj *pObj, f value )

PURPOSE Set environmental resistance of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value f: Resistance. Predefined resistance values for some materials are in tsxPhysSim.h (PHYSSIM_RESIST_*).

RETURNS void
MethodPhysSimSetTrueParticleFlagvoid PhysSimSetTrueParticleFlag( sobj *pObj )

PURPOSE Sets the special particles flag for TrueParticle's objects with physics
PARAMETERS
pObj sobj*: Pointer to the object

RETURNS void
MethodPhysSimSetWeightvoid PhysSimSetWeight( sobj *pObj, f value )

PURPOSE Set weight of the object.
PARAMETERS
pObj sobj*: Pointer to the object
value f: Weight.

RETURNS void
MethodPointsActivateEditvoid PointsActivateEdit( void )

PURPOSE Activate point edit mode.
PARAMETERS

RETURNS void
MethodPointsSetAnimvoid PointsSetAnim( BOOL anim );

(no description)
MethodPolyhClearvoid PolyhClear( polyh* pPolyh )

PURPOSE Clear a Polyhedron to 0 vertices & faces, freeing related structures.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS void
MethodPolyhGetFaceNormalvoid PolyhGetFaceNormal( polyh* pPolyh,Face_p pFace, Vec3f_p pNorm )

PURPOSE Use pFace->normVxs to compute face normal of pFace in pPolyh. Normal returned in pNorm, in the frame defined by the Vertex Transformation Matrix.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pFace Face_p: a pointer to the face
pNorm Vec3f_p: ptr to struct where result is copied.

RETURNS void
MethodPolyhGetFaceVertexAutoFacetNormalvoid PolyhGetFaceVertexAutoFacetNormal( polyh* pPolyh, Face_p pFace, long vIdx, f facet_cos, Vec3f_p pNorm )

PURPOSE Compute the normal of the face in a vertex based on the autofacet smoothing
PARAMETERS
pPolyh polyh*: a pointer to polyhedron
pFace Face_p: a pointer to face
vIdx long: index of the vertex in the face
facet_cos f: cosine of the autofacet angle
pNorm Vec3f_p: a pointer to structure where the result is copied.

RETURNS None
MethodPolyhMarkGeomChangevoid PolyhMarkGeomChange( polyh* pPolyh )

PURPOSE Tell tS that this Polyhedron's Geometry has changed.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS void
MethodPolyhMarkMaterialChangevoid PolyhMarkMaterialChange( polyh* pPolyh )

PURPOSE Tell tS that this Polyhedron's Material(s) have changed.
Use after modifying UV entries, for example.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS void
MethodPolyhMarkTopologyChangevoid PolyhMarkTopologyChange( polyh* pPolyh )

PURPOSE Tell tS that this Polyhedron's Topology has changed.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS void
MethodPolyhMarkVertexChangevoid PolyhMarkVertexChange( polyh* pPolyh )

PURPOSE Tell tS that this Polyhedron's Vertex has changed.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron

RETURNS void
MethodPolyhPaintvoid PolyhPaint( polyh* pPolyh,mate* pMatrl )

PURPOSE Give entire pPolyh the material pMatrl. Remove old materials. Note: A copy of pMatrl is created and assigned to the Polyhedron. Caller is responsible for managing pMatrl.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pMatrl mate*: a pointer to a material structure to be used to paint

RETURNS void
MethodPolyhSetFacesvoid PolyhSetFaces( polyh* pPolyh,i iNbrFaces, Face_p pFaces[] )

PURPOSE Assign a new Face-ptr array to the Polyhedron. The corresponding field in pPolyh is set to pFaces. Clears old Faces and array and frees memory, if any. Note: Use the TSXAPI memory routines (tsxMisc.h) to allocate the memory area (pFaces) for the Face Array -- DO NOT use `new' or `malloc/calloc'!
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrFaces i: Number of Faces (>= 0)
pFaces[] Face_p: Array of ptrs. May be 0.

RETURNS void
MethodPolyhSetUVArrayvoid PolyhSetUVArray( polyh* pPolyh,i iNbrUV, UV_p *pUV )

PURPOSE Assign a new UV array to the Polyhedron. The corresponding field in pPolyh is set to pUV. Clears old Faces and array and frees memory, if any. Note: Use the TSXAPI memory routines (tsxMisc.h) to allocate the memory area (pUV) for the UV Array -- DO NOT use `new' or `malloc/calloc'!
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrUV i: Number of UV entries (>= 0)
pUV UV_p *: ptr to UV-Array. May be 0.

RETURNS void
MethodPolyhSetVxsvoid PolyhSetVxs( polyh* pPolyh,i iNbrVxs, Vec3f_p pVxs[] )

PURPOSE Assign a new vertex array to the Polyhedron. The corresponding field in pPolyh is set to pVxs. Clears old Vx array and frees memory, if any. Note: Use the TSXAPI memory routines (tsxMisc.h) to allocate the memory area (pVxs) for the Vertex Array -- DO NOT use `new' or `malloc/calloc'!
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
iNbrVxs i: Number of Vxs (>= 0)
pVxs[] Vec3f_p: ptr to Array. May be 0.

RETURNS void
MethodPolyhSetVxTxmxvoid PolyhSetVxTxmx( polyh* pPolyh,Txmx3f_p pTxmx )

PURPOSE Copy a new Vertex Transformation Matrix into pPolyh.
PARAMETERS
pPolyh polyh*: a pointer to the polyhedron
pTxmx Txmx3f_p: ptr to new Txmx copied into Polyh.

RETURNS void
MethodRefresh3DWidgetsvoid Refresh3DWidgets( tsxWDGINTACS_xxxx wdgIntAcs, sobj *obj )

PURPOSE Function invokes an interface access event. If for example the wdgIntAcs = tsxWDGINTACS_SELECT and obj = current object, then `CreateWidget' function will be called for all widgets that had been registered with interface access tsxWDGINTACS_SELECT.
PARAMETERS
wdgIntAcs tsxWDGINTACS_xxxx: interface access
obj sobj*: object that should be used as widget's parent

RETURNS
MethodRegisterNotifyCallbackvoid RegisterNotifyCallback( sobj* pSobj, tsxObjectNotifyCallback pfn, bool bReg )

PURPOSE Register object notification callback.
PARAMETERS
pSobj sobj*: a pointer to the Sobj for which the callback is installed
pfn installed callback
bReg determines if callback is going to be installed ( e_tsxTRUE ) or unistalled (e_tsxFALSE)

RETURNS void
MethodRemoveMemBlockMarkvoid RemoveMemBlockMark( void );

(no description)
MethodRenderDisplayScanlinevoid RenderDisplayScanline( FloatColor_p *pixels, i minX, i maxX, i current,i totalLines );

(no description)
MethodRenderGetDatavoid RenderGetData( RenderData* data )

PURPOSE Get render data structure used for current rendering. It can be called from inside of the executive function of the custom shader or from the background/foreground/postprocess executive function registered by the extension.
PARAMETERS
data render data structure to fill

RETURNS void
MethodRenderMaterialSampleDisplayScanlinevoid RenderMaterialSampleDisplayScanline( Color_p *pixels,i minx, i miny,i current,i totalLines );

(no description)
MethodRenderMaterialSampleGetAreaIIRvoid RenderMaterialSampleGetAreaIIR( Rect_p rect );

(no description)
MethodRenderMaterialSampleGetMaterialvoid RenderMaterialSampleGetMaterial( mate **mat );

(no description)
MethodRenderPostProcessDisplayScanlinevoid RenderPostProcessDisplayScanline( Color_p *pixels,i minx, i miny,i current,i totalLines );

(no description)
MethodRotateAxes3fvoid RotateAxes3f( Axes3f_p pOutAxes,Axes3f_p pInAxes,const Txmx3f_p Txmx )

PURPOSE Rotate InAxes using Txmx. Ignore non-rotational part of Txmx. IF InAxes are orthogonal and unit, then OutAxes are also orthonormal axes.
PARAMETERS
pOutAxes Axes3f_p: transformed axes
pInAxes Axes3f_p: original axes
Txmx const Txmx3f_p: transformation matrix

RETURNS void
MethodRotateVecs3fvoid RotateVecs3f( i numVecs,Vec3f_p pOutVecs,const Vec3f_p pInVecs,const Txmx3f_p Txmx )

PURPOSE Apply only the rotational part of the Txmx to an array of vectors.
PARAMETERS
numVecs i:
pOutVecs Vec3f_p:
pInVecs const Vec3f_p:
Txmx const Txmx3f_p:

RETURNS void
MethodRotateVect3fvoid RotateVect3f( const Vec3f_p InVect, Vec3f_p OutVect, const Txmx3f_p Txmx )

PURPOSE Apply only the rotational part of the Txmx to vector `InVect'. Output vector is `OutVect'.The output and input vector can be the same.
PARAMETERS
InVect input vector
OutVect output vector
Txmx const Txmx3f_p: a transformation matrix

RETURNS void
MethodSavePluginSettingsvoid SavePluginSettings( const char *chunkName, const char *data, i size )

PURPOSE Store a chunk of configuration data in tS configuration file ( truespace.cfg).
PARAMETERS
chunkName const char*: name of the data chunk - used for identification
data const char*: data to store
size i: size of the data to be store

RETURNS None
MethodSceneAddObjectvoid SceneAddObject( gnode* pGNode,bool bNoDraw )

PURPOSE Adds pGNode as top-level member of scene, and makes it the current selection. If NoDraw is TRUE then the new object will not be drawn in this function call. pGNode must be a new object not already in Scene.
PARAMETERS
pGNode gnode*: the object to be added
bNoDraw bool: TRUE if the new object shouldn't be drawn within this function call

RETURNS void
MethodSceneDrawvoid SceneDraw()

PURPOSE (Re )Draw the scene in the active View, in the View's rendering mode.
PARAMETERS
None

RETURNS void
MethodSceneFreeGlobalShaderBoxvoid SceneFreeGlobalShaderBox( void** GlobalShaderBox );

(no description)
MethodSceneGetEnvironmentFilenamevoid SceneGetEnvironmentFilename( char* szFilename, i iFilenameSize );

(no description)
MethodSceneGetFogParmsvoid SceneGetFogParms( unsigned i* pFogRed, unsigned i* pFogBlue, unsigned i* pFogGreen, i* pFogNear, i* pFogFar, i* pFogMax )

PURPOSE Get the scene fog parameters
PARAMETERS
pFogRed unsigned i*: [0, 255]
pFogBlue unsigned i*: [0, 255]
pFogGreen unsigned i*: [0, 255]
pFogNear i*: distance where the fog starts affecting the scene
pFogFar i*: distance where the fog reaches maximum density
pFogMax i*: maximum density of the fog

RETURNS void
MethodSceneGetMaxMinLuminancevoid SceneGetMaxMinLuminance( f* maxlum, f* minlum );

(no description)
MethodSceneSetChangedvoid SceneSetChanged( BOOL changed );

(no description)
MethodSceneSetFogParmsvoid SceneSetFogParms( unsigned i FogRed, unsigned i FogBlue, unsigned i FogGreen, i FogNear, i FogFar, i FogMax )

PURPOSE Set the fog parameters for the scene
PARAMETERS
pFogRed unsigned i: [0, 255]
pFogBlue unsigned i: [0, 255]
pFogGreen unsigned i: [0, 255]
pFogNear i: distance where the fog starts affecting the scene
pFogFar i: distance where the fog reaches maximum density
pFogMax i: maximum density of the fog

RETURNS void
MethodSceneSetMaxMinLuminancevoid SceneSetMaxMinLuminance( f maxlum, f minlum );

(no description)
MethodSceneSetUnitsvoid SceneSetUnits( e_tsxUNITS_xxxx units )

PURPOSE Sets scene units type.
PARAMETERS
units e_tsxUNITS_xxxx: scene units type

RETURNS void
MethodSceneSwitchFogvoid SceneSwitchFog( bool fog_on )

PURPOSE Use tsxTRUE to set Fog On.
PARAMETERS
fog_on bool: TRUE is fog is to be on

RETURNS void
MethodScriptDeletevoid ScriptDelete( sobj* obj );

(no description)
MethodScriptMDeInstallMousevoid ScriptMDeInstallMouse();

(no description)
MethodScriptMGetMousePosvoid ScriptMGetMousePos( short &x, short &y, short &flags );

(no description)
MethodScriptMInstallMousevoid ScriptMInstallMouse();

(no description)
MethodScriptMSetOutTextvoid ScriptMSetOutText( char *txt );

(no description)
MethodScriptMSetTimevoid ScriptMSetTime( long Time );

(no description)
MethodScriptMSetTimeDelayvoid ScriptMSetTimeDelay( clock_t delay );

(no description)
MethodScriptMSetTimeFlowingvoid ScriptMSetTimeFlowing( BOOL Run );

(no description)
MethodScriptSetDataPtrvoid ScriptSetDataPtr( sobj* obj, void *data );

(no description)
MethodSelectDownvoid SelectDown()

PURPOSE Selects a child of the Currobj .Same function as called on the [downArrow] button. Views are updated.
PARAMETERS
None

RETURNS void
MethodSelectNextvoid SelectNext()

PURPOSE Selects a sibling of the Currobj, following Currobj in the list. Same function as called on the key. Views are updated.
PARAMETERS
None

RETURNS void
MethodSelectPrevvoid SelectPrev()

PURPOSE Selects a sibling of the Currobj, preceeding Currobj in the list. Same function as called on the key. Views are updated.
PARAMETERS
None

RETURNS void
MethodSelectSobjvoid SelectSobj( sobj* pSobj,tsxSELECTMODE selmode,bool bNoDraw )

PURPOSE Make specified pSobj the current selection. Essentially the same (with correct args) as picking an object with the mouse. Set `bNoDraw' to e_tsxTRUE if you do not wish the object to be redrawn in "selected" mode. Use this feature carefully, as it might result in all or portions of the object being erased when the next object is selected. Primarily meant as a mechanism for temporarily selecting an object for operations, and to be followed by a scene refresh.
PARAMETERS
pSobj sobj*: Must be `tsxIsSelectable'
selmode tsxSELECTMODE: see data structure
bNoDraw bool: TRUE if Views should not be updated.

RETURNS void
MethodSelectUpvoid SelectUp()

PURPOSE Selects parent of Currobj. Same function as called on the [upArrow] button. Views are updated.
PARAMETERS
None

RETURNS void
MethodSetActiveLayerIndexvoid SetActiveLayerIndex( short index )

PURPOSE Function stores given active layer index.
PARAMETERS
index short: index of the layer

RETURNS none
MethodSetHelpMessagevoid SetHelpMessage( char *str )

PURPOSE To set the string as a current help message.
PARAMETERS
str char*: the string to set as a help message

RETURNS void
MethodSetMaterialvoid SetMaterial( gnode* sob, mate* mat, SHORT matid );

(no description)
MethodSetMaterialShadervoid SetMaterialShader( mate* pMatrl, i ShaderID )

PURPOSE Set the material to use a particular shader specified by its ID
PARAMETERS
pMatrl mate*: a pointer to a material
ShaderID i: ID of the shader to set into material

RETURNS void
MethodSetMaterialShaderByNamevoid SetMaterialShaderByName( mate* pMatrl, char *ShaderName )

PURPOSE Set the material to use a particular shader specified by its name
PARAMETERS
pMatrl mate*: a pointer to a material
ShaderName char*: pointer to the string containing the shader name

RETURNS void
MethodSetObjCollisionLevelvoid SetObjCollisionLevel( sobj* obj, e_tsxCOLLISION_xxxx collisionLevel )

PURPOSE Function set the collision level for an object.
PARAMETERS
obj sobj*: pointer to a sobj
collisionLevel e_tsxCOLLISION_xxxx: the collision level for the object

RETURNS void
MethodSetTextureFromLightingvoid SetTextureFromLighting( bool switchOn );

(no description)
MethodSetWdgCallbacksvoid SetWdgCallbacks( widget *lpWidget, WDG_CALLBACKS_p *tsxCallbacks )

PURPOSE To set a new widget's callbacks table.
PARAMETERS
lpWidget widget *: widget object
tsxCallbacks WDG_CALLBACKS_p *: pointer to a new table

RETURNS
MethodSetWdgDrawObjectvoid SetWdgDrawObject( widget *lpWidget, polyh *drawobj )

PURPOSE To set a new polyhedron that will be represent the widget.
PARAMETERS
lpWidget widget *: widget object
drawobj polyh *: new polyhedron

RETURNS
MethodSetWdgFlagsvoid SetWdgFlags( widget *lpWidget, ulong wdgFlags )

PURPOSE To set a new widget's flags.
PARAMETERS
lpWidget widget *: widget object
wdgFlags ulong : new widget's flags

RETURNS
MethodSetWdgIntAcsvoid SetWdgIntAcs( widget *lpWidget, tsxWDGINTACS_xxxx wdgIntAcs )

PURPOSE To set a new interface access flags for the widget.
PARAMETERS
lpWidget widget *: widget object
wdgIntAcs tsxWDGINTACS_xxxx: new interface access flags for the widget

RETURNS
MethodSetWdgUsersDatavoid SetWdgUsersData( widget *lpWidget, void *data )

PURPOSE To set a new pointer to user's data.
PARAMETERS
lpWidget widget *: widget object
data void *: new pointer to user's data

RETURNS
MethodShaderFreeCustomDatavoid ShaderFreeCustomData( shader* shader );

(no description)
MethodShaderInfoCopyvoid ShaderInfoCopy( shinfo* destInfo, shinfo* srcInfo )

PURPOSE Copy one shader info state to the other
PARAMETERS
destInfo destination shader info ( must be valid )
srcInfo source shader info (must be valid)

RETURNS void
MethodShaderInfoDestroyvoid ShaderInfoDestroy( shinfo* shinfo )

PURPOSE Destroy shader info.

PARAMETERS
shifo shader info to be destroyed

RETURNS pointer to created shader info
MethodShaderInfoFreeCustomDatavoid ShaderInfoFreeCustomData( shinfo* shinfo );

(no description)
MethodShaderInfoSetShadervoid ShaderInfoSetShader( shinfo* shinfo, shader* shader )

PURPOSE Attach shader to the shader info
PARAMETERS
shinfo pointer to shinfo
shader pointer to shader

RETURNS void
MethodShaderSetByInfovoid ShaderSetByInfo( shader* shader, shinfo* shinfo )

PURPOSE Adjust shader settings by specified shader info. This function sets all parameters of the shader by source shader info. This is easy way how to transport shader info state to the shader state.
PARAMETERS
shader shader*: destination shader
shinfo shinfo*: source shader info

RETURNS void
MethodShaderUpdatevoid ShaderUpdate( i id );

(no description)
MethodShowNotebookvoid ShowNotebook( void )

PURPOSE Show Notebook editor.
PARAMETERS

RETURNS
MethodSmoothDivSetAnglevoid SmoothDivSetAngle( i angle )

PURPOSE Set a new value of SmoothDiv angle.
PARAMETERS
angle i: a new value of SmoothDiv angle

RETURNS void
MethodSobjDeletevoid SobjDelete( sobj* pSobj )

PURPOSE Delete and free memory, including internal allocations. Also delete all children, if any. Erases objects from all Views.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS void
MethodSobjDeleteDatavoid SobjDeleteData( sobj* pSobj, i dataType )

PURPOSE Delete external data of specified type attached to the object.
PARAMETERS
pSobj sobj*: a pointer to the object
dataType i: a type of external data

RETURNS void
MethodSobjSetNotCopyablevoid SobjSetNotCopyable( sobj* pSobj )

PURPOSE Set object as not copyable.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS None
MethodSobjSetNotEditablevoid SobjSetNotEditable( sobj* pSobj )

PURPOSE Set object as not editable.
PARAMETERS
pSobj sobj*: a pointer to the Sobj

RETURNS None
MethodStringFromLocaleNumbervoid StringFromLocaleNumber( LPTSTR pStr )

PURPOSE Replace the first occurence of Locale Decimal Separator in pStr by '.'
PARAMETERS
pStr LPTSTR: string to convert - converted string returned here as well
PARAMETERS

RETURNS None
MethodStringToLocaleNumbervoid StringToLocaleNumber( LPTSTR pStr )

PURPOSE Replace the first occurence of '.' in string by the Locale Decimal Separator.
PARAMETERS
pStr LPTSTR: string to convert - converted string returned here as well
PARAMETERS

RETURNS None
MethodSubDivActiveCageSetSharpnessvoid SubDivActiveCageSetSharpness( mnode* pMNode, i Vx1, i Vx2, f Sharpness, bool infinity )

PURPOSE Set the sharpness of an edge for the active control cage.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
Vx1 i: Index of first edge vertex
Vx2 i: Index of second edge vertex
Sharpness f: Sharpness
infinity bool: True if edge is infinitely sharp

RETURNS void
MethodSubDivActiveCageSetSubdivideFacesvoid SubDivActiveCageSetSubdivideFaces( mnode* pMNode, SubDivFaceArray_p pSSFaces )

PURPOSE Set new subdivide faces array for the active cage
NOTE: size of the array should be equall to size of vertex array (if it is smaller, it will be completed automatically to required length)
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
pSSFaces SubDivFaceArray_p: Pointer to the new subdivided faces array

RETURNS void
MethodSubDivBuildvoid SubDivBuild( mnode* pMNode )

PURPOSE Rebuild the subdivision surface after its control mesh was modified.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface

RETURNS void
MethodSubDivExtractControlMeshvoid SubDivExtractControlMesh( mnode* pMNode, bool ask, bool refresh, bool selnavtool )

PURPOSE Convert subdivision surface to polyhedron representing its control mesh.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
ask bool: Ask the user before conversion
refresh bool: Refresh the object on the screen after conversion
selnavtool bool:

RETURNS void
MethodSubDivExtractFinalMeshvoid SubDivExtractFinalMesh( mnode* pMNode, bool ask, bool refresh, bool selnavtool )

PURPOSE Convert subdivision surface to polyhedron representing its final mesh.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
ask bool: Ask the user before conversion
refresh bool: Refresh the object on the screen after conversion
selnavtool bool:

RETURNS void
MethodSubDivMakevoid SubDivMake( mnode* pMNode )

PURPOSE Turn all polyhedrons in given object hierarchy to subdivision surfaces (polyhedron becomes the control mesh).
PARAMETERS
pMNode mnode*: Pointer to the object hierarchy

RETURNS void
MethodSubDivMakeSpecDivvoid SubDivMakeSpecDiv( mnode* pMNode, i division )

PURPOSE Converts polyhedral object to subdiv object, specify division.
PARAMETERS
pMNode mnode*: Pointer to the object
division i: subdivision level

RETURNS void
MethodSubDivMarkGeomChangevoid SubDivMarkGeomChange( polyh* pCage )

PURPOSE Tell tS that this Control Cage's Geometry has changed
NOTE: tsxSubDivBuild will perform smart refresh of SDS surface after calling this (instead of the full rebuild). Do not use for master SDS object, works only for its control cages !
PARAMETERS
pCage polyh*: Pointer to control cage

RETURNS void
MethodSubDivSetActiveLevelvoid SubDivSetActiveLevel( mnode* pMNode, i level )

PURPOSE Set active level for SDS object (range 0..tsxSubDivGetDivision())
NOTE: function only changes an internal state, do not switch active mesh in PE mode etc.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
level i: new active level number

RETURNS void
MethodSubDivSetSharpnessvoid SubDivSetSharpness( mnode* pMNode, i Vx1, i Vx2, f Sharpness, bool infinity )

PURPOSE Set the sharpness of an edge.
PARAMETERS
pMNode mnode*: Pointer to subdivision surface
Vx1 i: Index of first edge vertex
Vx2 i: Index of second edge vertex
Sharpness f: Sharpness
infinity bool: True if edge is infinitely sharp

RETURNS void
MethodSweepGetMovevoid SweepGetMove( Vec3f_p pMove )

PURPOSE Get a translation for Sweep and Tip.
PARAMETERS
pMove Vec3f_p: returns translation vector

RETURNS
MethodSweepSetMovevoid SweepSetMove( Vec3f_p pMove )

PURPOSE Set a translation for Sweep and Tip.
PARAMETERS
pMove Vec3f_p: translation vector

RETURNS
MethodSweepSetSegmentsvoid SweepSetSegments( i iNbrSeg )

PURPOSE Set a number of segments for Sweep and Tip.
PARAMETERS
iNbrSeg i: a number of segments

RETURNS void
MethodTransformVecs3fvoid TransformVecs3f( i numVecs,Vec3f_p pOutVecs, const Vec3f_p pInVecs,const Txmx3f_p Txmx )

PURPOSE Transform an array of vectors 'pInVecs', placing result in 'pOutVecs'. This operation is meaningful only if 'pInVecs' represent points.
PARAMETERS
numVecs i: size of the vector array
pOutVecs Vec3f_p: an array where where to store the transformed vectors
pInVecs const Vec3f_p: the array of input vectors
Txmx const Txmx3f_p: a transformation matrix

RETURNS void
MethodTransformVect3fvoid TransformVect3f( const Vec3f_p InVect, Vec3f_p OutVect, const Txmx3f_p Txmx )

PURPOSE Transform vector `InVect' to `OutVect'. The output vector can be the same as input vector.
PARAMETERS
InVect input vector
OutVect output vector
Txmx const Txmx3f_p: a transformation matrix

RETURNS void
MethodtsxAllViewsReloadTextures void tsxAllViewsReloadTextures ()

PURPOSE Reload all textures for all views - this function can be called when textures files were modified outside of trueSpace.
PARAMETERS
None

RETURNS none
MethodtsxCurrobjEditToolClose void tsxCurrobjEditToolClose ()

PURPOSE Close the edit tool running on the currently selected object.
PARAMETERS
None

RETURNS void
MethodtsxMaterialDestroyShaderBox void tsxMaterialDestroyShaderBox ( mate* mat )

PURPOSE Destroy shader information contained in the material
PARAMETERS
mat mate*: a pointer to the material

RETURNS void
MethodtsxMNodeSetDoubleSidedGeometry void tsxMNodeSetDoubleSidedGeometry ( mnode* pMNode, bool doubleSided )

PURPOSE Set double sided geometry flag for Mnode - object will be forced to render as double sided
PARAMETERS
pMNode mnode*: a pointer to the Mnode
doubleSided bool: e_tsxTRUE if object is rendered as double sided, e_tsxFALSE otherwise

RETURNS void
MethodtsxMNodeSetUseAdaptiveRadiosityMeshing void tsxMNodeSetUseAdaptiveRadiosityMeshing ( mnode* pMNode, bool useMeshing )

PURPOSE Set radiosty meshing flag for Mnode - object will be adaptively meshed during the radiosity processing
PARAMETERS
pMNode mnode*: a pointer to the Mnode
useMeshing bool: e_tsxTRUE if object uses radiosity meshing, e_tsxFALSE otherwise

RETURNS void
MethodtsxNPatchEditActivate void tsxNPatchEditActivate ()

PURPOSE Start patch edit tool.
PARAMETERS
none

RETURNS none
MethodtsxPointsDeactivateEdit void tsxPointsDeactivateEdit ( void )

PURPOSE Deactivate point edit mode.
PARAMETERS

RETURNS void
MethodtsxPolyhGetHoleVertexAutoFacetNormal void tsxPolyhGetHoleVertexAutoFacetNormal ( polyh* pPolyh, Face_p pFace, Hole_p pHole, long vIdx, f facet_cos, Vec3f_p pNorm )

PURPOSE Compute the normal of the face in a vertex of a hole based on the autofacet smoothing
PARAMETERS
pPolyh polyh*: a pointer to polyhedron
pFace Face_p: a pointer to face
pHole Hole_p: a pointer to hole in the face
vIdx long: index of the vertex in the hole
facet_cos f: cosine of the autofacet angle
pNorm Vec3f_p: a pointer to structure where the result is copied.

RETURNS None
MethodtsxSceneRefresh void tsxSceneRefresh ()

PURPOSE Refresh all the views of the scene
PARAMETERS
None

RETURNS void
MethodUnMatrix3fvoid UnMatrix3f( const Txmx3f_p Txmx,Txmx3f_p Rot,f* pScaleShear = 0 )

PURPOSE Extract the pure rotation matrix (Rot) and scaling/shearing factors from a Transformation Matrix (Txmx). If specified, pScaleShear must be f[6], and is assigned as follows: { Sx, Sy, Sz, Sxy, Sxz, Syz }
PARAMETERS
Txmx const Txmx3f_p: the source transformation matrix
Rot Txmx3f_p: the pure rotation matrix
pScaleShear f*: scaling/sharing factors, if given a non-NULL pointer

RETURNS void
MethodCallocvoid* Calloc( unsigned i num,unsigned i size )

PURPOSE Allocate static memory, initialized to zero
PARAMETERS
num unsigned i: number of blocks to allocate
size unsigned i: byte-size of one block

RETURNS void*
MethodMallocvoid* Malloc( unsigned i size )

PURPOSE Allocate static memory.
PARAMETERS
size unsigned i: byte-size of the bloc to allocate

RETURNS void*
MethodMaterialGetShaderParameterValuevoid* MaterialGetShaderParameterValue( mate* mat, tsxSHCLASS_xxxx tsxShclass, i param_index );

(no description)
MethodObjectGetDataPtrvoid* ObjectGetDataPtr( sobj*pSobj )

PURPOSE Get a pointer to the begining of data block inside the external object.
PARAMETERS
pSobj sobj*: a pointer to the external object

RETURNS void*: a pointer to the begining of data block inside the external object
MethodReallocvoid* Realloc( void* memblock,unsigned i size )

PURPOSE Reallocate a previously allocated block
PARAMETERS
memblock void*: the block to be reallocated
size unsigned i: the new size

RETURNS void*
MethodSceneGetGlobalShaderBoxvoid* SceneGetGlobalShaderBox( void );

(no description)
MethodSobjCreateDatavoid* SobjCreateData( sobj* pSobj, i dataType )

PURPOSE Add a new external data of specified type to the object.
PARAMETERS
pSobj sobj*: a pointer to the object
dataType i: a type of external data

RETURNS void*: a pointer to a new data block
MethodSobjGetDatavoid* SobjGetData( sobj* pSobj, i dataType )

PURPOSE Get a pointer to external data of specified type attached to the object.
PARAMETERS
pSobj sobj*: a pointer to the object
dataType i: a type of external data

RETURNS void*: a pointer to attached data block
MethodGetWdgCallbacksWDG_CALLBACKS_p *GetWdgCallbacks( widget *lpWidget )

PURPOSE To get a pointer to the current widget's callbacks table.
PARAMETERS
lpWidget widget *: widget object

RETURNS WDG_CALLBACKS_p *: pointer to the current table
MethodFirstWidgetChildOfTypewidget *FirstWidgetChildOfType( sobj *obj, ulong wdgTypeID )

PURPOSE Find the first widget by its type ID.
PARAMETERS
obj sobj*: widgets parent
wdgTypeID ulong: type ID of the widget(s)

RETURNS widget *: NULL if the `obj' hasn't a widget with the ID
MethodNextWidgetChildOfTypewidget *NextWidgetChildOfType( widget *objwdg, ulong wdgTypeID )

PURPOSE Find the first widget by its type ID.
PARAMETERS
objwdg widget *: the previous widget
wdgTypeID ulong: type ID of the widget(s)

RETURNS widget *: find a next widget or NULL if there are not any other widgets with the type ID
ClassAxes3fAxes3f()
Axes3f( ( (f,f,f), (f,f,f), (f,f,f) ) )

Axes3f_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Axes3f_p(). The returned instance can refer each member of Axes3f() class.
ClassBBox3fBBox3f()
BBox3f( ( (f,f,f), (f,f,f) ) )

BBox3f_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of BBox3f_p(). The returned instance can refer each member of BBox3f() class.
ClassBumpPropsBumpProps()
BumpProps( offsetu = 0., offsetv = 0., repeatsu = 0., repeatsv = 0., amplitude = 0., flags = 0 )

BumpProps_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of BumpProps_p(). The returned instance can refer each member of BumpProps() class.
ClassCharArrayCharArray()
CharArray( num )

CharArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of CharArray(). The returned instance can refer each member of CharArray() class.
ClassCollisionReportCollisionReport()
CollisionReport( typeOfReport = 0, Owner1 = 0, Owner2 = 0, num_collvert = 0, vertex_report = 0 )

CollisionReport_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of CollisionReport_p(). The returned instance can refer each member of CollisionReport() class.
ClassColorColor()
Color( red = 0, green = 0, blue = 0, alpha = 0 )

Color_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Color_p(). The returned instance can refer each member of Color() class.
ClassDerivCurvesDerivCurves()
DerivCurves( max_deriv = 0, rational = 0, nu = 0, order = 0, der_ctl_pts = 0, der_weights = 0, der_knots = 0 )

DerivCurves_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of DerivCurves_p(). The returned instance can refer each member of DerivCurves() class.
ClassEdgeEdge()
Edge( iStartVertex = 0, iEndVertex = 0 )

Edge_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Edge_p(). The returned instance can refer each member of Edge() class.
ClassEdgeArrayEdgeArray()
EdgeArray( num )

EdgeArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of EdgeArray_p(). The returned instance can refer each member of EdgeArray() class.
ClassFaceFace()
Face( nbrVxs = 0, pFVxs = 0, r1 = 0, r2 = 0, r3 = 0, normVxs_0 = 0, normVxs_1 = 0, normVxs_2 = 0, materialIdx = 0 )

Face_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Face_p(). The returned instance can refer each member of Face() class.
ClassFaceArrayFaceArray()
FaceArray( num )

FaceArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Face_p(). The returned instance can refer each member of Face() class.
ClassFaceVxArrayFaceVxArray()
FaceVxArray( num )
Specify a tupple like (i,i,i,b,b,b,b,i), or don't specify at all to assign to an element of FaceVxArray instance. For tS4.3, specify only first 7 params, don't specify the 8th param.

FaceVxArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of FaceVxArray_p(). The returned instance can refer each member of FaceVxArray() class.
ClassFloatFloat()
Float( f1 = 0 )

Float_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Float(). The returned instance can refer each member of Float() class.
ClassFloatArrayFloatArray()
FloatArray( num )

FloatArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of FloatArray(). The returned instance can refer each member of FloatArray() class.
ClassFloatColorFloatColor()
FloatColor( red = 0., green = 0., blue = 0., alpha = 0. )

FloatColor_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of FloatColor_p(). The returned instance can refer each member of FloatColor() class.
ClassHoleHole()
Hole( nbrVxs = 0, pFVxs = 0, r1 = 0 )

Hole_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Hole_p(). The returned instance can refer each member of Hole() class.
ClassImageImage()
Image( width = 0, height = 0, depth = 0, data = 0 )

Image_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Image_p(). The returned instance can refer each member of Image() class.
ClassIntArrayIntArray()
IntArray( num )

IntArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of IntArray_p(). The returned instance can refer each member of IntArray() class.
ClassLatticeFloorLatticeFloor()
LatticeFloor( s = 0, t = 0, u = 0, orient = 0 )

LatticeFloor_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of LatticeFloor_p(). The returned instance can refer each member of LatticeFloor() class.
ClassLatticeVectorLatticeVector()
LatticeVector( s = 0, t = 0, u = 0 )

LatticeVector_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of LatticeVector_p(). The returned instance can refer each member of LatticeVector() class.
ClassLongArrayLongArray()
LongArray( num )

LongArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of LongArray_p(). The returned instance can refer each member of IntArray() class.
ClassMatRectPropsMatRectProps()
MatRectProps( uvMin_u = 0., uvMin_v = 0., uvMax_u = 0., uvMax_v = 0. )

MatRectProps_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of MatRectProps_p(). The returned instance can refer each member of MatRectProps() class.
ClassPhysEnvirPhysEnvir()
PhysEnvir( ulActiveFlags = 0, fGravConst = 0., fAtmDensity = 0., fAtmAnisotropism = 0., fStreamSpeed = 0., v3fStreamDir_x = 0., v3fStreamDir_y = 0., v3fStreamDir_z = 0. )

PhysEnvir_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of PhysEnvir_p(). The returned instance can refer each member of PhysEnvir() class.
ClassProTexGraniteProTexGranite()
ProTexGranite( color1_red = 0, color1_green = 0, color1_blue = 0, color1_alpha = 0, color2_red = 0, color2_green = 0, color2_blue = 0, color2_alpha = 0, color3_red = 0, color3_green = 0, color3_blue = 0, color3_alpha = 0, color4_red = 0, color4_green = 0, color4_blue = 0, color4_alpha = 0, amount1 = 0., amount2 = 0., amount3 = 0., amount4 = 0., sharpness = 0., scale_x = 0., scale_y = 0., scale_z = 0., seed = 0 )

ProTexGranite_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of ProTexGranite_p(). The returned instance can refer each member of ProTexGranite() class.
ClassProTexMarbleProTexMarble()
ProTexMarble( stonecol_red = 0, stonecol_green = 0, stonecol_blue = 0, stonecol_alpha = 0, veincol_red = 0, veincol_green = 0, veincol_blue = 0, veincol_alpha = 0, turbulence = 0, sharpness = 0., grain = 0, scale_x = 0., scale_y = 0., scale_z = 0., seed = 0 )

ProTexMarble_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of ProTexMarble_p(). The returned instance can refer each member of ProTexMarble() class.
ClassProTexWoodProTexWood()
ProTexWood( lightcol_red = 0, lightcol_green = 0, lightcol_blue = 0, lightcol_alpha = 0, darkcol_red = 0, darkcol_green = 0, darkcol_blue = 0, darkcol_alpha = 0, ldratio = 0., rdensity = 0., rwidthvar = 0., rshapevar = 0., center_x = 0., center_y = 0., center_z = 0., grain = 0, scale_x = 0., scale_y = 0., scale_z = 0., seed = 0 )

ProTexWood_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of ProTexWood_p(). The returned instance can refer each member of ProTexWood() class.
ClassQuaternionQuaternion()
Quaternion( scalar = 0., x = 0., y = 0., z = 0. )
float x, y, z.

Quaternion_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Quaternion_p(). The returned instance can refer each member of Quaternion() class.
ClassRectRect()
Rect( x = 0, y = 0, MaxX = 0, MaxY = 0 )

Rect_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Rect_p(). The returned instance can refer each member of Rect() class.
ClassRenderDataRenderData()
RenderData( renderObj = 0, selectedFaces = 0, sizeX = 0, sizeY = 0, renderMethod = 0, renderRectangle = 0, rectangle_x = 0, rectangle_y = 0, rectangle_MaxX = 0, rectangle_MaxY = 0, rayTrace = 0, rayTraceMaxDepth = 0, rayTraceMinKs = 0., rayTraceMinContrib = 0., triangulate = 0, singleSided = 0, multithreading = 0, antialias = 0, aspectRatio = 0., frameNumber = 0, materialSample = 0, materialSampleType = 0, radiosityToneMapping= 0. )

RenderData_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of RenderData_p(). The returned instance can refer each member of RenderData() class.
ClassRenderToFileDataRenderToFileData()
RenderToFileData( fileName = ", renderToWindow = 0, width = 0, height = 0, alphaChannel = 0, compress = 0, imageQuality = 0, frameAll = 0, frameStart = 0, frameEnd = 0, halfFrameRate = 0, pixelAspectRatio = 0., motionBlur = 0, motionBlurLength = 0., depthOfField = 0, depthFocalDistance = 0., depthFocus = 0, effectFrames = 0, fieldRender = 0)

RenderToFileData_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of RenderToFileData_p(). The returned instance can refer each member of RenderToFileData() class.
ClassStringString()
String( str )

String_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of String(). The returned instance can refer each member of String() class.
ClassSubDivEdgeSubDivEdge()
SubDivEdge( iStartVertex = 0, iEndVertex = 0, Sharpness = 0., Infinity = 0 )

SubDivEdge_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of SubDivEdge_p(). The returned instance can refer each member of SubDivEdge() class.
ClassSubDivEdgeArraySubDivEdgeArray()
SubDivEdgeArray( num )

SubDivEdgeArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of SubDivEdgeArray_p(). The returned instance can refer each member of SubDivEdgeArray() class.
ClassSubDivFaceSubDivFace()
SubDivFace( level = 0 )

SubDivFace_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of SubDivFace_p(). The returned instance can refer each member of SubDivFace() class.
ClassSubDivFaceArraySubDivFaceArray()
SubDivFaceArray( num )

SubDivFaceArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of SubDivFaceArray_p(). The returned instance can refer each member of SubDivFaceArray() class.
ClassSurfacePropsSurfaceProps()
SurfaceProps( ka = 0., ks = 0., exp = 0. )

SurfaceProps_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of SurfaceProps_p(). The returned instance can refer each member of SurfaceProps() class.
ClassTextureFromLightingDataTextureFromLightingData()
TextureFromLightingData( squarredTextures = 0, powerOf2Textures = 0, automaticTexelSize = 0, texelSize = 0., minTexels = 0, maxTextures = 0, filePrefix = ", fileType = 0 )

TextureFromLightingData_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of TextureFromLightingData_p(). The returned instance can refer each member of TextureFromLightingData() class.
ClassTexturePropsTextureProps()
TextureProps( offsetu = 0., offsetv = 0., repeatsu = 0., repeatsv = 0., flags = 0 )

TextureProps_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of TextureProps_p(). The returned instance can refer each member of TextureProps() class.
ClassTxmx2fTxmx2f()
Txmx2f( ((f,f,f),(f,f,f)) )

Txmx2f_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Txmx2f_p(). The returned instance can refer each member of Txmx2f() class.
ClassTxmx3fTxmx3f()
Txmx3f( ( (f,f,f,f), (f,f,f,f), (f,f,f,f) ) )

Txmx3f_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Txmx3f_p(). The returned instance can refer each member of Txmx3f() class.
ClassUVUV()
UV( u = 0., v = 0. )

UV_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of UV_p(). The returned instance can refer each member of UV() class.
ClassVec2fVec2f()
Vec2f( x = 0., y = 0. )

Vec2f_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Vec2f_p(). The returned instance can refer each member of Vec2f() class.
ClassVec3fVec3f()
Vec3f( x = 0., y = 0., z = 0. )

Vec3f_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Vec3f_p(). The returned instance can refer each member of Vec3f() class.
ClassVec3fArrayVec3fArray()
Vec3fArray( num )

Vec3fArray_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of Vec3fArray_p(). The returned instance can refer each member of Vec3fArray() class.
ClassWdgRegWdgReg()
WdgReg( wdgTypeID = 0, widgetsname = 0, wdgIntAcs = 0, CreateWidget = 0, CloneWidget = 0 )
all params are unsigned integer.

WdgReg_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of WdgReg_p(). The returned instance can refer each member of WdgReg() class.
ClassWDG_CALLBACKSWDG_CALLBACKS()
WDG_CALLBACKS( ApplyMove = 0, GetHelpString = 0, NavInit = 0, DoNavDelta = 0, NavFinish = 0, MouseClick = 0, WdgDelete = 0, ObjHasChanged = 0, SetOwner = 0, DrawFunc = 0 )

WDG_CALLBACKS_p is an inherited class. Specify any pointer (i.e. unsigned long value) as the parameter of WDG_CALLBACKS_p(). The returned instance can refer each member of WDG_CALLBACKS() class.