orx  stable
Portable Game Engine
OrxFrame

Macros

#define orxFRAME_KU32_FLAG_DEPTH_SCALE   0x00000004
 
#define orxFRAME_KU32_FLAG_FLIP_X   0x00000010
 
#define orxFRAME_KU32_FLAG_FLIP_Y   0x00000020
 
#define orxFRAME_KU32_FLAG_NONE   0x00000000
 
#define orxFRAME_KU32_FLAG_SCROLL_X   0x00000001
 
#define orxFRAME_KU32_FLAG_SCROLL_Y   0x00000002
 
#define orxFRAME_KU32_MASK_FLIP_BOTH   0x00000030
 
#define orxFRAME_KU32_MASK_SCROLL_BOTH   0x00000003
 
#define orxFRAME_KU32_MASK_USER_ALL   0x000000FF
 

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 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

#define orxFRAME_KU32_FLAG_DEPTH_SCALE   0x00000004

Relative depth scaling flag

Definition at line 67 of file orxFrame.h.

#define orxFRAME_KU32_FLAG_FLIP_X   0x00000010

X axis flipping flag

Definition at line 69 of file orxFrame.h.

#define orxFRAME_KU32_FLAG_FLIP_Y   0x00000020

Y axis flipping flag

Definition at line 70 of file orxFrame.h.

#define orxFRAME_KU32_FLAG_NONE   0x00000000

Frame flagsNo flags

Definition at line 61 of file orxFrame.h.

#define orxFRAME_KU32_FLAG_SCROLL_X   0x00000001

X axis differential scrolling flag

Definition at line 63 of file orxFrame.h.

#define orxFRAME_KU32_FLAG_SCROLL_Y   0x00000002

Y axis differential scrolling flag

Definition at line 64 of file orxFrame.h.

#define orxFRAME_KU32_MASK_FLIP_BOTH   0x00000030

Both axis flippinf mask

Definition at line 71 of file orxFrame.h.

#define orxFRAME_KU32_MASK_SCROLL_BOTH   0x00000003

Both axis differential scrolling mask

Definition at line 65 of file orxFrame.h.

#define orxFRAME_KU32_MASK_USER_ALL   0x000000FF

User all ID mask

Definition at line 73 of file orxFrame.h.

Typedef Documentation

typedef struct __orxFRAME_t orxFRAME

Internal Frame structure

Definition at line 92 of file orxFrame.h.

Enumeration Type Documentation

Frame space enum

Enumerator
orxFRAME_SPACE_GLOBAL 
orxFRAME_SPACE_LOCAL 
orxFRAME_SPACE_NUMBER 
orxFRAME_SPACE_NONE 

Definition at line 78 of file orxFrame.h.

Function Documentation

orxDLLAPI orxFRAME* orxFASTCALL orxFrame_Create ( orxU32  _u32Flags)

Creates a frame

Parameters
[in]_u32Flagsflags for created animation
Returns
Created orxFRAME / orxNULL
orxDLLAPI orxSTATUS orxFASTCALL orxFrame_Delete ( orxFRAME _pstFrame)

Deletes a frame

Parameters
[in]_pstFrameFrame to delete
Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI void orxFASTCALL orxFrame_Exit ( )

Exits from the frame module

orxDLLAPI orxFRAME* orxFASTCALL orxFrame_GetChild ( const orxFRAME _pstFrame)

Gets frame first child

Parameters
[in]_pstFrameConcerned frame
Returns
orxFRAME / orxNULL
orxDLLAPI orxFRAME* orxFASTCALL orxFrame_GetParent ( const orxFRAME _pstFrame)

Get frame parent

Parameters
[in]_pstFrameConcerned frame
Returns
orxFRAME / orxNULL
orxDLLAPI orxVECTOR* orxFASTCALL orxFrame_GetPosition ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace,
orxVECTOR _pvPos 
)

Gets frame position

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[out]_pvPosPosition of the given frame
Returns
orxVECTOR / orxNULL
orxDLLAPI orxFLOAT orxFASTCALL orxFrame_GetRotation ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace 
)

Gets frame rotation

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
Returns
Rotation of the given frame (radians)
orxDLLAPI orxVECTOR* orxFASTCALL orxFrame_GetScale ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace,
orxVECTOR _pvScale 
)

Gets frame scale

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[out]_pvScaleScale
Returns
orxVECTOR / orxNULL
orxDLLAPI orxFRAME* orxFASTCALL orxFrame_GetSibling ( const orxFRAME _pstFrame)

Gets frame next sibling

Parameters
[in]_pstFrameConcerned frame
Returns
orxFRAME / orxNULL
orxDLLAPI orxSTATUS orxFASTCALL orxFrame_Init ( )

Inits the frame module

Returns
orxSTATUS_SUCCESS / orxSTATUS_FAILURE
orxDLLAPI orxBOOL orxFASTCALL orxFrame_IsRootChild ( const orxFRAME _pstFrame)

Is a root child?

Parameters
[in]_pstFrameConcerned frame
Returns
orxTRUE if its parent is root, orxFALSE otherwise
orxDLLAPI void orxFASTCALL orxFrame_SetParent ( orxFRAME _pstFrame,
orxFRAME _pstParent 
)

Sets frame parent

Parameters
[in]_pstFrameConcerned frame
[in]_pstParentParent frame to set
orxDLLAPI void orxFASTCALL orxFrame_SetPosition ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace,
const orxVECTOR _pvPos 
)

Sets frame position

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[in]_pvPosPosition to set
orxDLLAPI void orxFASTCALL orxFrame_SetRotation ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace,
orxFLOAT  _fRotation 
)

Sets frame rotation

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[in]_fRotationRotation angle to set (radians)
orxDLLAPI void orxFASTCALL orxFrame_SetScale ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace,
const orxVECTOR _pvScale 
)

Sets frame scale

Parameters
[in]_pstFrameConcerned frame
[in]_eSpaceCoordinate space system to use
[in]_pvScaleScale to set
orxDLLAPI void orxFASTCALL orxFrame_Setup ( )

Setups the frame module

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

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
orxDLLAPI orxFLOAT orxFASTCALL orxFrame_TransformRotation ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace,
orxFLOAT  _fRotation 
)

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)
orxDLLAPI orxVECTOR* orxFASTCALL orxFrame_TransformScale ( orxFRAME _pstFrame,
orxFRAME_SPACE  _eSpace,
orxVECTOR _pvScale 
)

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.5.6