Locator¶
-
LXsITYPE_LOCATOR
¶ Startup initializes all the packages and then promotes some of them to item status. This basically just means creating the package, assigning the local data and callbacks, and setting up the channels. This module depends on cinemas and meshes.
LXsICHAN_LOCATOR_VISIBLE
LXsICHAN_LOCATOR_RENDER
LXsICHAN_LOCATOR_SELECT
LXsICHAN_LOCATOR_LOCK
LXsICHAN_LOCATOR_SIZE
LXsICHAN_LOCATOR_DRAWSHAPE
LXsICHAN_LOCATOR_CENTER
LXsICHAN_LOCATOR_PIVOT
LXsICHAN_LOCATOR_LINK
LXsICHAN_LOCATOR_GLSTATE
LXsICHAN_LOCATOR_HVISIBLE
LXsICHAN_LOCATOR_GLSURF
LXsICHAN_LOCATOR_SILHOUETTE
LXsICVAL_LOCATOR_DRAWSHAPE_DEFAULT
LXsICVAL_LOCATOR_DRAWSHAPE_CUSTOM
LXsICVAL_LOCATOR_LINK_DEFAULT
LXsICVAL_LOCATOR_LINK_CUSTOM
LXsICVAL_LOCATOR_STATE_DEFAULT
LXsICVAL_LOCATOR_STATE_ON
LXsICVAL_LOCATOR_STATE_OFF
LXsITYPE_LIGHT
LXsICHAN_LIGHT_RADIANCE
LXsICHAN_LIGHT_FALLTYPE
LXsICHAN_LIGHT_RANGE
LXsICHAN_LIGHT_SHADTYPE
LXsICHAN_LIGHT_SHADRES
LXsICHAN_LIGHT_SHADSPOT
LXsICHAN_LIGHT_SAMPLES
LXsICHAN_LIGHT_IMPORTANCE
LXsICHAN_LIGHT_VISCAM
LXsICHAN_LIGHT_VISREFL
LXsICHAN_LIGHT_VISREFR
LXsICHAN_LIGHT_STACK
LXsICHAN_LIGHT_TARGET
LXsICHAN_SUNLIGHT_GAMMA
LXsICHAN_SUNLIGHT_DISTANCE
LXsICHAN_SUNLIGHT_THINNING
LXsICHAN_SUNLIGHT_SUMMERTIME
LXsICHAN_SUNLIGHT_USEWORLDXFORM
LXsICVAL_LIGHT_FALLTYPE_NONE
LXsICVAL_LIGHT_FALLTYPE_INVDIST
LXsICVAL_LIGHT_FALLTYPE_INVDIST2
LXsICVAL_LIGHT_SHADTYPE_NONE
LXsICVAL_LIGHT_SHADTYPE_RAYTRACE
LXsICVAL_LIGHT_SHADTYPE_SHADOWMAP
LXsITYPE_CAMERA
LXsICHAN_CAMERA_FOCALLEN
LXsICHAN_CAMERA_APERTUREX
LXsICHAN_CAMERA_APERTUREY
LXsICHAN_CAMERA_OFFSETX
LXsICHAN_CAMERA_OFFSETY
LXsICHAN_CAMERA_SQUEEZE
LXsICHAN_CAMERA_FILMROLL
LXsICHAN_CAMERA_FILMFIT
LXsICHAN_CAMERA_DOF
LXsICHAN_CAMERA_FOCUSDIST
LXsICHAN_CAMERA_FSTOP
LXsICHAN_CAMERA_IRISBLADES
LXsICHAN_CAMERA_IRISROT
LXsICHAN_CAMERA_IRISBIAS
LXsICHAN_CAMERA_DISTORT
LXsICHAN_CAMERA_MOTIONBLUR
LXsICHAN_CAMERA_BLURLEN
LXsICHAN_CAMERA_BLUROFF
LXsICHAN_CAMERA_STEREO
LXsICHAN_CAMERA_STEREOEYE
LXsICHAN_CAMERA_STEREOCOMP
LXsICHAN_CAMERA_IODIST
LXsICHAN_CAMERA_CONVDIST
LXsICHAN_CAMERA_PROJTYPE
LXsICHAN_CAMERA_TARGET
LXsICHAN_CAMERA_CLIPDIST
LXsICHAN_CAMERA_CLIPPING
LXsICHAN_CAMERA_RESOVERRIDE
LXsICHAN_CAMERA_RESX
LXsICHAN_CAMERA_RESY
LXsICHAN_CAMERA_OVERSCAN
LXsICHAN_CAMERA_USEMASK
LXsICHAN_CAMERA_USEIMAGES
LXsICHAN_CAMERA_USEBGIMAGE
LXsICHAN_CAMERA_USEFGIMAGE
LXsICVAL_CAMERA_FILMFIT_FILL
LXsICVAL_CAMERA_FILMFIT_HORIZONTAL
LXsICVAL_CAMERA_FILMFIT_VERTICAL
LXsICVAL_CAMERA_FILMFIT_OVERSCAN
LXsICVAL_CAMERA_PROJTYPE_PERSP
LXsICVAL_CAMERA_PROJTYPE_ORTHO
LXsICVAL_CAMERA_PROJTYPE_CYLINDRICAL
LXsICVAL_CAMERA_PROJTYPE_CYLINDRICAL_VR
LXsICVAL_CAMERA_PROJTYPE_SPHERICAL
LXsICVAL_CAMERA_PROJTYPE_SPHERICAL_VR
LXsICVAL_CAMERA_STEREOEYE_LEFT
LXsICVAL_CAMERA_STEREOEYE_RIGHT
LXsICVAL_CAMERA_STEREOEYE_BOTH
LXsICVAL_CAMERA_STEREOCOMP_NONE
LXsICVAL_CAMERA_STEREOCOMP_ANAGLYPH_RED_CYAN
LXsICVAL_CAMERA_STEREOCOMP_ANAGLYPH_GRAYSCALE
LXsICVAL_CAMERA_STEREOCOMP_ANAGLYPH_RED_CYAN_HALF
LXsICVAL_CAMERA_STEREOCOMP_ANAGLYPH_RED_CYAN_OPT
LXsICVAL_CAMERA_STEREOCOMP_ANAGLYPH_RED_BLUE_LS
LXsICVAL_CAMERA_STEREOCOMP_SIDE_BY_SIDE
LXsICVAL_CAMERA_STEREOCOMP_SIDE_BY_SIDE_FULL
LXsICVAL_CAMERA_STEREOCOMP_SIDE_BY_SIDE_CROSS
LXsICVAL_CAMERA_STEREOCOMP_SIDE_BY_SIDE_CROSSFULL
LXsITYPE_GROUPLOCATOR
-
LXiICVAL_LIGHT_SHADTYPE_NONE
¶ These declarations are used to test light shadow types.
LXiICVAL_LIGHT_SHADTYPE_RAYTRACE
LXiICVAL_LIGHT_SHADTYPE_SHADOWMAP
LXiICVAL_LIGHT_SHADTYPE_PORTAL
-
typedef unsigned
LXtTransformType
¶ Transforms applied to locators have a fixed set of types.
LXiXFRM_SCALE
LXiXFRM_ROTATION
LXiXFRM_POSITION
LXiXFRM_PIVOT
LXiXFRM_PIVOT_C
LXiXFRM_SHEAR
LXiXFRM_PIVOT_ROT
LXiXFRM_PIVOT_ROT_C
ILxLocator¶
-
class
ILxLocator
¶ A locator is a basic item type that has a transform.
Public Functions
-
LxResult
Visible
(LXtObjectID self, LXtObjectID chanRead)¶ Locator-type item visibility is controlled both locally and by parent items. If an item evaluates as visible, the return value is LXe_TRUE, otherwise the return value is LXe_FALSE.
-
LxResult
WorldTransform
(LXtObjectID self, LXtObjectID chanRead, LXtMatrix xfrm, LXtVector pos)¶ Locator-type items have support methods for getting and setting their transforms. This gets the evaluated world transform (position offset and 3x3 matrix) for a given item at a given time.
-
LxResult
GetTransformItem
(LXtObjectID self, LXtTransformType type, void **ppvObj)¶ This method returns the transform item of the given type for the locator item. If no item exists this method returns LXe_NOTFOUND. Otherwise the item is returned.
-
LxResult
AddTransformItem
(LXtObjectID self, LXtTransformType type, void **ppvObj, unsigned *index)¶ This method adds a given transform or returns the existing one. It can optionally return the index of the first value channel of the xfrm as well.
-
LxResult
SetTransformVector
(LXtObjectID self, LXtObjectID chanWrite, LXtTransformType type, const LXtVector value)¶ This method sets the value of one of the transforms for the given locator item. The chanWrite object can be an object presenting an ILxChannelWrite interface for one of the scene’s actions. If this is null the vector is written as constant channel values in some appropriate action.
-
LxResult
AddPreTransformItem
(LXtObjectID self, LXtObjectID chanWrite, LXtTransformType type, const LXtVector value, void **ppvObj, unsigned *index)¶ This method creates a new transform of the requested type and inserts into the transform chain before the standard transform. It returns the new object, optionally the first value channel of the xfrm as well. If ‘value’ is not NULL, it sets the value of one of the transforms. The chanWrite object can be an object presenting an ILxChannelWrite interface for one of the scene’s actions. If this is null the vector is written as constant channel values in some appropriate action.
-
LxResult
AddPostTransformItem
(LXtObjectID self, LXtObjectID chanWrite, LXtTransformType type, const LXtVector value, void **ppvObj, unsigned *index)¶ This is like the above, but it inserts the transform AFTER the standard transforms.
-
LxResult
SetTarget
(LXtObjectID self, LXtObjectID target, void **ppvObj)¶
-
LxResult
PrependTransformItem
(LXtObjectID self, LXtObjectID chanWrite, LXtTransformType type, const LXtVector value, void **ppvObj, unsigned *index)¶ Inserts the transform BEFORE the very first transform.
-
LxResult
AppendTransformItem
(LXtObjectID self, LXtObjectID chanWrite, LXtTransformType type, const LXtVector value, void **ppvObj, unsigned *index)¶ Inserts the transform AFTER the very last transform.
-
LxResult
SetPosition
(LXtObjectID self, LXtObjectID chanRead, LXtObjectID chanWrite, const LXtVector pos, unsigned type, unsigned comp)¶
-
LxResult
SetRotation
(LXtObjectID self, LXtObjectID chanRead, LXtObjectID chanWrite, const LXtMatrix m3, unsigned type, unsigned comp)¶
-
LxResult
SetScale
(LXtObjectID self, LXtObjectID chanRead, LXtObjectID chanWrite, const LXtMatrix4 m4, unsigned type, unsigned comp)¶
-
LxResult
ExtractLocalPosition
(LXtObjectID self, LXtObjectID chanRead, LXtVector pos)¶ Items may have several position transforms (zeroed, pivot etc) making it difficult to set a local position directly. This function takes the desired local position values for an item and updates them to the values that need to be set on the standard position transform item to give the desired position after taking all other transforms into account.
-
LxResult
ExtractLocalRotation
(LXtObjectID self, LXtObjectID chanRead, LXtMatrix m3)¶ As above above but for the local rotation matrix.
-
LxResult
ZeroTransform
(LXtObjectID self, LXtObjectID chanRead, LXtObjectID chanWrite, LXtTransformType type)¶
-
LxResult
WorldTransform4
(LXtObjectID self, LXtObjectID chanRead, LXtMatrix4 xfrm4)¶ This is similar to WorldTransform, except the evaluated world transform is returned in a full 4x4 matrix.
-
LxResult
WorldInvertTransform
(LXtObjectID self, LXtObjectID chanRead, LXtMatrix xfrm, LXtVector pos)¶ This gets the invert transformation matrix and offset
-
LxResult
LocalTransform
(LXtObjectID self, LXtObjectID chanRead, LXtMatrix xfrm, LXtVector pos)¶ This gets the evaluated local transform (position offset and 3x3 matrix - relative to its parent) for a given item at a given time.
-
LxResult
LocalTransform4
(LXtObjectID self, LXtObjectID chanRead, LXtMatrix4 xfrm4)¶ This is similar to LocalTransform, except the evaluated local transform is returned in a full 4x4 matrix.
-
LxResult
LXiLOCATOR_LOCAL