[MOAB-dev] get_adjacencies of same dim

Grindeanu, Iulian R. iulian at mcs.anl.gov
Mon Jan 27 17:10:45 CST 2014


I think you found something;
In the code, when the target dimension is the same as source dimension, we return just the entity.
AEntityFactory.cpp:
...
 599   else if (source_dimension == target_dimension) {
 600     target_entities.push_back( source_entity );
 601     result = MB_SUCCESS;
 602   }
 603   else {

As a workaround, you probably want to go through edges/vertices, and from edges/vertices get the adjacent triangles.

Tim, should we change the behavior and return all adjacent triangles? I know that there is a discussion in iMesh too about that.

Iulian
________________________________
From: Patrick Shriwise [shriwise at wisc.edu]
Sent: Monday, January 27, 2014 4:33 PM
To: Grindeanu, Iulian R.
Cc: moab-dev at mcs.anl.gov
Subject: Re: [MOAB-dev] get_adjacencies of same dim

On 01/27/2014 04:24 PM, Grindeanu, Iulian R. wrote:

hello,
are you using the last parameter / flag to the get_adjacency? By default it is intersect.
maybe you want "union" of the input ?

 virtual ErrorCode get_adjacencies(const Range &from_entities,
                                         const int to_dimension,
                                         const bool create_if_missing,
                                         Range &adj_entities,
                                         const int operation_type = Interface::INTERSECT);

What are you getting and you do not expect it?
Iulian
________________________________________
From: moab-dev-bounces at mcs.anl.gov<mailto:moab-dev-bounces at mcs.anl.gov> [moab-dev-bounces at mcs.anl.gov<mailto:moab-dev-bounces at mcs.anl.gov>] on behalf of Patrick Shriwise [shriwise at wisc.edu<mailto:shriwise at wisc.edu>]
Sent: Monday, January 27, 2014 4:08 PM
To: moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>
Subject: [MOAB-dev] get_adjacencies of same dim

Hey all,

Quick question. Working on a couple tests for ReadCGM and calling for
the adjacencies of an entity which are the same dimension of the entity
itself but I'm not getting the result I'm expecting. Any this special to
know in this case?

Cheers,

--
Patrick C. Shriwise
Research Assistant
University of Wisconsin - Madison
Engineering Research Building - Rm. 428
1500 Engineering Drive
Madison, WI 53706
(608) 446-8173



I'm calling for the adjacencies of a triangle which I would expect to return a vector of entity handles of size 3, but it seems to be returning a vector of size 1.

To be specific I'm using:



virtual ErrorCode get_adjacencies(const Range &from_entities,
                                         const int to_dimension,
                                         const bool create_if_missing,
                                         std::vector<EntityHandle> &adj_entities,
                                         const int operation_type = Interface::INTERSECT);

and here's my call: get_adjacencies( tri, 1, 2, false, adj_tris);


--
Patrick C. Shriwise
Research Assistant
University of Wisconsin - Madison
Engineering Research Building - Rm. 428
1500 Engineering Drive
Madison, WI 53706
(608) 446-8173

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20140127/32db5be7/attachment.html>


More information about the moab-dev mailing list