IFXNode

The IFXNode interface exposes services to construct transformation and grouping hierarchies of objects within a scene. Nodes maintain an arbitrary number of child node references, and a reference to a single parent node. Nodes with multiple children aggregate the child data.

IFXNode inherits the IFXMarker and IFXCom interfaces.

Interface Methods

Description

GetDebugFlags

Gets debug flags

SetDebugFlags

Sets debug flags

AddModifierParam

Returns a pointer to a ModifierParameter that will be added

GetNextModifierParam

Gets the next ModifierParameter

SetNextModifierParam

Sets the next ModifierParameter

Bin

Returns the rendering parameters for a node

CullAndBin

Returns the rendering parameters for a node

Bin1

Returns the rendering parameters for a node

CullAndBin1

Returns the rendering parameters for a node

BuildModelList

Returns a list of models

BuildModelListPhysics

Returns a list of the models' physics properties

Copy

Returns a pointer to the node to be copied

Counter

Returns the number of nodes

Destroy

Returns counter to zero

GetBoundingSphere

Returns a pointer to a scenegraph bounding sphere

GetFirstChild

Returns a pointer to the first child node

GetLastWorldMatrix

Returns a pointer to the last world matrix used

GetMatrix

Returns a pointer to the matrix

GetMatrix

Returns a pointer to the matrix with reference to a node

GetMatrixRef

Returns a pointer to the matrix reference

GetWorldMatrixRef

Returns a pointer to the world matrix reference

GetNumberOfChildren

Lists the number of children nodes of a particular node

GetSceneGraph

Returns a pointer to the scenegraph being generated

GetSiblingNext

Returns a pointer to the node's next sibling

GetParent

Returns a pointer to the node's parent

GetPosition

Returns a pointer to the node's position

GetPreviousSibling

Returns a pointer to the previous sibling node

GetUserPropertyList

Returns a pointer to the User Property List

GetWorldMatrix

Returns a pointer to the World Matrix

GetWorldPosition

Returns a reference to the World position

Incorporate

Returns a pointer to the IFXSGVector to be incorporated

NodeVisibility

Returns a pointer to the IFXView to be visible

Pick

Pointer to the IFXModel to be picked

PickNext

Pointer to the IFXModel to be picked next

Prune

Cuts hierarchy relationships

Render

Pointer to the render layer, light, and view

ResolveBoundingHierarchy

Resolves bounding hierarchy

SetFirstChild

Sets the first child node

SetMatrix

Sets the scenegraph matrix

SetNextSibling

Sets the next sibling node

SetParent

Sets the node that will act as parent

SetParentOnly

Sets the parent node

SetPosition

Sets the node's position

SetPreviousSibling

Sets the previous sibling node

SetUserPropertyList

Sets the User Property List

GetPhysicsModelGroup

Returns the pointer to the PhysicsModelGroup


IFXNode::GetDebugFlags()

This method gets debug flags.

Parameters:

None

Return Values:

U32


IFXNode::SetDebugFlags(U32 uInDebugFlags)

This method sets debug flags.

Parameters:

uInDebugFlags

Debug flag IDs

Return Values:

None


IFXNode::AddModifierParam(IFXModifierParam* pIn)

This method returns a pointer to a ModifierParameter that will be added.

Parameters:

pIn

Pointer to the IFXModifierParam to be added

Return Values


IFXNode::GetNextModifierParam()

This method gets the next ModifierParameter.

Parameters:

None

Return Values:

IFXModifierParam*


IFXNode::SetNextModifierParam(IFXModifierParam* pIn )

This method sets the next ModifierParameter.

Parameters:

pIn

Pointer to the next IFXModifierParam to add

Return Values:

None


IFXNode::Bin( IFXRenderLayer* pRenderLayer,U32 InNumberOfLights,IFXLight* InLightList[],IFXView* pInView,IFXNode** ppNextCullNode )

This method returns the rendering parameters for a node.

Parameters:

pRenderLayer

Pointer to the IFXRenderLayer

InNumberOfLights

Number of lights

InLightList[]

IFXLight in the list

pInView

Pointer to the IFXView

ppNextCullNode

Pointer to the next IFXNode to add

Return Values:

None


IFXNode::CullAndBin( IFXRenderLayer* pRenderLayer, U32 InNumberOfLights, IFXLight* pInLightList[],IFXView* pInView,IFXNode** ppNextCullNode)

This method returns the rendering parameters for a node.

Parameters:

pRenderLayer

Pointer to the IFXRenderLayer

InNumberOfLights

Number of lights

InLightList[]

IFXLight in the list

pInView

Pointer to the IFXView

ppNextCullNode

Pointer to the next IFXNode to add

Return Values:

None


IFXNode::Bin( IFXRenderLayer* pRenderLayer,U32 uInNumberOfLights, IFXLight* pInLightList[], IFXView* pInView)

This method returns the rendering parameters for a node.

Parameters:

pRenderLayer

Pointer to the IFXRenderLayer

InNumberOfLights

Number of lights

InLightList[]

IFXLight in the list

pInView

Pointer to the IFXView

Return Values:

None


IFXNode::CullAndBin( IFXRenderLayer* pRenderLayer,U32 uInNumberOfLights,IFXLight* pInLightList[],IFXView* pInView )

This method returns the rendering parameters for a node.

Parameters:

pRenderLayer

Pointer to the IFXRenderLayer

InNumberOfLights

Number of lights

InLightList[]

IFXLight in the list

pInView

Pointer to the IFXView

Return Values:

None


IFXNode::BuildModelList( )

This method returns a list of models.

Parameters:

None

Return Values:

None


IFXNode::BuildModelListPhysics( )

This method returns a list of the models' physics properties.

Parameters:

None

Return Values:

None


IFXNode::Copy( BOOL recursive, IFXNode** ppNode )

This method returns a pointer to the node to be copied.

Parameters:

recursive

Is the copy recursive or not

ppNode

Pointer to the IFXNode to copy

Return Values


IFXNode::Counter( EIFXNodeCounterType type, U32* puOutCount )

This method returns the number of nodes.

Parameters:

type

Type of node

puOutCount

Number of nodes

Return Values:

None


IFXNode::Destroy( )

This method returns counter to zero.

Parameters:

None

Return Values


IFXNode::GetBoundingSphere( IFXSGVector* pSphere)

This method returns a pointer to a scenegraph bounding sphere.

Parameters:

pSphere

Pointer to the scenegraph bounding sphere

Return Values


IFXNode::GetFirstChild( IFXNode** ppChildNode)

This method returns a pointer to the first child node.

Parameters:

ppChildNode

Pointer to the child node

Return Values


IFXNode::GetLastWorldMatrix( IFXSGMatrix* pLastWorldMatrix)

This method returns a pointer to the last world matrix used.

Parameters:

pLastWorldMatrix

Pointer to the WorldMatrix last obtained

Return Values


IFXNode::GetMatrix( IFXSGMatrix* pMatrix)

This method returns a pointer to the matrix.

Parameters:

pMatrix

Pointer to the Matrix

Return Values


IFXNode::GetMatrix( IFXNode* ppReferenceNode, IFXSGMatrix* pMatrix)

This method returns a pointer to the matrix with reference to a node.

Parameters:

ppReferenceNode

Pointer to the reference node

pMatrix

Pointer to the Matrix

Return Values


IFXNode::GetMatrixRef( IFXSGMatrix** pMatrix)

This method returns a pointer to the matrix reference.

Parameters:

pMatrix

Pointer to the Matrix

Return Values


IFXNode::GetWorldMatrixRef( IFXSGMatrix** pWorldMatrix)

This method returns a pointer to the world matrix reference.

Parameters:

pWorldMatrix

Pointer to the WorldMatrix

Return Values


IFXNode::GetNumberOfChildren( BOOL bInDeepCount, U32* puOutCount)

This method lists the number of children nodes of a particular node.

Parameters:

bInDeepCount

Indicates whether there are children

puOutCount

The number of children

Return Values


IFXNode::GetSceneGraph( IFXSceneGraph** ppOutSceneGraph)

This method returns a pointer to the scenegraph being generated.

Parameters:

ppOutSceneGraph

Pointer to the IFXSceneGraph being created

Return Values


IFXNode::GetSiblingNext( IFXNode** ppNextNode)

This method returns a pointer to the node's next sibling.

Parameters:

ppNextNode

Pointer to the sibling node

Return Values


IFXNode::GetParent( IFXNode** ppParentNode)

This method returns a pointer to the node's parent.

Parameters:

ppParentNode

Pointer to the parent node

Return Values


IFXNode::GetPosition()

This method returns a pointer to the node's position.

Parameters:

None

Return Values:

const IFXSGVector&


IFXNode::GetPreviousSibling( IFXNode** ppPreviousNode)

This method returns a pointer to the previous sibling node.

Parameters:

ppPreviousNode

Pointer to the previous sibling node

Return Values


IFXNode::GetUserPropertyList( IFXUserPropertyList** ppUserPropertyList)

Parameters:

ppUserPropertyList

Pointer to the UserPropertyList

Return Values


IFXNode::GetWorldMatrix( IFXSGMatrix* pWorldMatrix)

This method returns a pointer to the World Matrix.

Parameters:

pWorldMatrix

Pointer to the WorldMatrix

Return Values


IFXNode::GetWorldPosition()

This method returns a reference to the World Position.

Parameters:

None

Return Values:

const IFXSGVector&


IFXNode::Incorporate( IFXSGVector* pvInBound)

Parameters:

pvInBound

Pointer to the IFXSGVector to be incorporated

Return Values:

None


IFXNode::NodeVisibility( IFXView* pInView )

Parameters:

pInView

Pointer to the IFXView to be visible

Return Values:

IFXNode:Visibility


IFXNode::Pick( IFXSGVector position, IFXSGVector direction, IFXModel*** pppPickedModelList,U32* puNumModels)

Parameters:

position

IFXSGVector position

direction

IFXSGVector direction

pppPickedModelList

List of IFXModels

puNumModels

Number of IFXModels

Return Values


IFXNode::PickNext( IFXModel** ppPickedModel)

Parameters:

ppPickedModel

Pointer to the IFXModel to be picked next

Return Values


IFXNode::Prune( )

Parameters:

None

Return Values


IFXNode::Render( IFXRenderLayer* pRenderLayer,U32 uInNumberOfLights,IFXLight* pInLightList[],IFXView* pInView )

Parameters:

pRenderLayer

Pointer to the IFXRenderLayer

InNumberOfLights

Number of lights

InLightList[]

IFXLight in the list

pInView

Pointer to the IFXView

Return Values


IFXNode::ResolveBoundingHierarchy( )

Parameters:

None

Return Values


IFXNode::SetFirstChild( IFXNode* pNode )

Parameters:

pNode

Pointer to the child node

Return Values


IFXNode::SetMatrix( IFXSGMatrix* pMatrix )

Parameters:

pMatrix

Pointer to the scenegraph matrix

Return Values


IFXNode::SetNextSibling( IFXNode* pNode )

Parameters:

pNode

Pointer to the sibling node

Return Values


IFXNode::SetParent( IFXNode* pNode )

Parameters:

pNode

Pointer to the node that will act as parent

Return Values


IFXNode::SetParentOnly(IFXNode* pParentNode)

Parameters:

pParentNode

Pointer to the parent node

Return Values


IFXNode::SetPosition( IFXSGVector* pPosition )

Parameters:

pPosition

Pointer to the vector position

Return Values


IFXNode::SetPreviousSibling( IFXNode* pNode )

Parameters:

pNode

Pointer to the sibling node

Return Values


IFXNode::SetUserPropertyList( IFXUserPropertyList* pPropList )

Parameters:

pPropList

Pointer to the UserPropertyList

Return Values


IFXNode::GetPhysicsModelGroup(IFXModelGroup** ppPhysicsModelGroup)

Parameters:

ppPhysicsModelGroup

Pointer to the PhysicsModelGroup

Return Values

§See asterisked (*) statement at Legal Information © 2001 Intel Corporation.