# 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=A3D_NULL_HANDLE;
      if(A3DTopoItemOwnersManagerGet(pBrepOwner,pTopologyOwnersManager)!=A3D_SUCCESS)
      returnA3D_ERROR;
      if(pTopologyOwnersManager==A3D_NULL_HANDLE)
      returnA3D_ERROR;

      //edgeowners=CoEdge
      A3DTopoItemOwner*pOwningCoEdge=A3D_NULL_HANDLE;
      A3DTopoItemOwnersGet(pTopologyOwnersManager,pEdge,pOwningCoEdge);
      while(pOwningCoEdge!=A3D_NULL_HANDLE)
      {
      //coedgeowners=Loop
      A3DTopoItemOwner*pOwningLoop=A3D_NULL_HANDLE;
      A3DTopoItemOwnersGet(pTopologyOwnersManager,pOwningCoEdge->m_pTopoItem,pOwningLoop);
      while(pOwningLoop!=A3D_NULL_HANDLE)
      {
      //Loopowners=face
      A3DTopoItemOwner*pOwingFace=A3D_NULL_HANDLE;
      A3DTopoItemOwnersGet(pTopologyOwnersManager,pOwningLoop->m_pTopoItem,pOwingFace);
      while(pOwingFace!=A3D_NULL_HANDLE)
      {
      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 A3D_NULL_HANDLE, the map is released.

  Returns

  > `A3D_SUCCESS`on success, or an error code on failure

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Exchange in your own language, or choose a sample question below to start a conversation:

What is HOOPS Exchange?
What are the latest release notes for HOOPS Exchange?
How do I start evaluating HOOPS Exchange?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...