orx 1.16
Portable Game Engine
Loading...
Searching...
No Matches
OrxFrame

Macros

#define orxFRAME_KU32_FLAG_DEPTH_SCALE   0x00000004
#define orxFRAME_KU32_FLAG_IGNORE_NONE   0x00000000
#define orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_X   0x00010000
#define orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Y   0x00020000
#define orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Z   0x00040000
#define orxFRAME_KU32_FLAG_IGNORE_POSITION_ROTATION   0x00001000
#define orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_X   0x00002000
#define orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Y   0x00004000
#define orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Z   0x00008000
#define orxFRAME_KU32_FLAG_IGNORE_ROTATION   0x00000100
#define orxFRAME_KU32_FLAG_IGNORE_SCALE_X   0x00000200
#define orxFRAME_KU32_FLAG_IGNORE_SCALE_Y   0x00000400
#define orxFRAME_KU32_FLAG_IGNORE_SCALE_Z   0x00000800
#define orxFRAME_KU32_FLAG_NONE   0x00000000
#define orxFRAME_KU32_FLAG_SCROLL_X   0x00000001
#define orxFRAME_KU32_FLAG_SCROLL_Y   0x00000002
#define orxFRAME_KU32_MASK_IGNORE_ALL   0x0007FF00
#define orxFRAME_KU32_MASK_IGNORE_POSITION   0x0007F000
#define orxFRAME_KU32_MASK_IGNORE_POSITION_POSITION   0x00070000
#define orxFRAME_KU32_MASK_IGNORE_POSITION_SCALE   0x0000E000
#define orxFRAME_KU32_MASK_IGNORE_SCALE   0x00000E00
#define orxFRAME_KU32_MASK_SCROLL_BOTH   0x00000003
#define orxFRAME_KU32_MASK_USER_ALL   0x0007FFFF

Typedefs

typedef struct __orxFRAME_t orxFRAME

Enumerations

enum  orxFRAME_SPACE { orxFRAME_SPACE_GLOBAL = 0 , orxFRAME_SPACE_LOCAL , orxFRAME_SPACE_NUMBER , orxFRAME_SPACE_NONE = orxENUM_NONE }

Functions

orxDLLAPI orxFRAME *orxFASTCALL orxFrame_Create (orxU32 _u32Flags)
orxDLLAPI orxSTATUS orxFASTCALL orxFrame_Delete (orxFRAME *_pstFrame)
orxDLLAPI void orxFASTCALL orxFrame_Exit ()
orxDLLAPI orxFRAME *orxFASTCALL orxFrame_GetChild (const orxFRAME *_pstFrame)
orxDLLAPI const orxSTRING orxFASTCALL orxFrame_GetIgnoreFlagNames (orxU32 _u32Flags)
orxDLLAPI orxU32 orxFASTCALL orxFrame_GetIgnoreFlagValues (const orxSTRING _zFlags)
orxDLLAPI orxFRAME *orxFASTCALL orxFrame_GetParent (const orxFRAME *_pstFrame)
orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_GetPosition (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, orxVECTOR *_pvPos)
orxDLLAPI orxFLOAT orxFASTCALL orxFrame_GetRotation (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace)
orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_GetScale (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, orxVECTOR *_pvScale)
orxDLLAPI orxFRAME *orxFASTCALL orxFrame_GetSibling (const orxFRAME *_pstFrame)
orxDLLAPI orxSTATUS orxFASTCALL orxFrame_Init ()
orxDLLAPI orxBOOL orxFASTCALL orxFrame_IsRootChild (const orxFRAME *_pstFrame)
orxDLLAPI void orxFASTCALL orxFrame_SetParent (orxFRAME *_pstFrame, orxFRAME *_pstParent)
orxDLLAPI void orxFASTCALL orxFrame_SetPosition (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, const orxVECTOR *_pvPos)
orxDLLAPI void orxFASTCALL orxFrame_SetRotation (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, orxFLOAT _fRotation)
orxDLLAPI void orxFASTCALL orxFrame_SetScale (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, const orxVECTOR *_pvScale)
orxDLLAPI void orxFASTCALL orxFrame_Setup ()
orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_TransformPosition (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, orxVECTOR *_pvPos)
orxDLLAPI orxFLOAT orxFASTCALL orxFrame_TransformRotation (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, orxFLOAT _fRotation)
orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_TransformScale (orxFRAME *_pstFrame, orxFRAME_SPACE _eSpace, orxVECTOR *_pvScale)

Detailed Description

Frame (scene node) Module. Allows to handles frame (scene nodes). It consists in a nodes (arranged in a hierarchical tree) having their position given in their parent local coordinate subsystem and caching their global one (in the root coordinate system). They're used to give position, rotation & scale to an object or a group of objects. Frames are structures. They thus can be referenced by Object Module.

Macro Definition Documentation

◆ orxFRAME_KU32_FLAG_DEPTH_SCALE

#define orxFRAME_KU32_FLAG_DEPTH_SCALE   0x00000004

Relative depth scaling flag

Definition at line 67 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_NONE

#define orxFRAME_KU32_FLAG_IGNORE_NONE   0x00000000

Rotation, scale and position are affected by parent

Definition at line 69 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_X

#define orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_X   0x00010000

Position is unaffected by parent's position on X axis

Definition at line 80 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Y

#define orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Y   0x00020000

Position is unaffected by parent's position on Y axis

Definition at line 81 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Z

#define orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Z   0x00040000

Position is unaffected by parent's position on Z axis

Definition at line 82 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_POSITION_ROTATION

#define orxFRAME_KU32_FLAG_IGNORE_POSITION_ROTATION   0x00001000

Position is unaffected by parent's rotation

Definition at line 75 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_X

#define orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_X   0x00002000

Position is unaffected by parent's scale on X axis

Definition at line 76 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Y

#define orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Y   0x00004000

Position is unaffected by parent's scale on Y axis

Definition at line 77 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Z

#define orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Z   0x00008000

Position is unaffected by parent's scale on Z axis

Definition at line 78 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_ROTATION

#define orxFRAME_KU32_FLAG_IGNORE_ROTATION   0x00000100

Rotation is unaffected by parent

Definition at line 70 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_SCALE_X

#define orxFRAME_KU32_FLAG_IGNORE_SCALE_X   0x00000200

Scale is unaffected by parent on X axis

Definition at line 71 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_SCALE_Y

#define orxFRAME_KU32_FLAG_IGNORE_SCALE_Y   0x00000400

Scale is unaffected by parent on Y axis

Definition at line 72 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_IGNORE_SCALE_Z

#define orxFRAME_KU32_FLAG_IGNORE_SCALE_Z   0x00000800

Scale is unaffected by parent on Z axis

Definition at line 73 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_NONE

#define orxFRAME_KU32_FLAG_NONE   0x00000000

Frame flags No flags

Definition at line 61 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_SCROLL_X

#define orxFRAME_KU32_FLAG_SCROLL_X   0x00000001

X axis differential scrolling flag

Definition at line 63 of file orxFrame.h.

◆ orxFRAME_KU32_FLAG_SCROLL_Y

#define orxFRAME_KU32_FLAG_SCROLL_Y   0x00000002

Y axis differential scrolling flag

Definition at line 64 of file orxFrame.h.

◆ orxFRAME_KU32_MASK_IGNORE_ALL

#define orxFRAME_KU32_MASK_IGNORE_ALL   0x0007FF00

Rotation, scale and position are unaffected by parent

Definition at line 85 of file orxFrame.h.

◆ orxFRAME_KU32_MASK_IGNORE_POSITION

#define orxFRAME_KU32_MASK_IGNORE_POSITION   0x0007F000

Position is unaffected by parent

Definition at line 84 of file orxFrame.h.

◆ orxFRAME_KU32_MASK_IGNORE_POSITION_POSITION

#define orxFRAME_KU32_MASK_IGNORE_POSITION_POSITION   0x00070000

Position is unaffected by parent's position

Definition at line 83 of file orxFrame.h.

◆ orxFRAME_KU32_MASK_IGNORE_POSITION_SCALE

#define orxFRAME_KU32_MASK_IGNORE_POSITION_SCALE   0x0000E000

Position is unaffected by parent's scale

Definition at line 79 of file orxFrame.h.

◆ orxFRAME_KU32_MASK_IGNORE_SCALE

#define orxFRAME_KU32_MASK_IGNORE_SCALE   0x00000E00

Scale is unaffected by parent

Definition at line 74 of file orxFrame.h.

◆ orxFRAME_KU32_MASK_SCROLL_BOTH

#define orxFRAME_KU32_MASK_SCROLL_BOTH   0x00000003

Both axis differential scrolling mask

Definition at line 65 of file orxFrame.h.

◆ orxFRAME_KU32_MASK_USER_ALL

#define orxFRAME_KU32_MASK_USER_ALL   0x0007FFFF

User all ID mask

Definition at line 87 of file orxFrame.h.

Typedef Documentation

◆ orxFRAME

typedef struct __orxFRAME_t orxFRAME

Internal Frame structure

Definition at line 106 of file orxFrame.h.

Enumeration Type Documentation

◆ orxFRAME_SPACE

Frame space enum

Enumerator
orxFRAME_SPACE_GLOBAL 
orxFRAME_SPACE_LOCAL 
orxFRAME_SPACE_NUMBER 
orxFRAME_SPACE_NONE 

Definition at line 92 of file orxFrame.h.

Function Documentation

◆ orxFrame_Create()

orxDLLAPI orxFRAME *orxFASTCALL orxFrame_Create ( orxU32 _u32Flags)
extern

Creates a frame

Parameters
[in]_u32FlagsFlags for created animation
Returns
Created orxFRAME / orxNULL

◆ orxFrame_Delete()

orxDLLAPI orxSTATUS orxFASTCALL orxFrame_Delete ( orxFRAME * _pstFrame)
extern

Deletes a frame

Parameters
[in]_pstFrameFrame to delete
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFrame_Exit()

orxDLLAPI void orxFASTCALL orxFrame_Exit ( )
extern

Exits from the frame module

◆ orxFrame_GetChild()

orxDLLAPI orxFRAME *orxFASTCALL orxFrame_GetChild ( const orxFRAME * _pstFrame)
extern

Gets frame first child

Parameters
[in]_pstFrameConcerned frame
Returns
orxFRAME / orxNULL

◆ orxFrame_GetIgnoreFlagNames()

orxDLLAPI const orxSTRING orxFASTCALL orxFrame_GetIgnoreFlagNames ( orxU32 _u32Flags)
extern

Get ignore flag names (beware: result won't persist from one call to the other)

Parameters
[in]_u32FlagsLiteral ignore flags
Returns
Ignore flags names

◆ orxFrame_GetIgnoreFlagValues()

orxDLLAPI orxU32 orxFASTCALL orxFrame_GetIgnoreFlagValues ( const orxSTRING _zFlags)
extern

Get ignore flag values

Parameters
[in]_zFlagsLiteral ignore flags
Returns
Ignore flags

◆ orxFrame_GetParent()

orxDLLAPI orxFRAME *orxFASTCALL orxFrame_GetParent ( const orxFRAME * _pstFrame)
extern

Get frame parent

Parameters
[in]_pstFrameConcerned frame
Returns
orxFRAME / orxNULL

◆ orxFrame_GetPosition()

orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_GetPosition ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
orxVECTOR * _pvPos )
extern

Gets frame position

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[out]_pvPosPosition of the given frame
Returns
orxVECTOR / orxNULL

◆ orxFrame_GetRotation()

orxDLLAPI orxFLOAT orxFASTCALL orxFrame_GetRotation ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace )
extern

Gets frame rotation

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
Returns
Rotation of the given frame (radians)

◆ orxFrame_GetScale()

orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_GetScale ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
orxVECTOR * _pvScale )
extern

Gets frame scale

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[out]_pvScaleScale
Returns
orxVECTOR / orxNULL

◆ orxFrame_GetSibling()

orxDLLAPI orxFRAME *orxFASTCALL orxFrame_GetSibling ( const orxFRAME * _pstFrame)
extern

Gets frame next sibling

Parameters
[in]_pstFrameConcerned frame
Returns
orxFRAME / orxNULL

◆ orxFrame_Init()

orxDLLAPI orxSTATUS orxFASTCALL orxFrame_Init ( )
extern

Inits the frame module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE

◆ orxFrame_IsRootChild()

orxDLLAPI orxBOOL orxFASTCALL orxFrame_IsRootChild ( const orxFRAME * _pstFrame)
extern

Is a root child?

Parameters
[in]_pstFrameConcerned frame
Returns
orxTRUE if its parent is root, orxFALSE otherwise

◆ orxFrame_SetParent()

orxDLLAPI void orxFASTCALL orxFrame_SetParent ( orxFRAME * _pstFrame,
orxFRAME * _pstParent )
extern

Sets frame parent

Parameters
[in]_pstFrameConcerned frame
[in]_pstParentParent frame to set

◆ orxFrame_SetPosition()

orxDLLAPI void orxFASTCALL orxFrame_SetPosition ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
const orxVECTOR * _pvPos )
extern

Sets frame position

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[in]_pvPosPosition to set

◆ orxFrame_SetRotation()

orxDLLAPI void orxFASTCALL orxFrame_SetRotation ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
orxFLOAT _fRotation )
extern

Sets frame rotation

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[in]_fRotationRotation angle to set (radians)

◆ orxFrame_SetScale()

orxDLLAPI void orxFASTCALL orxFrame_SetScale ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
const orxVECTOR * _pvScale )
extern

Sets frame scale

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[in]_pvScaleScale to set

◆ orxFrame_Setup()

orxDLLAPI void orxFASTCALL orxFrame_Setup ( )
extern

Setups the frame module

◆ orxFrame_TransformPosition()

orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_TransformPosition ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
orxVECTOR * _pvPos )
extern

Transforms a position given its input space (local -> global or global -> local)

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceInput coordinate space system to use
[out]_pvPosConcerned position
Returns
orxVECTOR / orxNULL

◆ orxFrame_TransformRotation()

orxDLLAPI orxFLOAT orxFASTCALL orxFrame_TransformRotation ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
orxFLOAT _fRotation )
extern

Transforms a rotation given its input space (local -> global or global -> local)

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceInput coordinate space system to use
[out]_fRotationConcerned rotation
Returns
Transformed rotation (radians)

◆ orxFrame_TransformScale()

orxDLLAPI orxVECTOR *orxFASTCALL orxFrame_TransformScale ( orxFRAME * _pstFrame,
orxFRAME_SPACE _eSpace,
orxVECTOR * _pvScale )
extern

Transforms a scale given its input space (local -> global or global -> local)

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceInput coordinate space system to use
[out]_pvScaleConcerned scale
Returns
orxVECTOR / orxNULL

Generated for orx by doxygen 1.8.11