IFXNeighborResController

The IFXNeighborResController interface maintains original boundaries of vertices, even though the faces are adjacent in low resolutions. Vertex merging often joins edges from separate meshes.

Interface Method

Description

InitMesh

Generates a multiresolution neighbor mesh

Initialize

Initializes resolution controller with a multiresolution neighbor mesh that is ready for multires operations

GetDistalEdgeMerges

Gets the distal edge merge list for a resolution

SetDistalEdgeMerges

Sets the distal edge merge list for a resolution

AllocateDistalEdgeRecord

Allocates an empty distal edge merge record for the purpose of creating a distal edge merge list

SetResolution

Sets the resolution

IncreaseResolution

Increases the resolution

DecreaseResolution

Decreases the resolution

~IFXNeighborResControllerInterface

Class destructor


IFXNeighborResController::InitMesh(IFXMeshGroup* pMeshGroup,IFXMultiResManagerInterface* pMultiResManager,IFXNeighborMesh* pNeighborMesh,IFXUpdatesGroup* pUpdatesGroup,IFXVertexMapGroup* pVertexMapGroup)

This method generates a multiresolution neighbor mesh.

Parameters:

pMeshGroup

Pointer to the IFXMeshGroup

pMultiResManager

Pointer to the IFXMultiResManagerInterface

pNeighborMesh

Pointer to the IFXNeighborMesh

pUpdatesGroup

Pointer to the IFXUpdatesGroup

pVertexMapGroup

Pointer to the IFXVertexMapGroup

Return Values


IFXNeighborResController::Initialize(IFXNeighborMesh* pNeighborMesh, IFXUpdatesGroup* pUpdatesGroup)

This method initializes resolution controller with a multiresolution neighbor mesh that is ready for multires operations. This is used in conjunction with progressive download of multires neighbor mesh. Requires setting distal edge merge records as appropriate.

Parameters:

pNeighborMesh

Pointer to the IFXNeighborMesh

pUpdatesGroup

Pointer to the IFXUpdatesGroup

Return Values


IFXNeighborResController::GetDistalEdgeMerges(U32 resolution)

This method gets the distal edge merge list for a resolution; returns NULL if no edge merges.

Parameters:

resolution

Resolution value

Return Values:

IFXDistalEdgeMerge*


IFXNeighborResController::SetDistalEdgeMerges(U32 resolution, IFXDistalEdgeMerge* pList)

This method sets the list of distal edge merges for a resolution; pList can be NULL.

Parameters:

resolution

Resolution value

pList

Pointer to the IFXDistalEdgeMerge object

Return Values:

None

Comment:

The m_otherVertex value is not used (set it to 0). The distal edge records are allocated by calling AllocateDistalEdgeRecord() and are freed by the destructor.


IFXNeighborResController::AllocateDistalEdgeRecord()

This method allocates an empty distal edge merge record for the purpose of creating a distal edge merge list.

Parameters:

None

Return Values:

IFXDistalEdgeMerge*


IFXNeighborResController::SetResolution(U32 resolution)

This method sets the resolution.

Parameters:

resolution

Resolution value

Return Values:

None


IFXNeighborResController::IncreaseResolution()

This method increases the resolution.

Parameters:

None

Return Values:

None


IFXNeighborResController::DecreaseResolution()

This method decreases the resolution.

Parameters:

None

Return Values:

None


IFXNeighborResController::~IFXNeighborResControllerInterface()

Class destructor.

Parameters:

None

Return Values:

None

 

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