A3DTopoItemOwnersManagerGet

A3DStatus A3DTopoItemOwnersManagerGet(const A3DRiRepresentationItem *pBrepOwner, A3DTopoItemOwnersManager **ppTopoItemOwnersManager)
A3DStatus A3DTopoItemOwnersManagerGet(const A3DRiRepresentationItem* pBrepOwner, A3DTopoItemOwnersManager** ppTopoItemOwnersManager)

Structure for storing topology items owners.

5.0 Methods and structures dedicated to managing the link between topology items and their owner(s).

Creates manager of topology items fron an A3DRiRepresentationItem

5.0

This function creates a map, on request, between topological items and linked lists of owners. When the map is built, the function A3DTopoItemOwnersGet() lets you retrieve owners of specific topological item. For example, if you need the faces owner of edges, first you build your map, then you retrieve the owner list for each edge. The following code shows how to use it.

//mapcreation
A3DTopoItemOwnersManager*pTopologyOwnersManager=NULL;
if(A3DTopoItemOwnersManagerGet(pBrepOwner,pTopologyOwnersManager)!=A3D_SUCCESS)
returnA3D_ERROR;
if(pTopologyOwnersManager==NULL)
returnA3D_ERROR;

//edgeowners=CoEdge
A3DTopoItemOwner*pOwningCoEdge=NULL;
A3DTopoItemOwnersGet(pTopologyOwnersManager,pEdge,pOwningCoEdge);
while(pOwningCoEdge!=NULL)
{
//coedgeowners=Loop
A3DTopoItemOwner*pOwningLoop=NULL;
A3DTopoItemOwnersGet(pTopologyOwnersManager,pOwningCoEdge->m_pTopoItem,pOwningLoop);
while(pOwningLoop!=NULL)
{
//Loopowners=face
A3DTopoItemOwner*pOwingFace=NULL;
A3DTopoItemOwnersGet(pTopologyOwnersManager,pOwningLoop->m_pTopoItem,pOwingFace);
while(pOwingFace!=NULL)
{
if(A3DEntityGetType(pOwingFace->m_pTopoItem,&entityType)!=A3D_SUCCESS)
returnA3D_ERROR;
if(entityType!=kA3DTypeTopoFace)
returnA3D_ERROR;

pOwingFace=pOwingFace->m_pNext;
}
pOwningLoop=pOwningLoop->m_pNext;
}
pOwningCoEdge=pOwningCoEdge->m_pNext;
}

Note that, if A3DTopoItemOwnersManagerGet is called several times with the same representation item, the map is not recomputed; and if the representation item is null, the map is released.

Returns

A3D_SUCCESS on success, or an error code on failure